On Sun 06 Sep 2009 02:37, Ken Raeburn <raeb...@raeburn.org> writes: > BTW, the bdw-gc branch with my patch and SCM_DEBUG==1 still fails tests > on my Mac. > > In guardians.c, line 169, SCM_CAR is applied to a non-pair: > > Running popen.test > Running ports.test > > scm_error_pair_access > Non-pair accessed with SCM_C[AD]R: `ERROR: In procedure symbol->string: > ERROR: Wrong type argument in position 1 (expecting symbol): #<guardian > 124e300 (reachable: 15 unreachable: 1)> > FAIL: check-guile > > I use a modified scm_error_pair_access() that prints the function's name > (as seen above) and then sleeps a while, so I can attach gdb and get > this stack trace before letting it resume: > > #0 0x9487546e in __semwait_signal () > #1 0x948752ef in nanosleep$UNIX2003 () > #2 0x948cae71 in sleep$UNIX2003 () > #3 0x002ea943 in scm_error_pair_access (non_pair=0x11d9180) at ../../ > libguile/pairs.c:50 > #4 0x002c8e35 in finalize_guarded (ptr=0x11d91f0, > finalizer_data=0x11d9188) at ../../libguile/guardians.c:169 > #5 0x000a0866 in GC_invoke_finalizers () > #6 0x000a2ce9 in GC_generic_malloc_many () > #7 0x000ab01a in GC_malloc () > #8 0x002ea987 in scm_cell [inlined] () at inline.h:66 > #9 0x002ea987 in scm_cons (x=0x9487546e, y=0x9487546e) at ../../ > libguile/pairs.c:66 > #10 0x002d0f5a in scm_make_list (n=0x4, init=0xb2920) at ../../ > libguile/list.c:121 > #11 0x002c8bbc in finalize_guarded (ptr=0x12615e8, > finalizer_data=0x12615a0) at ../../libguile/guardians.c:125 > #12 0x000a0866 in GC_invoke_finalizers ()
Thanks for catching this bug. I'm sure Ludovic will look into it. We should not release a 1.9.3 with bugs like this one. A -- http://wingolog.org/