g-wrap-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Segfault in `aggregated' tests on Guile 1.9


From: Andreas Rottmann
Subject: Segfault in `aggregated' tests on Guile 1.9
Date: Sun, 26 Sep 2010 16:20:02 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Hi!

Currently,"make check" fails when using Guile 1.9 (I tested both 1.9.12
and recent HEAD). At least on amd64, the `aggregated' tests cause a
segmentation fault during GC (according to the GDB backtrace):

,----
| Running test suite: <test-wct>-suite ----------------------------------
| Running test case: test-wcp-equal
| Running test case: test-wcp-not-equal
| Running test case: test-coerce
| Running test case: test-x-module
| Running test case: test-null
| Running test case: test-aggregating-gc-1
| Running test case: test-aggregating
| /bin/bash: line 5: 30316 Segmentation fault      builddir=../../guile/test 
${dir}$tst
| FAIL: test-wct
`----

Here is the GDB backtrace:

,----
| Running test case: test-aggregating
| 
| Program received signal SIGSEGV, Segmentation fault.
| 0x00007ffff5a27e2e in wcp_data_mark (wcp=0x10f61e0) at 
../../../guile/g-wrap/guile-wct.c:215
| 215       if (type_data->mark)
| (gdb) print type_data
| $1 = (wrapped_c_type_data *) 0x0
| (gdb) bt
| #0  0x00007ffff5a27e2e in wcp_data_mark (wcp=0x10f61e0) at 
../../../guile/g-wrap/guile-wct.c:215
| #1  0x00007ffff7b1208c in smob_mark (addr=0x10f61e0, mark_stack_ptr=0x6311a0, 
mark_stack_limit=0x641000, env=<value optimized out>) at 
../../libguile/smob.c:511
| #2  0x00007ffff7820e4c in GC_mark_from () from /usr/lib/libgc.so.1
| #3  0x00007ffff7821627 in GC_mark_some () from /usr/lib/libgc.so.1
| #4  0x00007ffff7818f08 in GC_stopped_mark () from /usr/lib/libgc.so.1
| #5  0x00007ffff781918a in GC_try_to_collect_inner () from /usr/lib/libgc.so.1
| #6  0x00007ffff7819521 in GC_try_to_collect () from /usr/lib/libgc.so.1
| #7  0x00007ffff78195f0 in GC_gcollect () from /usr/lib/libgc.so.1
| #8  0x00007ffff7ad70d5 in scm_i_gc () at ../../libguile/gc.c:398
| #9  scm_gc () at ../../libguile/gc.c:381
| #10 0x00007ffff7b4b727 in vm_debug_engine (vm=<value optimized out>, 
program=0x0, argv=<value optimized out>, nargs=-139014936) at 
../../libguile/vm-i-system.c:847
| #11 0x00007ffff7acb887 in scm_call_1 (proc=0xe9b4e0, arg1=0xe984e0) at 
../../libguile/eval.c:481
| #12 0x00007ffff7b172b5 in scm_srfi1_for_each (proc=0xe9b4e0, arg1=0x10eed70, 
args=0x304) at ../../libguile/srfi-1.c:1020
| #13 0x00007ffff7b4b791 in vm_debug_engine (vm=<value optimized out>, 
program=0x0, argv=<value optimized out>, nargs=-139014104) at 
../../libguile/vm-i-system.c:856
| #14 0x00007ffff7acb887 in scm_call_1 (proc=0xe9b740, arg1=0xe9bd20) at 
../../libguile/eval.c:481
| #15 0x00007ffff7b172b5 in scm_srfi1_for_each (proc=0xe9b740, arg1=0x10ee6d0, 
args=0x304) at ../../libguile/srfi-1.c:1020
| #16 0x00007ffff7b4b791 in vm_debug_engine (vm=<value optimized out>, 
program=0x0, argv=<value optimized out>, nargs=-139014104) at 
../../libguile/vm-i-system.c:856
| #17 0x00007ffff7b4b71b in vm_debug_engine (vm=<value optimized out>, 
program=0x0, argv=<value optimized out>, nargs=-139014872) at 
../../libguile/vm-i-system.c:850
| #18 0x00007ffff7acd013 in scm_primitive_eval (exp=0x964c60) at 
../../libguile/eval.c:764
| #19 0x00007ffff7acd073 in scm_eval (exp=0x964c60, module_or_state=0x7da120) 
at ../../libguile/eval.c:798
| #20 0x00007ffff7b1174f in scm_shell (argc=2, argv=0x7fffffffdca8) at 
../../libguile/script.c:760
| #21 0x00007ffff7ae572f in invoke_main_func (body_data=0x7fffffffdb90) at 
../../libguile/init.c:383
| #22 0x00007ffff7ac45aa in c_body (d=0x7fffffffdac0) at 
../../libguile/continuations.c:473
| #23 0x00007ffff7b4ab21 in vm_debug_engine (vm=<value optimized out>, 
program=<value optimized out>, argv=<value optimized out>, nargs=<value 
optimized out>) at ../../libguile/vm-i-system.c:918
| #24 0x00007ffff7acb7e3 in scm_call_4 (proc=0x658090, arg1=<value optimized 
out>, arg2=<value optimized out>, arg3=<value optimized out>, arg4=<value 
optimized out>) at ../../libguile/eval.c:502
| #25 0x00007ffff7ac47f3 in scm_i_with_continuation_barrier (body=<value 
optimized out>, body_data=0x7fffffffdac0, handler=0x7ffff7ac45c0 <c_handler>, 
handler_data=0x7fffffffdac0, pre_unwind_handler=<value optimized out>, 
|     pre_unwind_handler_data=<value optimized out>) at 
../../libguile/continuations.c:450
| #26 0x00007ffff7ac4890 in scm_c_with_continuation_barrier (func=<value 
optimized out>, data=<value optimized out>) at 
../../libguile/continuations.c:491
| #27 0x00007ffff7b35452 in scm_i_with_guile_and_parent (func=<value optimized 
out>, data=<value optimized out>, parent=<value optimized out>) at 
../../libguile/threads.c:741
| #28 0x00007ffff7ae56e5 in scm_boot_guile (argc=<value optimized out>, 
argv=<value optimized out>, main_func=0x641e00, closure=0x9) at 
../../libguile/init.c:366
| #29 0x0000000000400a90 in main (argc=-134414320, argv=0x6311a0) at 
../../libguile/guile.c:70
| (gdb) print *data
| $3 = {type = 0xfc1510, pointer = 0x0, dependencies = 0x0, wcp_dependencies = 
0x0, wcp_dependency_count = 0, ref_count = 0}
`----

As I'm neither familiar with "aggregated type" feature, nor with the
Guile and Boehm GC interaction, I would be grateful if someone could
look into that.

Thanks, Rotty
-- 
Andreas Rottmann -- <http://rotty.yi.org/>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]