unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Ken Raeburn <raeburn@raeburn.org>
To: Neil Jerram <neil@ossau.uklinux.net>
Cc: "Ludovic Courtès" <ludo@gnu.org>,
	"Guile Development" <guile-devel@gnu.org>
Subject: Re: i guess we're frozen & stuff
Date: Mon, 28 Sep 2009 19:27:01 -0400	[thread overview]
Message-ID: <23C930B5-368F-4124-B692-180C10EAB2A9@raeburn.org> (raw)
In-Reply-To: <87eipqn12l.fsf@ossau.uklinux.net>

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




  parent reply	other threads:[~2009-09-28 23:27 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-10 19:41 i guess we're frozen & stuff Andy Wingo
2009-08-10 21:08 ` Mike Gran
2009-08-10 21:16   ` Andy Wingo
2009-08-10 21:37   ` Ludovic Courtès
2009-08-11 11:34 ` Greg Troxel
2009-08-11 13:59   ` Ken Raeburn
2009-08-11 14:45     ` Ken Raeburn
2009-08-11 15:36       ` Ludovic Courtès
2009-08-11 15:50         ` Ken Raeburn
2009-08-12 22:42       ` Andy Wingo
2009-08-11 15:34     ` Ludovic Courtès
2009-08-12 22:41     ` Andy Wingo
2009-09-16 19:00       ` Andy Wingo
2009-09-25 21:59         ` Ken Raeburn
2009-09-26 15:45           ` Mike Gran
2009-09-26 22:36             ` Ken Raeburn
2009-09-26 23:11               ` Mike Gran
2009-09-26 21:02           ` Ludovic Courtès
2009-09-26 22:26             ` Ken Raeburn
2009-09-27  9:10               ` Ludovic Courtès
2009-09-27 10:01                 ` Ken Raeburn
2009-09-28  7:39                   ` Ludovic Courtès
2009-09-28 17:22             ` Neil Jerram
2009-09-28 18:48               ` Ludovic Courtès
2009-09-28 22:42                 ` Neil Jerram
2009-09-28 23:21                   ` Bug #27457 (“Threads, mutexes, and critical sections”) Ludovic Courtès
2009-09-30 20:59                     ` (no subject) Neil Jerram
2009-10-01 17:21                       ` Bug #27457 (“Threads, mutexes, and critical sections”) Ludovic Courtès
2009-10-01 21:05                         ` (no subject) Neil Jerram
2009-10-01 19:45                       ` Bug #27457 (“Threads, mutexes, and critical sections”) Ken Raeburn
2009-10-01 20:44                         ` (no subject) Neil Jerram
2009-09-28 23:27                   ` Ken Raeburn [this message]
2009-09-28 23:08           ` i guess we're frozen & stuff Ken Raeburn
2009-08-26 22:18     ` Neil Jerram
2009-08-11 12:29 ` Greg Troxel
2009-08-11 15:48   ` Mike Gran
2009-08-11 15:54   ` Ludovic Courtès
2009-08-11 16:13     ` Mike Gran
2009-08-11 17:01       ` Ludovic Courtès
2009-08-11 17:49         ` Mike Gran
2009-08-11 17:04     ` Greg Troxel
2009-08-11 18:14       ` Ken Raeburn
2009-08-11 20:34         ` Ludovic Courtès
2009-08-11 21:58           ` Greg Troxel
2009-08-11 22:46             ` Ludovic Courtès
2009-08-12 13:08               ` Greg Troxel
2009-08-12 14:38                 ` Ludovic Courtès
2009-08-12 16:36                   ` Greg Troxel
2009-08-11 18:15       ` Ludovic Courtès
2009-08-11 18:17         ` Greg Troxel
2009-08-11 20:26           ` Ludovic Courtès
2009-08-11 22:07             ` Greg Troxel
2009-08-11 17:24     ` Greg Troxel
2009-08-11 19:10       ` i18n issues on NetBSD Ludovic Courtès
2009-08-11 22:05         ` Greg Troxel
2009-08-11 22:58           ` Ludovic Courtès
2009-08-11 17:46   ` i guess we're frozen & stuff Juhani Viheräkoski
2009-08-11 18:01     ` Mike Gran
2009-08-11 20:31       ` Ludovic Courtès
2009-08-11 13:27 ` Greg Troxel
2009-08-11 13:39 ` unsigned char confusion Greg Troxel
2009-08-11 15:23   ` Mike Gran
2009-08-11 17:05 ` i guess we're frozen & stuff Ken Raeburn
2009-08-11 20:27   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=23C930B5-368F-4124-B692-180C10EAB2A9@raeburn.org \
    --to=raeburn@raeburn.org \
    --cc=guile-devel@gnu.org \
    --cc=ludo@gnu.org \
    --cc=neil@ossau.uklinux.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).