unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* Parts of the test-suite hanging forever
@ 2011-06-14 20:26 Frank Terbeck
  2011-06-23 11:19 ` Andy Wingo
  0 siblings, 1 reply; 3+ messages in thread
From: Frank Terbeck @ 2011-06-14 20:26 UTC (permalink / raw)
  To: bug-guile

Hi there,

I'm running a build of 6fc3eae477 on debian stable:

% gcc --version
gcc (Debian 4.4.5-8) 4.4.5

% /lib/libc.so.6 
GNU C Library (Debian EGLIBC 2.11.2-10) stable release version 2.11.2, by Roland McGrath et al.
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.4.5.
Compiled on a Linux 2.6.32 system on 2011-01-23.
Available extensions:
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B

% guile --version
guile (GNU Guile) 2.1.0.90-6fc3e

% ./build-aux/config.guess 
i686-pc-linux-gnu

% uname -a
Linux bones 2.6.32-5-686 #1 SMP Wed May 18 07:08:50 UTC 2011 i686 GNU/Linux

% ./config.status --config 
'--prefix=/usr/local'

`libgc' is version 7.1 built from source and installed to `/usr/local'.

Okay now that we got that out of the way, the tests that hang for me
are:

  + test-pthread-create
  + test-fast-slot-ref

The former does react to sending a sigint by hitting C-c. The latter
appears to not care about that. Sending sigterm via kill to both does do
the job, though.

Andy Wingo asked me to attach gdb and get a back-trace, so here they
are:

For `test-fast-slot-ref':

[snip]
Attaching to process 16187
Reading symbols from /usr/local/bin/guile...done.
Reading symbols from /usr/local/lib/libguile-2.2.so.22...done.
Loaded symbols for /usr/local/lib/libguile-2.2.so.22
Reading symbols from /lib/i686/cmov/libcrypt.so.1...Reading symbols from /usr/lib/debug/lib/i686/cmov/libcrypt-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libcrypt.so.1
Reading symbols from /lib/i686/cmov/libm.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libm-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libm.so.6
Reading symbols from /lib/i686/cmov/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/i686/cmov/libpthread-2.11.2.so...done.
[Thread debugging using libthread_db enabled]
[New Thread 0xb7147b70 (LWP 16188)]
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libpthread.so.0
Reading symbols from /lib/i686/cmov/libc.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libc-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libc.so.6
Reading symbols from /usr/local/lib/libgc.so.1...done.
Loaded symbols for /usr/local/lib/libgc.so.1
Reading symbols from /usr/lib/libffi.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libffi.so.5
Reading symbols from /lib/i686/cmov/librt.so.1...Reading symbols from /usr/lib/debug/lib/i686/cmov/librt-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/librt.so.1
Reading symbols from /usr/lib/libunistring.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libunistring.so.0
Reading symbols from /usr/lib/libgmp.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgmp.so.3
Reading symbols from /usr/lib/libltdl.so.7...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libltdl.so.7
Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/i686/cmov/libdl.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libdl-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libdl.so.2
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /usr/lib/gconv/ISO8859-1.so...Reading symbols from /usr/lib/debug/usr/lib/gconv/ISO8859-1.so...done.
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
0xb7795424 in __kernel_vsyscall ()
(gdb) 
Thread 2 (Thread 0xb7147b70 (LWP 16188)):
#0  0xb7795424 in __kernel_vsyscall ()
#1  0xb75bb09b in read () at ../sysdeps/unix/syscall-template.S:82
#2  0xb76d5a34 in read_signal_pipe_data (data=0xb7146814) at scmsigs.c:163
#3  0xb7702615 in with_gc_inactive (func=0xb76d5a00 <read_signal_pipe_data>, data=0xb7146814) at threads.c:227
#4  scm_without_guile (func=0xb76d5a00 <read_signal_pipe_data>, data=0xb7146814) at threads.c:926
#5  0xb76d596c in signal_delivery_thread (data=0x0) at scmsigs.c:183
#6  0xb7706749 in apply_catch_closure (clo=..., args=...) at throw.c:146
#7  0xb771de95 in vm_debug_engine (vm=..., program=..., argv=0xb7146c04, nargs=3) at vm-i-system.c:960
#8  0xb770c05c in scm_c_vm_run (vm=..., program=..., argv=0xb7146c04, nargs=3) at vm.c:566
#9  0xb766d63b in scm_call_3 (proc=..., arg1=..., arg2=..., arg3=...) at eval.c:498
#10 0xb77072a7 in scm_catch (key=..., thunk=..., handler=...) at throw.c:73
#11 0xb7707435 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:81
#12 0xb77074c6 in scm_c_catch (tag=..., body=0xb76d5900 <signal_delivery_thread>, body_data=0x0, handler=0xb7706d20 <scm_handle_by_message>, 
    handler_data=0xb77447a4, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213
#13 0xb7707535 in scm_internal_catch (tag=..., body=0xb76d5900 <signal_delivery_thread>, body_data=0x0, handler=0xb7706d20 <scm_handle_by_message>, 
    handler_data=0xb77447a4) at throw.c:222
#14 0xb7705ee1 in really_spawn (d=0xbfa0989c) at threads.c:1052
#15 0xb76682ea in c_body (d=0xb71472d4) at continuations.c:523
#16 0xb7706749 in apply_catch_closure (clo=..., args=...) at throw.c:146
#17 0xb771de95 in vm_debug_engine (vm=..., program=..., argv=0xb7147180, nargs=4) at vm-i-system.c:960
#18 0xb770c05c in scm_c_vm_run (vm=..., program=..., argv=0xb7147180, nargs=4) at vm.c:566
#19 0xb766d5d1 in scm_call_4 (proc=..., arg1=..., arg2=..., arg3=..., arg4=...) at eval.c:505
#20 0xb770739a in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#21 0xb77074c6 in scm_c_catch (tag=..., body=0xb76682d0 <c_body>, body_data=0xb71472d4, handler=0xb76687a0 <c_handler>, handler_data=0xb71472d4, 
    pre_unwind_handler=0xb7668500 <pre_unwind_handler>, pre_unwind_handler_data=0x97da4d0) at throw.c:213
#22 0xb76688b2 in scm_i_with_continuation_barrier (body=0xb76682d0 <c_body>, body_data=0xb71472d4, handler=0xb76687a0 <c_handler>, handler_data=0xb71472d4, 
    pre_unwind_handler=0xb7668500 <pre_unwind_handler>, pre_unwind_handler_data=0x97da4d0) at continuations.c:461
#23 0xb76689b5 in scm_c_with_continuation_barrier (func=0xb7705e30 <really_spawn>, data=0xbfa0989c) at continuations.c:557
#24 0xb7705c47 in with_guile_and_parent (base=0xb7147348, data=0xb7147374) at threads.c:864
#25 0xb74393dc in GC_call_with_stack_base (fn=0xb7705bf0 <with_guile_and_parent>, arg=0xb7147374) at misc.c:1165
#26 0xb7705a2d in scm_i_with_guile_and_parent (d=0xbfa0989c) at threads.c:907
#27 spawn_thread (d=0xbfa0989c) at threads.c:1064
#28 0xb75b3955 in start_thread (arg=0xb7147b70) at pthread_create.c:300
#29 0xb7533e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb727c6d0 (LWP 16187)):
#0  0xb7795424 in __kernel_vsyscall ()
#1  0xb75ba385 in sem_wait@@GLIBC_2.1 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_wait.S:80
#2  0xb7440290 in GC_stop_world () at pthread_stop_world.c:426
#3  0xb742fba1 in GC_stopped_mark (stop_func=0xb742efe0 <GC_never_stop_func>) at alloc.c:474
#4  0xb742fe8a in GC_try_to_collect_inner (stop_func=0xb742efe0 <GC_never_stop_func>) at alloc.c:362
#5  0xb743004e in GC_collect_or_expand (needed_blocks=1, ignore_off_page=0) at alloc.c:1017
#6  0xb74306b5 in GC_allocobj (gran=1, kind=1) at alloc.c:1064
#7  0xb743528b in GC_generic_malloc_inner (lb=8, k=1) at malloc.c:119
#8  0xb7435f58 in GC_generic_malloc_many (lb=8, k=1, result=0xb74481e4) at mallocx.c:415
#9  0xb743e9c5 in GC_malloc (bytes=8) at thread_local_alloc.c:176
#10 0xb7719572 in scm_cell (vm=..., program=..., argv=0x0, nargs=0) at ../libguile/gc.h:215
#11 vm_debug_engine (vm=..., program=..., argv=0x0, nargs=0) at vm-i-system.c:198
#12 0xb770c05c in scm_c_vm_run (vm=..., program=..., argv=0x0, nargs=0) at vm.c:566
#13 0xb766d76e in scm_call_0 (proc=...) at eval.c:478
#14 0xb76cb17a in scm_program_arities (program=...) at programs.c:250
#15 0xb76cb1f6 in scm_i_program_arity (program=..., req=0xbfa0931c, opt=0xbfa09318, rest=0xbfa09314) at programs.c:384
#16 0xb76c957a in scm_i_procedure_arity (proc=..., req=0xbfa0931c, opt=0xbfa09318, rest=0xbfa09314) at procprop.c:70
#17 0xb76c9e2a in scm_thunk_p (obj=...) at procs.c:73
#18 0xb7717810 in vm_debug_engine (vm=..., program=..., argv=0x0, nargs=0) at vm-i-system.c:1593
#19 0xb770c05c in scm_c_vm_run (vm=..., program=..., argv=0x0, nargs=0) at vm.c:566
#20 0xb770c10b in scm_load_compiled_with_vm (file=...) at vm.c:877
#21 0xb769e037 in scm_primitive_load_path (args=...) at load.c:857
#22 0xb771dced in vm_debug_engine (vm=..., program=..., argv=0x0, nargs=0) at vm-i-system.c:892
#23 0xb770c05c in scm_c_vm_run (vm=..., program=..., argv=0x0, nargs=0) at vm.c:566
#24 0xb770c10b in scm_load_compiled_with_vm (file=...) at vm.c:877
#25 0xb769e037 in scm_primitive_load_path (args=...) at load.c:857
#26 0xb771dced in vm_debug_engine (vm=..., program=..., argv=0xbfa09ed4, nargs=1) at vm-i-system.c:892
#27 0xb770c05c in scm_c_vm_run (vm=..., program=..., argv=0xbfa09ed4, nargs=1) at vm.c:566
#28 0xb766f5bb in scm_primitive_eval (exp=...) at eval.c:638
#29 0xb766f63f in scm_eval (exp=..., module_or_state=...) at eval.c:672
#30 0xb76d61b8 in scm_shell (argc=2, argv=0xbfa0a654) at script.c:402
#31 0xb7695546 in invoke_main_func (body_data=0xbfa0a570) at init.c:336
#32 0xb76682ea in c_body (d=0xbfa0a4a4) at continuations.c:523
#33 0xb7706749 in apply_catch_closure (clo=..., args=...) at throw.c:146
#34 0xb771484e in vm_regular_engine (vm=..., program=..., argv=0xbfa0a350, nargs=4) at vm-i-system.c:960
#35 0xb770c05c in scm_c_vm_run (vm=..., program=..., argv=0xbfa0a350, nargs=4) at vm.c:566
#36 0xb766d5d1 in scm_call_4 (proc=..., arg1=..., arg2=..., arg3=..., arg4=...) at eval.c:505
#37 0xb770739a in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#38 0xb77074c6 in scm_c_catch (tag=..., body=0xb76682d0 <c_body>, body_data=0xbfa0a4a4, handler=0xb76687a0 <c_handler>, handler_data=0xbfa0a4a4, 
    pre_unwind_handler=0xb7668500 <pre_unwind_handler>, pre_unwind_handler_data=0x97da4d0) at throw.c:213
#39 0xb76688b2 in scm_i_with_continuation_barrier (body=0xb76682d0 <c_body>, body_data=0xbfa0a4a4, handler=0xb76687a0 <c_handler>, handler_data=0xbfa0a4a4, 
    pre_unwind_handler=0xb7668500 <pre_unwind_handler>, pre_unwind_handler_data=0x97da4d0) at continuations.c:461
#40 0xb76689b5 in scm_c_with_continuation_barrier (func=0xb7695500 <invoke_main_func>, data=0xbfa0a570) at continuations.c:557
#41 0xb7705c47 in with_guile_and_parent (base=0xbfa0a518, data=0xbfa0a544) at threads.c:864
#42 0xb74393dc in GC_call_with_stack_base (fn=0xb7705bf0 <with_guile_and_parent>, arg=0xbfa0a544) at misc.c:1165
#43 0xb7705adc in scm_i_with_guile_and_parent (func=0xb7695500 <invoke_main_func>, data=0xbfa0a570) at threads.c:907
#44 scm_with_guile (func=0xb7695500 <invoke_main_func>, data=0xbfa0a570) at threads.c:913
#45 0xb76954df in scm_boot_guile (argc=2, argv=0xbfa0a654, main_func=0x8048810 <inner_main>, closure=0x0) at init.c:319
#46 0x0804880b in main (argc=2, argv=0xbfa0a654) at guile.c:70
(gdb) A debugging session is active.

	Inferior 1 [process 16187] will be detached.

Quit anyway? (y or n) [answered Y; input not from terminal]
Detaching from program: /usr/local/bin/guile, process 16187
[snap]

And `test-pthread-create':

[snip]
Attaching to process 16635
Reading symbols from /usr/src/guile/test-suite/standalone/.libs/lt-test-pthread-create...done.
Reading symbols from /usr/src/guile/libguile/.libs/libguile-2.2.so.22...done.
Loaded symbols for /usr/src/guile/libguile/.libs/libguile-2.2.so.22
Reading symbols from /usr/local/lib/libgc.so.1...done.
Loaded symbols for /usr/local/lib/libgc.so.1
Reading symbols from /lib/i686/cmov/libcrypt.so.1...Reading symbols from /usr/lib/debug/lib/i686/cmov/libcrypt-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libcrypt.so.1
Reading symbols from /lib/i686/cmov/libm.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libm-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libm.so.6
Reading symbols from /lib/i686/cmov/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/i686/cmov/libpthread-2.11.2.so...done.
[Thread debugging using libthread_db enabled]
[New Thread 0xb7317b70 (LWP 16659)]
[New Thread 0xb6b16b70 (LWP 16658)]
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libpthread.so.0
Reading symbols from /lib/i686/cmov/libc.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libc-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libc.so.6
Reading symbols from /usr/lib/libffi.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libffi.so.5
Reading symbols from /lib/i686/cmov/librt.so.1...Reading symbols from /usr/lib/debug/lib/i686/cmov/librt-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/librt.so.1
Reading symbols from /usr/lib/libunistring.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libunistring.so.0
Reading symbols from /usr/lib/libgmp.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgmp.so.3
Reading symbols from /usr/lib/libltdl.so.7...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libltdl.so.7
Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/i686/cmov/libdl.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libdl-2.11.2.so...done.
(no debugging symbols found)...done.
Loaded symbols for /lib/i686/cmov/libdl.so.2
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /usr/lib/gconv/ISO8859-1.so...Reading symbols from /usr/lib/debug/usr/lib/gconv/ISO8859-1.so...done.
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/gconv/ISO8859-1.so
0xb789d424 in __kernel_vsyscall ()
(gdb) 
Thread 3 (Thread 0xb6b16b70 (LWP 16658)):
#0  0xb789d424 in __kernel_vsyscall ()
#1  0xb767f09b in read () at ../sysdeps/unix/syscall-template.S:82
#2  0xb77fba34 in read_signal_pipe_data (data=0xb6b15814) at scmsigs.c:163
#3  0xb7828615 in with_gc_inactive (func=0xb77fba00 <read_signal_pipe_data>, data=0xb6b15814) at threads.c:227
#4  scm_without_guile (func=0xb77fba00 <read_signal_pipe_data>, data=0xb6b15814) at threads.c:926
#5  0xb77fb96c in signal_delivery_thread (data=0x0) at scmsigs.c:183
#6  0xb782c749 in apply_catch_closure (clo=..., args=...) at throw.c:146
#7  0xb783a84e in vm_regular_engine (vm=..., program=..., argv=0xb6b15c04, nargs=3) at vm-i-system.c:960
#8  0xb783205c in scm_c_vm_run (vm=..., program=..., argv=0xb6b15c04, nargs=3) at vm.c:566
#9  0xb779363b in scm_call_3 (proc=..., arg1=..., arg2=..., arg3=...) at eval.c:498
#10 0xb782d2a7 in scm_catch (key=..., thunk=..., handler=...) at throw.c:73
#11 0xb782d435 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:81
#12 0xb782d4c6 in scm_c_catch (tag=..., body=0xb77fb900 <signal_delivery_thread>, body_data=0x0, handler=0xb782cd20 <scm_handle_by_message>, 
    handler_data=0xb786a7a4, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213
#13 0xb782d535 in scm_internal_catch (tag=..., body=0xb77fb900 <signal_delivery_thread>, body_data=0x0, handler=0xb782cd20 <scm_handle_by_message>, 
    handler_data=0xb786a7a4) at throw.c:222
#14 0xb782bee1 in really_spawn (d=0xb7316b4c) at threads.c:1052
#15 0xb778e2ea in c_body (d=0xb6b162d4) at continuations.c:523
#16 0xb782c749 in apply_catch_closure (clo=..., args=...) at throw.c:146
#17 0xb783a84e in vm_regular_engine (vm=..., program=..., argv=0xb6b16180, nargs=4) at vm-i-system.c:960
#18 0xb783205c in scm_c_vm_run (vm=..., program=..., argv=0xb6b16180, nargs=4) at vm.c:566
#19 0xb77935d1 in scm_call_4 (proc=..., arg1=..., arg2=..., arg3=..., arg4=...) at eval.c:505
#20 0xb782d39a in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#21 0xb782d4c6 in scm_c_catch (tag=..., body=0xb778e2d0 <c_body>, body_data=0xb6b162d4, handler=0xb778e7a0 <c_handler>, handler_data=0xb6b162d4, 
    pre_unwind_handler=0xb778e500 <pre_unwind_handler>, pre_unwind_handler_data=0x85554d0) at throw.c:213
#22 0xb778e8b2 in scm_i_with_continuation_barrier (body=0xb778e2d0 <c_body>, body_data=0xb6b162d4, handler=0xb778e7a0 <c_handler>, handler_data=0xb6b162d4, 
    pre_unwind_handler=0xb778e500 <pre_unwind_handler>, pre_unwind_handler_data=0x85554d0) at continuations.c:461
#23 0xb778e9b5 in scm_c_with_continuation_barrier (func=0xb782be30 <really_spawn>, data=0xb7316b4c) at continuations.c:557
#24 0xb782bc47 in with_guile_and_parent (base=0xb6b16348, data=0xb6b16374) at threads.c:864
#25 0xb76f93dc in GC_call_with_stack_base (fn=0xb782bbf0 <with_guile_and_parent>, arg=0xb6b16374) at misc.c:1165
#26 0xb782ba2d in scm_i_with_guile_and_parent (d=0xb7316b4c) at threads.c:907
#27 spawn_thread (d=0xb7316b4c) at threads.c:1064
#28 0xb7677955 in start_thread (arg=0xb6b16b70) at pthread_create.c:300
#29 0xb75f7e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb7317b70 (LWP 16659)):
#0  0xb789d424 in __kernel_vsyscall ()
#1  0xb767e385 in sem_wait@@GLIBC_2.1 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_wait.S:80
#2  0xb7700290 in GC_stop_world () at pthread_stop_world.c:426
#3  0xb76efba1 in GC_stopped_mark (stop_func=0xb76eefe0 <GC_never_stop_func>) at alloc.c:474
#4  0xb76efe8a in GC_try_to_collect_inner (stop_func=0xb76eefe0 <GC_never_stop_func>) at alloc.c:362
#5  0xb76f0214 in GC_try_to_collect (stop_func=0xb76eefe0 <GC_never_stop_func>) at alloc.c:762
#6  0xb76f02f0 in GC_gcollect () at alloc.c:774
#7  0xb77a6e4d in scm_i_gc (what=0xb7864889 "call") at gc.c:366
#8  0xb77a6e88 in scm_gc () at gc.c:355
#9  0x080487f1 in do_something (arg=0x0) at test-pthread-create.c:34
#10 0xb778e2ea in c_body (d=0xb73172b4) at continuations.c:523
#11 0xb782c749 in apply_catch_closure (clo=..., args=...) at throw.c:146
#12 0xb783a84e in vm_regular_engine (vm=..., program=..., argv=0xb7317160, nargs=4) at vm-i-system.c:960
#13 0xb783205c in scm_c_vm_run (vm=..., program=..., argv=0xb7317160, nargs=4) at vm.c:566
#14 0xb77935d1 in scm_call_4 (proc=..., arg1=..., arg2=..., arg3=..., arg4=...) at eval.c:505
#15 0xb782d39a in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#16 0xb782d4c6 in scm_c_catch (tag=..., body=0xb778e2d0 <c_body>, body_data=0xb73172b4, handler=0xb778e7a0 <c_handler>, handler_data=0xb73172b4, 
    pre_unwind_handler=0xb778e500 <pre_unwind_handler>, pre_unwind_handler_data=0x85554d0) at throw.c:213
#17 0xb778e8b2 in scm_i_with_continuation_barrier (body=0xb778e2d0 <c_body>, body_data=0xb73172b4, handler=0xb778e7a0 <c_handler>, handler_data=0xb73172b4, 
    pre_unwind_handler=0xb778e500 <pre_unwind_handler>, pre_unwind_handler_data=0x85554d0) at continuations.c:461
#18 0xb778e9b5 in scm_c_with_continuation_barrier (func=0x80487a0 <do_something>, data=0x0) at continuations.c:557
#19 0xb782bc47 in with_guile_and_parent (base=0xb7317328, data=0xb7317354) at threads.c:864
#20 0xb76f93dc in GC_call_with_stack_base (fn=0xb782bbf0 <with_guile_and_parent>, arg=0xb7317354) at misc.c:1165
#21 0xb782badc in scm_i_with_guile_and_parent (func=0x80487a0 <do_something>, data=0x0) at threads.c:907
#22 scm_with_guile (func=0x80487a0 <do_something>, data=0x0) at threads.c:913
#23 0x0804879a in thread (arg=0x0) at test-pthread-create.c:41
#24 0xb7677955 in start_thread (arg=0xb7317b70) at pthread_create.c:300
#25 0xb75f7e7e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb73846d0 (LWP 16635)):
#0  0xb789d424 in __kernel_vsyscall ()
#1  0xb7556b5e in do_sigsuspend (set=0xb7708320) at ../sysdeps/unix/sysv/linux/sigsuspend.c:63
#2  *__GI___sigsuspend (set=0xb7708320) at ../sysdeps/unix/sysv/linux/sigsuspend.c:78
#3  0xb770049b in GC_suspend_handler_inner (sig_arg=0x1e <Address 0x1e out of bounds>, context=0xbf814cdc) at pthread_stop_world.c:207
#4  0xb7700525 in GC_suspend_handler (sig=30, info=0xbf814c5c, context=0xbf814cdc) at pthread_stop_world.c:142
#5  <signal handler called>
#6  0xb789d422 in __kernel_vsyscall ()
#7  0xb7678af5 in pthread_join (threadid=3073473392, thread_return=0x0) at pthread_join.c:89
#8  0x08048856 in inner_main (data=0x0) at test-pthread-create.c:56
#9  0xb778e2ea in c_body (d=0xbf815584) at continuations.c:523
#10 0xb782c749 in apply_catch_closure (clo=..., args=...) at throw.c:146
#11 0xb783a84e in vm_regular_engine (vm=..., program=..., argv=0xbf815430, nargs=4) at vm-i-system.c:960
#12 0xb783205c in scm_c_vm_run (vm=..., program=..., argv=0xbf815430, nargs=4) at vm.c:566
#13 0xb77935d1 in scm_call_4 (proc=..., arg1=..., arg2=..., arg3=..., arg4=...) at eval.c:505
#14 0xb782d39a in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#15 0xb782d4c6 in scm_c_catch (tag=..., body=0xb778e2d0 <c_body>, body_data=0xbf815584, handler=0xb778e7a0 <c_handler>, handler_data=0xbf815584, 
    pre_unwind_handler=0xb778e500 <pre_unwind_handler>, pre_unwind_handler_data=0x85554d0) at throw.c:213
#16 0xb778e8b2 in scm_i_with_continuation_barrier (body=0xb778e2d0 <c_body>, body_data=0xbf815584, handler=0xb778e7a0 <c_handler>, handler_data=0xbf815584, 
    pre_unwind_handler=0xb778e500 <pre_unwind_handler>, pre_unwind_handler_data=0x85554d0) at continuations.c:461
#17 0xb778e9b5 in scm_c_with_continuation_barrier (func=0x8048800 <inner_main>, data=0x0) at continuations.c:557
#18 0xb782bc47 in with_guile_and_parent (base=0xbf8155f8, data=0xbf815624) at threads.c:864
#19 0xb76f93dc in GC_call_with_stack_base (fn=0xb782bbf0 <with_guile_and_parent>, arg=0xbf815624) at misc.c:1165
#20 0xb782badc in scm_i_with_guile_and_parent (func=0x8048800 <inner_main>, data=0x0) at threads.c:907
#21 scm_with_guile (func=0x8048800 <inner_main>, data=0x0) at threads.c:913
#22 0x0804876d in main (argc=1, argv=0xbf815704) at test-pthread-create.c:66
(gdb) A debugging session is active.

	Inferior 1 [process 16635] will be detached.

Quit anyway? (y or n) [answered Y; input not from terminal]
Detaching from program: /usr/src/guile/test-suite/standalone/.libs/lt-test-pthread-create, process 16635
[snap]

I hope that helps to understand as to what's going on there. If there's
something that's missing, scream! ;)

Regards, Frank

-- 
In protocol design, perfection has been reached not when there is
nothing left to add, but when there is nothing left to take away.
                                                  -- RFC 1925



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Parts of the test-suite hanging forever
  2011-06-14 20:26 Parts of the test-suite hanging forever Frank Terbeck
@ 2011-06-23 11:19 ` Andy Wingo
  2011-06-23 23:49   ` Neil Jerram
  0 siblings, 1 reply; 3+ messages in thread
From: Andy Wingo @ 2011-06-23 11:19 UTC (permalink / raw)
  To: Frank Terbeck; +Cc: bug-guile

On Tue 14 Jun 2011 22:26, Frank Terbeck <ft@bewatermyfriend.org> writes:

> Okay now that we got that out of the way, the tests that hang for me
> are:
>
>   + test-pthread-create
>   + test-fast-slot-ref

Thanks for the detailed report.

I have fixed these hangs in master.  With libgc 7.1, GC_do_blocking
doesn't exist, so libgc needs to be able to stop the signal delivery
thread, so we need to unmask the suspend signal there.  With that fix in
place things work again.

However, the main test suite now segfaults with libgc 7.1.  I'm not sure
why.  I am appending a representative backtrace.  It seems to be some
sort of corruption of the allocator's data structures.  It could be a
Guile problem, or it could be a bug in libgc.

Things do appear to work correctly with libgc 7.2alpha5 (or CVS).
Perhaps given that master has moved away from pthread redirection, we
should simply require libgc 7.2 for Guile 2.2.

Andy


(gdb) thr apply all bt

Thread 3 (Thread 0x7ffff4bd4700 (LWP 18358)):
#0  GC_allochblk_nth (sz=16, kind=1, flags=0, n=7, may_split=<value optimized out>) at allchblk.c:658
#1  0x00007ffff6db6c1a in GC_allochblk (sz=16, kind=1, flags=0) at allchblk.c:628
#2  0x00007ffff6dc23a9 in GC_new_hblk (gran=1, kind=1) at new_hblk.c:190
#3  0x00007ffff6db850b in GC_allocobj (gran=1, kind=1) at alloc.c:1055
#4  0x00007ffff6dbcc0a in GC_generic_malloc_inner (lb=16, k=1) at malloc.c:119
#5  0x00007ffff6dbccf8 in GC_generic_malloc (lb=16, k=1) at malloc.c:159
#6  0x00007ffff6dbd144 in GC_core_malloc (lb=16) at malloc.c:286
#7  0x00007ffff7b3f8e0 in scm_cell (vm=..., program=..., argv=0xe00370, nargs=4) at ../libguile/gc.h:215
#8  vm_debug_engine (vm=..., program=..., argv=0xe00370, nargs=4) at vm-i-system.c:198
#9  0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x0, nargs=0) at vm.c:566
#10 0x00007ffff7ac4618 in scm_call_0 (proc=...) at eval.c:478
#11 0x00007ffff7b0923b in scm_program_sources (program=<value optimized out>) at programs.c:217
#12 0x00007ffff7b0944d in scm_program_source (program=<value optimized out>, ip=<value optimized out>, sources=<value optimized out>)
    at programs.c:292
#13 0x00007ffff7ad20c3 in scm_frame_source (frame=...) at frames.c:102
#14 0x00007ffff7ab5a0e in display_backtrace_get_file_line (frame=<value optimized out>, file=0x7ffff4bd31e0, line=0x7ffff4bd31f0)
    at backtrace.c:302
#15 0x00007ffff7ab5fe4 in display_backtrace_file_and_line (a=0x7ffff4bd34f0) at backtrace.c:351
#16 display_frame (a=0x7ffff4bd34f0) at backtrace.c:400
#17 display_backtrace_body (a=0x7ffff4bd34f0) at backtrace.c:502
#18 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#19 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xe002e8, nargs=1) at vm-i-system.c:960
#20 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff4bd3410, nargs=3) at vm.c:566
#21 0x00007ffff7ac5bce in scm_call_3 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>) at eval.c:498
#22 0x00007ffff7b3577e in scm_catch (key=..., thunk=..., handler=...) at throw.c:73
#23 0x00007ffff7b358a5 in scm_catch_with_pre_unwind_handler (key=<value optimized out>, thunk=<value optimized out>, 
    handler=<value optimized out>, pre_unwind_handler=<value optimized out>) at throw.c:81
#24 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x6d49a0, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213
#25 0x00007ffff7b35aa4 in scm_internal_catch (tag=<value optimized out>, body=<value optimized out>, body_data=<value optimized out>, 
    handler=<value optimized out>, handler_data=<value optimized out>) at throw.c:222
#26 0x00007ffff7ab590a in scm_display_backtrace_with_highlights (stack=<value optimized out>, port=<value optimized out>, 
    first=<value optimized out>, depth=<value optimized out>, highlights=<value optimized out>) at backtrace.c:545
#27 0x00007ffff7ac0f7e in print_exception_and_backtrace (error_port=0x6d49a0, tag=..., args=<value optimized out>) at continuations.c:502
#28 pre_unwind_handler (error_port=0x6d49a0, tag=..., args=<value optimized out>) at continuations.c:546
---Type <return> to continue, or q <return> to quit---
#29 0x00007ffff7b354ac in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:151
#30 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xe00240, nargs=6849312) at vm-i-system.c:960
#31 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff4bd3740, nargs=5) at vm.c:566
#32 0x00007ffff7b4c2de in scm_call_with_vm (vm=..., proc=..., args=<value optimized out>) at vm.c:858
#33 0x00007ffff7ac4423 in scm_apply (proc=..., arg1=<value optimized out>, args=...) at eval.c:701
#34 0x00007ffff7ac5d3f in scm_apply_1 (proc=..., arg1=<value optimized out>, args=<value optimized out>) at eval.c:541
#35 0x00007ffff7b359a3 in scm_throw (key=..., args=...) at throw.c:104
#36 0x00007ffff7b35e99 in scm_ithrow (key=<value optimized out>, args=<value optimized out>, noreturn=<value optimized out>) at throw.c:441
#37 0x00007ffff7ac3065 in scm_error_scm (key=..., subr=<value optimized out>, message=<value optimized out>, args=<value optimized out>, 
    data=<value optimized out>) at error.c:94
#38 0x00007ffff7ac30e0 in scm_error (key=..., subr=0x7ffff7b742b1 "string-append", message=<value optimized out>, args=..., rest=...) at error.c:61
#39 0x00007ffff7ac3474 in scm_wrong_type_arg_msg (subr=0x7ffff7b742b1 "string-append", pos=<value optimized out>, bad_value=..., 
    szMessage=<value optimized out>) at error.c:287
#40 0x00007ffff7b2b665 in scm_string_append (args=<value optimized out>) at strings.c:1372
#41 0x00007ffff7b31aba in scm_gensym (prefix=...) at symbols.c:370
#42 0x00007ffff7b41188 in vm_debug_engine (vm=..., program=..., argv=0xe001c0, nargs=-136544216) at vm-i-system.c:892
#43 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x0, nargs=0) at vm.c:566
#44 0x00007ffff7ac4618 in scm_call_0 (proc=...) at eval.c:478
#45 0x00007ffff7b33a98 in really_launch (d=0x7fffffffd8d0) at threads.c:973
#46 0x00007ffff7ac0d3a in c_body (d=<value optimized out>) at continuations.c:523
#47 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#48 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xe000a8, nargs=1) at vm-i-system.c:960
#49 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff4bd3d30, nargs=4) at vm.c:566
#50 0x00007ffff7ac5c13 in scm_call_4 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>, 
    arg4=<value optimized out>) at eval.c:505
#51 0x00007ffff7b35846 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#52 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7ffff4bd3e40, pre_unwind_handler=0x7ffff7ac0e30 <pre_unwind_handler>, pre_unwind_handler_data=0x6d49a0) at throw.c:213
#53 0x00007ffff7ac1503 in scm_i_with_continuation_barrier (body=0x7ffff7ac0d30 <c_body>, body_data=0x7ffff4bd3e40, 
    handler=0x7ffff7ac0fe0 <c_handler>, handler_data=0x7ffff4bd3e40, pre_unwind_handler=<value optimized out>, 
    pre_unwind_handler_data=<value optimized out>) at continuations.c:461
#54 0x00007ffff7ac15b5 in scm_c_with_continuation_barrier (func=<value optimized out>, data=<value optimized out>) at continuations.c:557
#55 0x00007ffff7b332b5 in with_guile_trampoline (base=0x7ffff4bd3ea0, data=0x7ffff4bd3ec0) at threads.c:856
#56 with_gc_active (base=0x7ffff4bd3ea0, data=0x7ffff4bd3ec0) at threads.c:225
#57 with_guile_and_parent (base=0x7ffff4bd3ea0, data=0x7ffff4bd3ec0) at threads.c:902
#58 0x00007ffff6dc1a05 in GC_call_with_stack_base (fn=<value optimized out>, arg=<value optimized out>) at misc.c:1165
#59 0x00007ffff7b3307c in scm_i_with_guile_and_parent (d=0x7fffffffd8d0) at threads.c:917
---Type <return> to continue, or q <return> to quit---
#60 launch_thread (d=0x7fffffffd8d0) at threads.c:985
#61 0x00007ffff7389b40 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#62 0x00007ffff70d52fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#63 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ffff554c700 (LWP 18357)):
#0  0x00007ffff739117d in read () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff7b10ba7 in read_signal_pipe_data (data=0x7ffff554b820) at scmsigs.c:178
#2  0x00007ffff7b334e4 in with_gc_inactive (func=0x7ffff7b10b90 <read_signal_pipe_data>, data=0x7ffff554b820) at threads.c:219
#3  scm_without_guile (func=0x7ffff7b10b90 <read_signal_pipe_data>, data=0x7ffff554b820) at threads.c:936
#4  0x00007ffff7b10b04 in signal_delivery_thread (data=<value optimized out>) at scmsigs.c:203
#5  0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#6  0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xb74150, nargs=1) at vm-i-system.c:960
#7  0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff554ba20, nargs=3) at vm.c:566
#8  0x00007ffff7ac5bce in scm_call_3 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>) at eval.c:498
#9  0x00007ffff7b3577e in scm_catch (key=..., thunk=..., handler=...) at throw.c:73
#10 0x00007ffff7b358a5 in scm_catch_with_pre_unwind_handler (key=<value optimized out>, thunk=<value optimized out>, 
    handler=<value optimized out>, pre_unwind_handler=<value optimized out>) at throw.c:81
#11 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7ffff7b6fb28, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213
#12 0x00007ffff7b35aa4 in scm_internal_catch (tag=<value optimized out>, body=<value optimized out>, body_data=<value optimized out>, 
    handler=<value optimized out>, handler_data=<value optimized out>) at throw.c:222
#13 0x00007ffff7b339b0 in really_spawn (d=0x7fffffffd6e0) at threads.c:1062
#14 0x00007ffff7ac0d3a in c_body (d=<value optimized out>) at continuations.c:523
#15 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#16 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xb740a8, nargs=1) at vm-i-system.c:960
#17 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff554bd30, nargs=4) at vm.c:566
#18 0x00007ffff7ac5c13 in scm_call_4 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>, 
    arg4=<value optimized out>) at eval.c:505
#19 0x00007ffff7b35846 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#20 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7ffff554be40, pre_unwind_handler=0x7ffff7ac0e30 <pre_unwind_handler>, pre_unwind_handler_data=0x6d49a0) at throw.c:213
#21 0x00007ffff7ac1503 in scm_i_with_continuation_barrier (body=0x7ffff7ac0d30 <c_body>, body_data=0x7ffff554be40, 
    handler=0x7ffff7ac0fe0 <c_handler>, handler_data=0x7ffff554be40, pre_unwind_handler=<value optimized out>, 
    pre_unwind_handler_data=<value optimized out>) at continuations.c:461
#22 0x00007ffff7ac15b5 in scm_c_with_continuation_barrier (func=<value optimized out>, data=<value optimized out>) at continuations.c:557
#23 0x00007ffff7b332b5 in with_guile_trampoline (base=0x7ffff554bea0, data=0x7ffff554bec0) at threads.c:856
---Type <return> to continue, or q <return> to quit---
#24 with_gc_active (base=0x7ffff554bea0, data=0x7ffff554bec0) at threads.c:225
#25 with_guile_and_parent (base=0x7ffff554bea0, data=0x7ffff554bec0) at threads.c:902
#26 0x00007ffff6dc1a05 in GC_call_with_stack_base (fn=<value optimized out>, arg=<value optimized out>) at misc.c:1165
#27 0x00007ffff7b3302c in scm_i_with_guile_and_parent (d=<value optimized out>) at threads.c:917
#28 spawn_thread (d=<value optimized out>) at threads.c:1074
#29 0x00007ffff7389b40 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#30 0x00007ffff70d52fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#31 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fe0700 (LWP 18356)):
#0  GC_allochblk_nth (sz=48, kind=1, flags=0, n=7, may_split=<value optimized out>) at allchblk.c:658
#1  0x00007ffff6db6c1a in GC_allochblk (sz=48, kind=1, flags=0) at allchblk.c:628
#2  0x00007ffff6dc23a9 in GC_new_hblk (gran=3, kind=1) at new_hblk.c:190
#3  0x00007ffff6db850b in GC_allocobj (gran=3, kind=1) at alloc.c:1055
#4  0x00007ffff6dbcc0a in GC_generic_malloc_inner (lb=48, k=1) at malloc.c:119
#5  0x00007ffff6dba8e2 in GC_register_finalizer_inner (obj=0xf1d580, fn=0x7ffff7b12040 <finalize_smob>, cd=0x0, ofn=<value optimized out>, 
    ocd=0x7fffffffd8f8, mp=0x7ffff6dba150 <GC_null_finalize_mark_proc>) at finalize.c:393
#6  0x00007ffff7b1283e in scm_i_new_smob (tc=639, data=15883712) at smob.c:612
#7  0x00007ffff7b32e24 in scm_new_smob (recursive=0, unchecked_unlock=<value optimized out>, external_unlock=0) at ../libguile/smob.h:82
#8  make_fat_mutex (recursive=0, unchecked_unlock=<value optimized out>, external_unlock=0) at threads.c:1302
#9  0x00007ffff7b32f05 in scm_make_mutex_with_flags (flags=<value optimized out>) at threads.c:1337
#10 0x00007ffff7b41188 in vm_debug_engine (vm=..., program=..., argv=0x6d7658, nargs=0) at vm-i-system.c:892
#11 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7fffffffdb10, nargs=1) at vm.c:566
#12 0x00007ffff7ac5f50 in scm_primitive_eval (exp=...) at eval.c:638
#13 0x00007ffff7ac5fb3 in scm_eval (exp=..., module_or_state=...) at eval.c:672
#14 0x00007ffff7b11b4f in scm_shell (argc=1, argv=0x7fffffffe048) at script.c:402
#15 0x00007ffff7ae1e5f in invoke_main_func (body_data=0x7fffffffdf30) at init.c:336
#16 0x00007ffff7ac0d3a in c_body (d=<value optimized out>) at continuations.c:523
#17 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#18 0x00007ffff7b4ac1b in vm_regular_engine (vm=..., program=..., argv=0x6d70a8, nargs=0) at vm-i-system.c:960
#19 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7fffffffdd70, nargs=4) at vm.c:566
#20 0x00007ffff7ac5c13 in scm_call_4 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>, 
    arg4=<value optimized out>) at eval.c:505
#21 0x00007ffff7b35846 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#22 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7fffffffde80, pre_unwind_handler=0x7ffff7ac0e30 <pre_unwind_handler>, pre_unwind_handler_data=0x6d49a0) at throw.c:213
#23 0x00007ffff7ac1503 in scm_i_with_continuation_barrier (body=0x7ffff7ac0d30 <c_body>, body_data=0x7fffffffde80, 
---Type <return> to continue, or q <return> to quit---
    handler=0x7ffff7ac0fe0 <c_handler>, handler_data=0x7fffffffde80, pre_unwind_handler=<value optimized out>, 
    pre_unwind_handler_data=<value optimized out>) at continuations.c:461
#24 0x00007ffff7ac15b5 in scm_c_with_continuation_barrier (func=<value optimized out>, data=<value optimized out>) at continuations.c:557
#25 0x00007ffff7b332b5 in with_guile_trampoline (base=0x7fffffffdee0, data=0x7fffffffdf00) at threads.c:856
#26 with_gc_active (base=0x7fffffffdee0, data=0x7fffffffdf00) at threads.c:225
#27 with_guile_and_parent (base=0x7fffffffdee0, data=0x7fffffffdf00) at threads.c:902
#28 0x00007ffff6dc1a05 in GC_call_with_stack_base (fn=<value optimized out>, arg=<value optimized out>) at misc.c:1165
#29 0x00007ffff7b33458 in scm_i_with_guile_and_parent (func=<value optimized out>, data=<value optimized out>) at threads.c:917
#30 scm_with_guile (func=<value optimized out>, data=<value optimized out>) at threads.c:923
#31 0x00007ffff7ae1f75 in scm_boot_guile (argc=<value optimized out>, argv=<value optimized out>, main_func=<value optimized out>, 
    closure=<value optimized out>) at init.c:319
#32 0x00000000004009a0 in main (argc=<value optimized out>, argv=<value optimized out>) at guile.c:70
(gdb) thr apply all bt

Thread 3 (Thread 0x7ffff4bd4700 (LWP 18358)):
#0  GC_allochblk_nth (sz=16, kind=1, flags=0, n=7, may_split=<value optimized out>) at allchblk.c:658
#1  0x00007ffff6db6c1a in GC_allochblk (sz=16, kind=1, flags=0) at allchblk.c:628
#2  0x00007ffff6dc23a9 in GC_new_hblk (gran=1, kind=1) at new_hblk.c:190
#3  0x00007ffff6db850b in GC_allocobj (gran=1, kind=1) at alloc.c:1055
#4  0x00007ffff6dbcc0a in GC_generic_malloc_inner (lb=16, k=1) at malloc.c:119
#5  0x00007ffff6dbccf8 in GC_generic_malloc (lb=16, k=1) at malloc.c:159
#6  0x00007ffff6dbd144 in GC_core_malloc (lb=16) at malloc.c:286
#7  0x00007ffff7b3f8e0 in scm_cell (vm=..., program=..., argv=0xe00370, nargs=4) at ../libguile/gc.h:215
#8  vm_debug_engine (vm=..., program=..., argv=0xe00370, nargs=4) at vm-i-system.c:198
#9  0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x0, nargs=0) at vm.c:566
#10 0x00007ffff7ac4618 in scm_call_0 (proc=...) at eval.c:478
#11 0x00007ffff7b0923b in scm_program_sources (program=<value optimized out>) at programs.c:217
#12 0x00007ffff7b0944d in scm_program_source (program=<value optimized out>, ip=<value optimized out>, sources=<value optimized out>)
    at programs.c:292
#13 0x00007ffff7ad20c3 in scm_frame_source (frame=...) at frames.c:102
#14 0x00007ffff7ab5a0e in display_backtrace_get_file_line (frame=<value optimized out>, file=0x7ffff4bd31e0, line=0x7ffff4bd31f0)
    at backtrace.c:302
#15 0x00007ffff7ab5fe4 in display_backtrace_file_and_line (a=0x7ffff4bd34f0) at backtrace.c:351
#16 display_frame (a=0x7ffff4bd34f0) at backtrace.c:400
#17 display_backtrace_body (a=0x7ffff4bd34f0) at backtrace.c:502
#18 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#19 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xe002e8, nargs=1) at vm-i-system.c:960
#20 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff4bd3410, nargs=3) at vm.c:566
#21 0x00007ffff7ac5bce in scm_call_3 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>) at eval.c:498
#22 0x00007ffff7b3577e in scm_catch (key=..., thunk=..., handler=...) at throw.c:73
#23 0x00007ffff7b358a5 in scm_catch_with_pre_unwind_handler (key=<value optimized out>, thunk=<value optimized out>, 
    handler=<value optimized out>, pre_unwind_handler=<value optimized out>) at throw.c:81
#24 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x6d49a0, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213
#25 0x00007ffff7b35aa4 in scm_internal_catch (tag=<value optimized out>, body=<value optimized out>, body_data=<value optimized out>, 
    handler=<value optimized out>, handler_data=<value optimized out>) at throw.c:222
#26 0x00007ffff7ab590a in scm_display_backtrace_with_highlights (stack=<value optimized out>, port=<value optimized out>, 
    first=<value optimized out>, depth=<value optimized out>, highlights=<value optimized out>) at backtrace.c:545
#27 0x00007ffff7ac0f7e in print_exception_and_backtrace (error_port=0x6d49a0, tag=..., args=<value optimized out>) at continuations.c:502
#28 pre_unwind_handler (error_port=0x6d49a0, tag=..., args=<value optimized out>) at continuations.c:546
---Type <return> to continue, or q <return> to quit---
#29 0x00007ffff7b354ac in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:151
#30 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xe00240, nargs=6849312) at vm-i-system.c:960
#31 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff4bd3740, nargs=5) at vm.c:566
#32 0x00007ffff7b4c2de in scm_call_with_vm (vm=..., proc=..., args=<value optimized out>) at vm.c:858
#33 0x00007ffff7ac4423 in scm_apply (proc=..., arg1=<value optimized out>, args=...) at eval.c:701
#34 0x00007ffff7ac5d3f in scm_apply_1 (proc=..., arg1=<value optimized out>, args=<value optimized out>) at eval.c:541
#35 0x00007ffff7b359a3 in scm_throw (key=..., args=...) at throw.c:104
#36 0x00007ffff7b35e99 in scm_ithrow (key=<value optimized out>, args=<value optimized out>, noreturn=<value optimized out>) at throw.c:441
#37 0x00007ffff7ac3065 in scm_error_scm (key=..., subr=<value optimized out>, message=<value optimized out>, args=<value optimized out>, 
    data=<value optimized out>) at error.c:94
#38 0x00007ffff7ac30e0 in scm_error (key=..., subr=0x7ffff7b742b1 "string-append", message=<value optimized out>, args=..., rest=...) at error.c:61
#39 0x00007ffff7ac3474 in scm_wrong_type_arg_msg (subr=0x7ffff7b742b1 "string-append", pos=<value optimized out>, bad_value=..., 
    szMessage=<value optimized out>) at error.c:287
#40 0x00007ffff7b2b665 in scm_string_append (args=<value optimized out>) at strings.c:1372
#41 0x00007ffff7b31aba in scm_gensym (prefix=...) at symbols.c:370
#42 0x00007ffff7b41188 in vm_debug_engine (vm=..., program=..., argv=0xe001c0, nargs=-136544216) at vm-i-system.c:892
#43 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x0, nargs=0) at vm.c:566
#44 0x00007ffff7ac4618 in scm_call_0 (proc=...) at eval.c:478
#45 0x00007ffff7b33a98 in really_launch (d=0x7fffffffd8d0) at threads.c:973
#46 0x00007ffff7ac0d3a in c_body (d=<value optimized out>) at continuations.c:523
#47 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#48 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xe000a8, nargs=1) at vm-i-system.c:960
#49 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff4bd3d30, nargs=4) at vm.c:566
#50 0x00007ffff7ac5c13 in scm_call_4 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>, 
    arg4=<value optimized out>) at eval.c:505
#51 0x00007ffff7b35846 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#52 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7ffff4bd3e40, pre_unwind_handler=0x7ffff7ac0e30 <pre_unwind_handler>, pre_unwind_handler_data=0x6d49a0) at throw.c:213
#53 0x00007ffff7ac1503 in scm_i_with_continuation_barrier (body=0x7ffff7ac0d30 <c_body>, body_data=0x7ffff4bd3e40, 
    handler=0x7ffff7ac0fe0 <c_handler>, handler_data=0x7ffff4bd3e40, pre_unwind_handler=<value optimized out>, 
    pre_unwind_handler_data=<value optimized out>) at continuations.c:461
#54 0x00007ffff7ac15b5 in scm_c_with_continuation_barrier (func=<value optimized out>, data=<value optimized out>) at continuations.c:557
#55 0x00007ffff7b332b5 in with_guile_trampoline (base=0x7ffff4bd3ea0, data=0x7ffff4bd3ec0) at threads.c:856
#56 with_gc_active (base=0x7ffff4bd3ea0, data=0x7ffff4bd3ec0) at threads.c:225
#57 with_guile_and_parent (base=0x7ffff4bd3ea0, data=0x7ffff4bd3ec0) at threads.c:902
#58 0x00007ffff6dc1a05 in GC_call_with_stack_base (fn=<value optimized out>, arg=<value optimized out>) at misc.c:1165
#59 0x00007ffff7b3307c in scm_i_with_guile_and_parent (d=0x7fffffffd8d0) at threads.c:917
---Type <return> to continue, or q <return> to quit---
#60 launch_thread (d=0x7fffffffd8d0) at threads.c:985
#61 0x00007ffff7389b40 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#62 0x00007ffff70d52fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#63 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ffff554c700 (LWP 18357)):
#0  0x00007ffff739117d in read () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff7b10ba7 in read_signal_pipe_data (data=0x7ffff554b820) at scmsigs.c:178
#2  0x00007ffff7b334e4 in with_gc_inactive (func=0x7ffff7b10b90 <read_signal_pipe_data>, data=0x7ffff554b820) at threads.c:219
#3  scm_without_guile (func=0x7ffff7b10b90 <read_signal_pipe_data>, data=0x7ffff554b820) at threads.c:936
#4  0x00007ffff7b10b04 in signal_delivery_thread (data=<value optimized out>) at scmsigs.c:203
#5  0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#6  0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xb74150, nargs=1) at vm-i-system.c:960
#7  0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff554ba20, nargs=3) at vm.c:566
#8  0x00007ffff7ac5bce in scm_call_3 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>) at eval.c:498
#9  0x00007ffff7b3577e in scm_catch (key=..., thunk=..., handler=...) at throw.c:73
#10 0x00007ffff7b358a5 in scm_catch_with_pre_unwind_handler (key=<value optimized out>, thunk=<value optimized out>, 
    handler=<value optimized out>, pre_unwind_handler=<value optimized out>) at throw.c:81
#11 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7ffff7b6fb28, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213
#12 0x00007ffff7b35aa4 in scm_internal_catch (tag=<value optimized out>, body=<value optimized out>, body_data=<value optimized out>, 
    handler=<value optimized out>, handler_data=<value optimized out>) at throw.c:222
#13 0x00007ffff7b339b0 in really_spawn (d=0x7fffffffd6e0) at threads.c:1062
#14 0x00007ffff7ac0d3a in c_body (d=<value optimized out>) at continuations.c:523
#15 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#16 0x00007ffff7b41210 in vm_debug_engine (vm=..., program=..., argv=0xb740a8, nargs=1) at vm-i-system.c:960
#17 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7ffff554bd30, nargs=4) at vm.c:566
#18 0x00007ffff7ac5c13 in scm_call_4 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>, 
    arg4=<value optimized out>) at eval.c:505
#19 0x00007ffff7b35846 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#20 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7ffff554be40, pre_unwind_handler=0x7ffff7ac0e30 <pre_unwind_handler>, pre_unwind_handler_data=0x6d49a0) at throw.c:213
#21 0x00007ffff7ac1503 in scm_i_with_continuation_barrier (body=0x7ffff7ac0d30 <c_body>, body_data=0x7ffff554be40, 
    handler=0x7ffff7ac0fe0 <c_handler>, handler_data=0x7ffff554be40, pre_unwind_handler=<value optimized out>, 
    pre_unwind_handler_data=<value optimized out>) at continuations.c:461
#22 0x00007ffff7ac15b5 in scm_c_with_continuation_barrier (func=<value optimized out>, data=<value optimized out>) at continuations.c:557
#23 0x00007ffff7b332b5 in with_guile_trampoline (base=0x7ffff554bea0, data=0x7ffff554bec0) at threads.c:856
---Type <return> to continue, or q <return> to quit---
#24 with_gc_active (base=0x7ffff554bea0, data=0x7ffff554bec0) at threads.c:225
#25 with_guile_and_parent (base=0x7ffff554bea0, data=0x7ffff554bec0) at threads.c:902
#26 0x00007ffff6dc1a05 in GC_call_with_stack_base (fn=<value optimized out>, arg=<value optimized out>) at misc.c:1165
#27 0x00007ffff7b3302c in scm_i_with_guile_and_parent (d=<value optimized out>) at threads.c:917
#28 spawn_thread (d=<value optimized out>) at threads.c:1074
#29 0x00007ffff7389b40 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#30 0x00007ffff70d52fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#31 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fe0700 (LWP 18356)):
#0  GC_allochblk_nth (sz=48, kind=1, flags=0, n=7, may_split=<value optimized out>) at allchblk.c:658
#1  0x00007ffff6db6c1a in GC_allochblk (sz=48, kind=1, flags=0) at allchblk.c:628
#2  0x00007ffff6dc23a9 in GC_new_hblk (gran=3, kind=1) at new_hblk.c:190
#3  0x00007ffff6db850b in GC_allocobj (gran=3, kind=1) at alloc.c:1055
#4  0x00007ffff6dbcc0a in GC_generic_malloc_inner (lb=48, k=1) at malloc.c:119
#5  0x00007ffff6dba8e2 in GC_register_finalizer_inner (obj=0xf1d580, fn=0x7ffff7b12040 <finalize_smob>, cd=0x0, ofn=<value optimized out>, 
    ocd=0x7fffffffd8f8, mp=0x7ffff6dba150 <GC_null_finalize_mark_proc>) at finalize.c:393
#6  0x00007ffff7b1283e in scm_i_new_smob (tc=639, data=15883712) at smob.c:612
#7  0x00007ffff7b32e24 in scm_new_smob (recursive=0, unchecked_unlock=<value optimized out>, external_unlock=0) at ../libguile/smob.h:82
#8  make_fat_mutex (recursive=0, unchecked_unlock=<value optimized out>, external_unlock=0) at threads.c:1302
#9  0x00007ffff7b32f05 in scm_make_mutex_with_flags (flags=<value optimized out>) at threads.c:1337
#10 0x00007ffff7b41188 in vm_debug_engine (vm=..., program=..., argv=0x6d7658, nargs=0) at vm-i-system.c:892
#11 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7fffffffdb10, nargs=1) at vm.c:566
#12 0x00007ffff7ac5f50 in scm_primitive_eval (exp=...) at eval.c:638
#13 0x00007ffff7ac5fb3 in scm_eval (exp=..., module_or_state=...) at eval.c:672
#14 0x00007ffff7b11b4f in scm_shell (argc=1, argv=0x7fffffffe048) at script.c:402
#15 0x00007ffff7ae1e5f in invoke_main_func (body_data=0x7fffffffdf30) at init.c:336
#16 0x00007ffff7ac0d3a in c_body (d=<value optimized out>) at continuations.c:523
#17 0x00007ffff7b3545c in apply_catch_closure (clo=<value optimized out>, args=<value optimized out>) at throw.c:146
#18 0x00007ffff7b4ac1b in vm_regular_engine (vm=..., program=..., argv=0x6d70a8, nargs=0) at vm-i-system.c:960
#19 0x00007ffff7b4c1ed in scm_c_vm_run (vm=..., program=..., argv=0x7fffffffdd70, nargs=4) at vm.c:566
#20 0x00007ffff7ac5c13 in scm_call_4 (proc=..., arg1=<value optimized out>, arg2=<value optimized out>, arg3=<value optimized out>, 
    arg4=<value optimized out>) at eval.c:505
#21 0x00007ffff7b35846 in scm_catch_with_pre_unwind_handler (key=..., thunk=..., handler=..., pre_unwind_handler=...) at throw.c:86
#22 0x00007ffff7b35a70 in scm_c_catch (tag=..., body=<value optimized out>, body_data=<value optimized out>, handler=<value optimized out>, 
    handler_data=0x7fffffffde80, pre_unwind_handler=0x7ffff7ac0e30 <pre_unwind_handler>, pre_unwind_handler_data=0x6d49a0) at throw.c:213
#23 0x00007ffff7ac1503 in scm_i_with_continuation_barrier (body=0x7ffff7ac0d30 <c_body>, body_data=0x7fffffffde80, 
---Type <return> to continue, or q <return> to quit---
    handler=0x7ffff7ac0fe0 <c_handler>, handler_data=0x7fffffffde80, pre_unwind_handler=<value optimized out>, 
    pre_unwind_handler_data=<value optimized out>) at continuations.c:461
#24 0x00007ffff7ac15b5 in scm_c_with_continuation_barrier (func=<value optimized out>, data=<value optimized out>) at continuations.c:557
#25 0x00007ffff7b332b5 in with_guile_trampoline (base=0x7fffffffdee0, data=0x7fffffffdf00) at threads.c:856
#26 with_gc_active (base=0x7fffffffdee0, data=0x7fffffffdf00) at threads.c:225
#27 with_guile_and_parent (base=0x7fffffffdee0, data=0x7fffffffdf00) at threads.c:902
#28 0x00007ffff6dc1a05 in GC_call_with_stack_base (fn=<value optimized out>, arg=<value optimized out>) at misc.c:1165
#29 0x00007ffff7b33458 in scm_i_with_guile_and_parent (func=<value optimized out>, data=<value optimized out>) at threads.c:917
#30 scm_with_guile (func=<value optimized out>, data=<value optimized out>) at threads.c:923
#31 0x00007ffff7ae1f75 in scm_boot_guile (argc=<value optimized out>, argv=<value optimized out>, main_func=<value optimized out>, 
    closure=<value optimized out>) at init.c:319
#32 0x00000000004009a0 in main (argc=<value optimized out>, argv=<value optimized out>) at guile.c:70

-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Parts of the test-suite hanging forever
  2011-06-23 11:19 ` Andy Wingo
@ 2011-06-23 23:49   ` Neil Jerram
  0 siblings, 0 replies; 3+ messages in thread
From: Neil Jerram @ 2011-06-23 23:49 UTC (permalink / raw)
  To: Andy Wingo; +Cc: bug-guile, Frank Terbeck

Andy Wingo <wingo@pobox.com> writes:

> Things do appear to work correctly with libgc 7.2alpha5 (or CVS).
> Perhaps given that master has moved away from pthread redirection, we
> should simply require libgc 7.2 for Guile 2.2.

Yes, absolutely.  Speaking as a user :-), I would not mind at all being
told "you must use version X.Y of libgc because it's the only one we
support".  Based on the number and complexity of GC-related issues over
the last few months, and the level on continuing change in libgc, I
think it could be a fruitless and losing battle to try to support
multiple libgc versions - and at the very least it's a lot of extra
effort.

(And IMO it's also fine for you to arbitrarily advance the X.Y, when
there's a new libgc release with a fix or feature that Guile needs.)

Regards,
        Neil



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-06-23 23:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-14 20:26 Parts of the test-suite hanging forever Frank Terbeck
2011-06-23 11:19 ` Andy Wingo
2011-06-23 23:49   ` Neil Jerram

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).