On Wednesday 04 July 2007 15:17:33 Mark Glines wrote: > It helps, thanks. Glad to know I can't just blame gentoo.
> After doing the binary search I mentioned earlier and finding that it > started breaking in svn r19441, there was some discussion in the IRC > channel. The important bit is: > > [13:35] <@chromatic> Hm, I don't blame 19441 for the shootout test. > [13:35] <@chromatic> I think it just changed the memory characteristics of > the program sufficiently to trigger a lurking GC bug. > > > So now I'll try to see if there was a DOD run that freed up something > it shouldn't have, or something like that. I see the segfault now during global destruction: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1212667696 (LWP 25316)] 0xb7ddb7db in Parrot_dod_sweep (interp=0x804e008, pool=0x806eb60) at src/gc/dod.c:641 641 VTABLE_destroy(interp, p); (gdb) bt #0 0xb7ddb7db in Parrot_dod_sweep (interp=0x804e008, pool=0x806eb60) at src/gc/dod.c:641 #1 0xb7ddbf37 in Parrot_dod_ms_run (interp=0x804e008, flags=4) at src/gc/dod.c:987 #2 0xb7ddc097 in Parrot_do_dod_run (interp=0x804e008, flags=4) at src/gc/dod.c:1051 #3 0xb7d73173 in Parrot_really_destroy (interp=0x804e008, exit_code_unused=0, arg_unused=0x0) at src/inter_create.c:316 #4 0xb7ddcbe0 in Parrot_exit (interp=0x804e008, status=0) at src/exit.c:78 #5 0x08048954 in main (argc=1, argv=0xbfa20a48) at src/main.c:65 (gdb) p p->vtable $3 = (VTABLE *) 0x0 (gdb) x p 0x8218638: 0x00000005 That looks very suspicious. -- c