From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.devel Subject: Re: i guess we're frozen & stuff Date: Mon, 28 Sep 2009 19:27:01 -0400 Message-ID: <23C930B5-368F-4124-B692-180C10EAB2A9@raeburn.org> References: <0489FB6F-567B-4967-9703-1A3D89462A37@raeburn.org> <79F7A852-10ED-46DF-9D41-ED545493E8FE@raeburn.org> <87pr9dpgfw.fsf@gnu.org> <871vlr6l2p.fsf@ossau.uklinux.net> <87k4zi6h3q.fsf@gnu.org> <87eipqn12l.fsf@ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1254180460 2628 80.91.229.12 (28 Sep 2009 23:27:40 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 28 Sep 2009 23:27:40 +0000 (UTC) Cc: =?GB2312?Q?Ludovic_Court=A8=A8s?= , Guile Development To: Neil Jerram Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Sep 29 01:27:32 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MsPcv-0002PX-1a for guile-devel@m.gmane.org; Tue, 29 Sep 2009 01:27:30 +0200 Original-Received: from localhost ([127.0.0.1]:38677 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MsPcu-0007BR-5D for guile-devel@m.gmane.org; Mon, 28 Sep 2009 19:27:28 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MsPcn-0007Ax-BH for guile-devel@gnu.org; Mon, 28 Sep 2009 19:27:21 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MsPci-00079m-WF for guile-devel@gnu.org; Mon, 28 Sep 2009 19:27:20 -0400 Original-Received: from [199.232.76.173] (port=33598 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MsPci-00079j-R9 for guile-devel@gnu.org; Mon, 28 Sep 2009 19:27:16 -0400 Original-Received: from splat.raeburn.org ([69.25.196.39]:47026 helo=raeburn.org) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MsPcV-0005u4-An; Mon, 28 Sep 2009 19:27:11 -0400 Original-Received: from [10.0.0.172] (squish.raeburn.org [10.0.0.172]) by raeburn.org (8.14.3/8.14.1) with ESMTP id n8SNR1xT002448; Mon, 28 Sep 2009 19:27:01 -0400 (EDT) In-Reply-To: <87eipqn12l.fsf@ossau.uklinux.net> X-Mailer: Apple Mail (2.936) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:9418 Archived-At: 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 , body_data=0xb0080e64, handler=0x15d720 , 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 , 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 , body_data=0x0, handler=0x1da840 , 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 , body_data=0xb0102e64, handler=0x15d720 , 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 , 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=, 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=, arg1=0x59ad50, args=0x102f210) at eval.i.c:1903 #5 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=, argv=0x0, nargs=) 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 , 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=, arg1=0x102f2c8, args=) at eval.i.c:1793 #10 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=, argv=0x0, nargs=) 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 , body_data=0xbfffe7b8, handler=0x1da0e0 , handler_data=0xbfffe7d8, pre_unwind_handler=0x216920 , 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=, 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=, arg1=0x104, args=0x102f380) at eval.i.c:1903 #17 0x001ecfa7 in vm_debug_engine (vp=0x596fa0, program=, argv=0x0, nargs=) 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=, argv=0x0, nargs=) 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 , 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=, arg1=0x1047540, args=) at eval.i.c:1793 #25 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=, argv=0x0, nargs=) 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=, arg1=0x1047580, args=) at eval.i.c:1793 #29 0x001e7659 in vm_debug_engine (vp=0x596fa0, program=, argv=0xbffff18c, nargs=) at vm-i- system.c:605 #30 0x00170add in ceval (x=0x404, env=0x1047c78) at eval.i.c:1247 #31 0x00171726 in ceval (x=, 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 , body_data=0xbffff4a4, handler=0x15d720 , handler_data=0xbffff4a4, pre_unwind_handler=0x216920 , pre_unwind_handler_data=0x216920) at ../../libguile/throw.c:243 #38 0x0015d6dd in scm_i_with_continuation_barrier (body=0x216920 , body_data=0x216920, handler=0x216920 , handler_data=0x216920, pre_unwind_handler=0x216920 , pre_unwind_handler_data=0x216920) at ../../libguile/continuations.c:294 #39 0x0015d78e in scm_c_with_continuation_barrier (func=0x216920 , data=0x216920) at ../../libguile/ continuations.c:336 #40 0x001d71d9 in scm_i_with_guile_and_parent (func=0x189260 , data=0x558dc8, parent=0x1) at ../../libguile/ threads.c:709 #41 0x001d7239 in scm_with_guile (func=0x216920 , data=0x216920) at ../../libguile/ threads.c:688 #42 0x0018923a in scm_boot_guile (argc=2189600, argv=0x216920, main_func=0x216920 , closure=0x216920) at ../../libguile/init.c:361 #43 0x00001ff1 in main (argc=2189600, argv=0x216920) at ../../libguile/ guile.c:70 (gdb) Ken