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
next prev 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).