guile-devel
[Top][All Lists]
Advanced

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

Re: i guess we're frozen & stuff


From: Ken Raeburn
Subject: Re: i guess we're frozen & stuff
Date: Mon, 28 Sep 2009 19:27:01 -0400

On Sep 28, 2009, at 18:42, Neil Jerram wrote:
Regarding the throw from critical section problem, I guess I'm not
seeing this because of not running on a multi-core machine.

You're on a single-core machine?  How quaint! ;-)

 Can someone
who does see this problem

- run under GDB
- set a breakpoint on the fprintf (stderr, "throw from within critical
 section.\n") line in throw.c
- post the thread backtraces (thread apply all bt), when this breakpoint
 is hit?

My Mac shows the problem almost instantly. The requested stack trace is below.

I also note that according to gdb, scm-i_critical_section_level is zero, though this breakpoint is only reachable if it's nonzero; presumably another running thread changed it?

Thread 3 (process 53308 thread 0x1cb):
#0  0x973b5286 in mach_msg_trap ()
#1  0x973bca7c in mach_msg ()
#2  0x973d92ee in mach_port_deallocate ()
#3  0x002a5470 in GC_delete_thread ()
#4  0x002a59dd in GC_unregister_my_thread ()
#5  0x973e8b9a in _pthread_exit ()
#6 0x001d73d0 in really_launch (d=0xbfffe8b0) at ../../libguile/ threads.c:804 #7 0x0015d712 in c_body (d=0xbfffe8b0) at ../../libguile/ continuations.c:318 #8 0x001d9b95 in scm_c_catch (tag=0x0, body=0x15d700 <c_body>, body_data=0xb0080e64, handler=0x15d720 <c_handler>, handler_data=0xb0080e64, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at ../../libguile/throw.c:243 #9 0x0015d6dd in scm_i_with_continuation_barrier (body=0, body_data=0x0, handler=0, handler_data=0x0, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at ../../libguile/continuations.c:294 #10 0x0015d78e in scm_c_with_continuation_barrier (func=0, data=0x0) at ../../libguile/continuations.c:336 #11 0x001d71d9 in scm_i_with_guile_and_parent (func=0x1d7340 <really_launch>, data=0x1031358, parent=0x973b5286) at ../../libguile/ threads.c:709 #12 0x001d742a in launch_thread (d=0x555720) at ../../libguile/ threads.c:814
#13 0x002a5ddd in GC_inner_start_routine ()
#14 0x002a0a2c in GC_call_with_stack_base ()
#15 0x002a5e62 in GC_start_routine ()
#16 0x973e6155 in _pthread_start ()
#17 0x973e6012 in thread_start ()

Thread 2 (process 53308 thread 0x2003):
#0  0x973d8f9a in read$UNIX2003 ()
#1 0x001b115a in signal_delivery_thread (data=0x0) at ../../libguile/ scmsigs.c:164 #2 0x001d9b95 in scm_c_catch (tag=0xc0003, body=0x1b1100 <signal_delivery_thread>, body_data=0x0, handler=0x1da840 <scm_handle_by_message>, handler_data=0x20a8c4, pre_unwind_handler=0xc0003, pre_unwind_handler_data=0xc0003) at ../../ libguile/throw.c:243 #3 0x001d9d0d in scm_internal_catch (tag=0xc0003, body=0xc0003, body_data=0xc0003, handler=0xc0003, handler_data=0xc0003) at ../../ libguile/throw.c:257 #4 0x001d74d6 in really_spawn (d=0xb0080b00) at ../../libguile/ threads.c:891 #5 0x0015d712 in c_body (d=0xb0080b00) at ../../libguile/ continuations.c:318 #6 0x001d9b95 in scm_c_catch (tag=0xc0003, body=0x15d700 <c_body>, body_data=0xb0102e64, handler=0x15d720 <c_handler>, handler_data=0xb0102e64, pre_unwind_handler=0xc0003, pre_unwind_handler_data=0xc0003) at ../../libguile/throw.c:243 #7 0x0015d6dd in scm_i_with_continuation_barrier (body=0xc0003, body_data=0xc0003, handler=0xc0003, handler_data=0xc0003, pre_unwind_handler=0xc0003, pre_unwind_handler_data=0xc0003) at ../../ libguile/continuations.c:294 #8 0x0015d78e in scm_c_with_continuation_barrier (func=0xc0003, data=0xc0003) at ../../libguile/continuations.c:336 #9 0x001d71d9 in scm_i_with_guile_and_parent (func=0x1d7440 <really_spawn>, data=0x10275d8, parent=0x973d8f9a) at ../../libguile/ threads.c:709 #10 0x001d754a in spawn_thread (d=0x555be0) at ../../libguile/ threads.c:903
#11 0x002a5ddd in GC_inner_start_routine ()
#12 0x002a0a2c in GC_call_with_stack_base ()
#13 0x002a5e62 in GC_start_routine ()
#14 0x973e6155 in _pthread_start ()
#15 0x973e6012 in thread_start ()

Thread 1 (process 53308 local thread 0x3b07):
#0 scm_ithrow (key=0x59ad50, args=0x404, noreturn=1) at ../../ libguile/throw.c:746 #1 0x001dadda in scm_throw (key=0x59ad50, args=0x404) at ../../ libguile/throw.c:722 #2 0x00181c51 in gsubr_apply_raw (proc=0x56fe90, argc=<value temporarily unavailable, due to optimizations>, argv=0xbfffe21c) at ../../libguile/gsubr.c:212 #3 0x00181e91 in scm_i_gsubr_apply_list (self=0x56fe90, args=0x102f210) at ../../libguile/gsubr.c:316 #4 0x0016d25b in scm_dapply (proc=<value temporarily unavailable, due to optimizations>, arg1=0x59ad50, args=0x102f210) at eval.i.c:1903 #5 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=<value temporarily unavailable, due to optimizations>, argv=0x0, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:605 #6 0x00172d71 in scm_call_0 (proc=0x1004090) at ../../libguile/eval.c: 3113 #7 0x001750ce in scm_c_with_fluid (fluid=0x216920, value=0x216920, cproc=0x175020 <apply_thunk>, cdata=0x216920) at ../../libguile/ fluids.c:382 #8 0x00175110 in scm_with_fluid (fluid=0x216920, value=0x216920, thunk=0x216920) at ../../libguile/fluids.c:369 #9 0x0016d7cc in scm_dapply (proc=<value temporarily unavailable, due to optimizations>, arg1=0x102f2c8, args=<value temporarily unavailable, due to optimizations>) at eval.i.c:1793 #10 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=<value temporarily unavailable, due to optimizations>, argv=0x0, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:605 #11 0x00172d71 in scm_call_0 (proc=0x1004020) at ../../libguile/eval.c: 3113 #12 0x001d9b95 in scm_c_catch (tag=0x216920, body=0x1da0c0 <scm_body_thunk>, body_data=0xbfffe7b8, handler=0x1da0e0 <scm_handle_by_proc>, handler_data=0xbfffe7d8, pre_unwind_handler=0x216920 <scm_i_critical_section_level>, pre_unwind_handler_data=0x216920) at ../../libguile/throw.c:243 #13 0x001da279 in scm_catch_with_pre_unwind_handler (key=0x104, thunk=0x1004020, handler=0x1004000, pre_unwind_handler=0x204) at ../../ libguile/throw.c:627 #14 0x00181c51 in gsubr_apply_raw (proc=0x56ffb0, argc=<value temporarily unavailable, due to optimizations>, argv=0xbfffe85c) at ../../libguile/gsubr.c:212 #15 0x00181efc in scm_i_gsubr_apply_list (self=0x56ffb0, args=0x102f380) at ../../libguile/gsubr.c:316 #16 0x0016d25b in scm_dapply (proc=<value temporarily unavailable, due to optimizations>, arg1=0x104, args=0x102f380) at eval.i.c:1903 #17 0x001ecfa7 in vm_debug_engine (vp=0x596fa0, program=<value temporarily unavailable, due to optimizations>, argv=0x0, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:689 #18 0x001ddf1d in scm_load_compiled_with_vm (file=0x216920) at ../../ libguile/vm.c:627 #19 0x0016d07a in scm_dapply (proc=0x2a4f9a, arg1=0x10b26b0, args=0x404) at eval.i.c:1804 #20 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=<value temporarily unavailable, due to optimizations>, argv=0x0, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:605 #21 0x00172d71 in scm_call_0 (proc=0x10137e0) at ../../libguile/eval.c: 3113 #22 0x001750ce in scm_c_with_fluid (fluid=0x216920, value=0x216920, cproc=0x175020 <apply_thunk>, cdata=0x216920) at ../../libguile/ fluids.c:382 #23 0x00175110 in scm_with_fluid (fluid=0x216920, value=0x216920, thunk=0x216920) at ../../libguile/fluids.c:369 #24 0x0016d7cc in scm_dapply (proc=<value temporarily unavailable, due to optimizations>, arg1=0x1047540, args=<value temporarily unavailable, due to optimizations>) at eval.i.c:1793 #25 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=<value temporarily unavailable, due to optimizations>, argv=0x0, nargs=<value temporarily unavailable, due to optimizations>) at vm-i-system.c:605 #26 0x00172d71 in scm_call_0 (proc=0x1013820) at ../../libguile/eval.c: 3113 #27 0x001622d3 in scm_dynamic_wind (in_guard=0x1013810, thunk=0x1013820, out_guard=0x10137f0) at ../../libguile/dynwind.c:112 #28 0x0016d7cc in scm_dapply (proc=<value temporarily unavailable, due to optimizations>, arg1=0x1047580, args=<value temporarily unavailable, due to optimizations>) at eval.i.c:1793 #29 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=<value temporarily unavailable, due to optimizations>, argv=0xbffff18c, nargs=<value temporarily unavailable, due to optimizations>) at vm-i- system.c:605
#30 0x00170add in ceval (x=0x404, env=0x1047c78) at eval.i.c:1247
#31 0x00171726 in ceval (x=<value temporarily unavailable, due to optimizations>, env=0x1047c78) at eval.i.c:330 #32 0x00172f2a in scm_primitive_eval_x (exp=0x1046288) at ../../ libguile/eval.c:4060 #33 0x00172f93 in scm_eval_x (exp=0x216920, module_or_state=0x10118a0) at ../../libguile/eval.c:4095 #34 0x001b360f in scm_shell (argc=3, argv=0xbffff590) at ../../ libguile/script.c:771 #35 0x001892a1 in invoke_main_func (body_data=0xbffff530) at ../../ libguile/init.c:378 #36 0x0015d712 in c_body (d=0xbffff4a4) at ../../libguile/ continuations.c:318 #37 0x001d9b95 in scm_c_catch (tag=0x216920, body=0x15d700 <c_body>, body_data=0xbffff4a4, handler=0x15d720 <c_handler>, handler_data=0xbffff4a4, pre_unwind_handler=0x216920 <scm_i_critical_section_level>, pre_unwind_handler_data=0x216920) at ../../libguile/throw.c:243 #38 0x0015d6dd in scm_i_with_continuation_barrier (body=0x216920 <scm_i_critical_section_level>, body_data=0x216920, handler=0x216920 <scm_i_critical_section_level>, handler_data=0x216920, pre_unwind_handler=0x216920 <scm_i_critical_section_level>, pre_unwind_handler_data=0x216920) at ../../libguile/continuations.c:294 #39 0x0015d78e in scm_c_with_continuation_barrier (func=0x216920 <scm_i_critical_section_level>, data=0x216920) at ../../libguile/ continuations.c:336 #40 0x001d71d9 in scm_i_with_guile_and_parent (func=0x189260 <invoke_main_func>, data=0x558dc8, parent=0x1) at ../../libguile/ threads.c:709 #41 0x001d7239 in scm_with_guile (func=0x216920 <scm_i_critical_section_level>, data=0x216920) at ../../libguile/ threads.c:688 #42 0x0018923a in scm_boot_guile (argc=2189600, argv=0x216920, main_func=0x216920 <scm_i_critical_section_level>, closure=0x216920) at ../../libguile/init.c:361 #43 0x00001ff1 in main (argc=2189600, argv=0x216920) at ../../libguile/ guile.c:70
(gdb)

Ken




reply via email to

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