On Mon, Jun 12, 2006 at 12:16:29AM +0200, Steinar H. Gunderson wrote: > Note that so far, hppa/mipsel/powerpc/alpha/sparc/arm has failed, but > amd64/ia64/mips/s390 has done just fine; IOW this isn't alpha-specific. (I've > tested on my own amd64 and i386 machines, and both do just fine.)
Scrap the last part; it's actually _random_. I'm not really sure how much I like the concept of randomized testing for this kind of thing; it's completely impossible to find out when the bug really surfaced. Sometimes it works (but it gives different values every time), sometimes it gives a test failure ("list reversal produced incorrect list - collector is broken") and sometimes it just segfaults. It's all rather unpredictable... Anyhow, I pushed this through valgrind ("LD_LIBRARY_PATH=.libs valgrind .libs/gctest") on amd64, and it seems to have a few conditional jumps depending on uninitialized values -- the code seems to indicate that might be normal, though, but it's hard to say. What's worse is the segfault: ==27705== Invalid read of size 4 ==27705== at 0x445A807: GC_mark_from (mark.c:759) ==27705== by 0x445C0F1: GC_mark_some (mark.c:361) ==27705== by 0x4452F9A: GC_stopped_mark (alloc.c:531) ==27705== by 0x4453959: GC_try_to_collect_inner (alloc.c:378) ==27705== by 0x445DE9D: GC_init_inner (misc.c:787) ==27705== by 0x4458C09: GC_generic_malloc_inner (malloc.c:125) ==27705== by 0x4462E41: GC_pthread_create (pthread_support.c:1231) ==27705== by 0x804B8D3: main (test.c:1826) ==27705== Address 0xFEFFC080 is not stack'd, malloc'd or (recently) free'd The code completely escapes me; somebody used to this madness will have to debug it to find the error. /* Steinar */ -- Homepage: http://www.sesse.net/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]