On 17/04/08 at 18:39 +0200, David Bremner wrote:
>
> I have successfully built sketch 0.2.59-3 in an amd64 sid qemubuilder with
> gcc 4.2 and gcc 4.3.
>
> Any ideas for how to test? I guess I can install a real amd64 system
> and make an i386 chroot. If the problem is with building in an i386
> chroot on amd64 is that still an RC bug?
Hi,
It seems that the problem is only triggered when building with gcc-4.3
from i386, and running on an x86_64 CPU. I could reproduce the problem
by building locally, and testing on pergolesi. I also tested on an Intel
x86_64 CPU (Xeon), and the problem is also reproduced, so it's not
specific to Opterons.
I think that there's a bug in sketch, that is always there, but only
triggered in that specific case (at least with those examples). A binary
generated by gcc 4.2 is not affected, but that's probably because gcc
4.3 optimises something away, triggering the bug.
Interesting output:
Running on amd64, with a binary generated by gcc 4.3
pastel-53:/tmp/sketch-0.2.59/Doc# ../sketch -D ex070 manexamples.sk
truncatedcone.sk(4) : warning, vector 'I' is never referenced
truncatedcone.sk(7) : warning, vector 'K' is never referenced
truncatedcone.sk(4) : warning, vector 'I' is never referenced
truncatedcone.sk(7) : warning, vector 'K' is never referenced
summary: 4 warning
remark, node=1 probe=0.0 swap=0 split=0 (in=0 out=0) ols=0/0
remark, scene bb=(-1,0)(1,nan)
remark, writing 1 objects
% Sketch output, version 0.2 (build 59d, Thu Apr 17 22:45:56 2008)
% Output language: PSTricks,LaTeX
\psset{linewidth=.3pt}
\begin{pspicture}(-1,0)(1,nan)
\pstVerb{1 setlinejoin}
\psline(1,0)(.924,.383)(.707,.707)(.383,.924)(0,1)(-.383,.924)(-.707,.707)(-.924,.383)(-1,0)
\end{pspicture}% End sketch output
=> bug triggered.
Now, same binary, same system, running inside valgrind:
pastel-53:/tmp/sketch-0.2.59/Doc# valgrind ../sketch -D ex070 manexamples.sk
==13605== Memcheck, a memory error detector.
==13605== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==13605== Using LibVEX rev 1804, a library for dynamic binary translation.
==13605== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==13605== Using valgrind-3.3.0-Debian, a dynamic binary instrumentation
framework.
==13605== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==13605== For more details, rerun with: -v
==13605==
truncatedcone.sk(4) : warning, vector 'I' is never referenced
truncatedcone.sk(7) : warning, vector 'K' is never referenced
truncatedcone.sk(4) : warning, vector 'I' is never referenced
truncatedcone.sk(7) : warning, vector 'K' is never referenced
summary: 4 warning
remark, node=1 probe=0.0 swap=0 split=0 (in=0 out=0) ols=0/0
==13605== Conditional jump or move depends on uninitialised value(s)
==13605== at 0x804F16C: fold_min_max_pt_3d (geometry.c:398)
==13605== by 0x8055061: get_extent_of_line (scene.c:1548)
==13605== by 0x80550F9: get_extent (scene.c:1618)
==13605== by 0x804BBEC: emit (emit.c:779)
==13605== by 0x8053B8D: main (main.c:99)
remark, scene bb=(-1,0)(1,1)
remark, writing 1 objects
% Sketch output, version 0.2 (build 59d, Thu Apr 17 22:45:56 2008)
% Output language: PSTricks,LaTeX
\psset{linewidth=.3pt}
\begin{pspicture}(-1,0)(1,1)
\pstVerb{1 setlinejoin}
==13605==
==13605== Conditional jump or move depends on uninitialised value(s)
==13605== at 0x804F147: fold_min_max_pt_3d (geometry.c:378)
==13605== by 0x8055061: get_extent_of_line (scene.c:1548)
==13605== by 0x8054F30: xy_overlap_p (scene.c:1637)
==13605== by 0x804BD7E: emit (emit.c:822)
==13605== by 0x8053B8D: main (main.c:99)
==13605==
==13605== Conditional jump or move depends on uninitialised value(s)
==13605== at 0x804F16C: fold_min_max_pt_3d (geometry.c:398)
==13605== by 0x8055061: get_extent_of_line (scene.c:1548)
==13605== by 0x8054F30: xy_overlap_p (scene.c:1637)
==13605== by 0x804BD7E: emit (emit.c:822)
==13605== by 0x8053B8D: main (main.c:99)
\psline(1,0)(.924,.383)(.707,.707)(.383,.924)(0,1)(-.383,.924)(-.707,.707)(-.924,.383)(-1,0)
\end{pspicture}% End sketch output
==13605==
==13605== ERROR SUMMARY: 36 errors from 3 contexts (suppressed: 13 from 1)
==13605== malloc/free: in use at exit: 116,882 bytes in 2,555 blocks.
==13605== malloc/free: 3,834 allocs, 1,279 frees, 322,352 bytes allocated.
==13605== For counts of detected errors, rerun with: -v
==13605== searching for pointers to 2,555 not-freed blocks.
==13605== checked 117,132 bytes.
==13605==
==13605== LEAK SUMMARY:
==13605== definitely lost: 97,376 bytes in 2,535 blocks.
==13605== possibly lost: 79 bytes in 1 blocks.
==13605== still reachable: 19,427 bytes in 19 blocks.
==13605== suppressed: 0 bytes in 0 blocks.
==13605== Rerun with --leak-check=full to see details of leaked memory.
=> bug not triggered, but errors.
--
| Lucas Nussbaum
| [EMAIL PROTECTED] http://www.lucas-nussbaum.net/ |
| jabber: [EMAIL PROTECTED] GPG: 1024D/023B3F4F |
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]