From: ludo@gnu.org (Ludovic Courtès)
To: Eli Zaretskii <eliz@gnu.org>
Cc: guile-user@gnu.org
Subject: Re: guile 2.0.9 build on mingw
Date: Fri, 07 Jun 2013 14:44:42 +0200 [thread overview]
Message-ID: <8761xqhyyt.fsf@gnu.org> (raw)
In-Reply-To: <83ip2bt4qk.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 22 May 2013 18:26:59 +0300")
Hi Eli,
And sorry for the loooong delay.
Eli Zaretskii <eliz@gnu.org> skribis:
>> From: Andy Wingo <wingo@pobox.com>
>> Cc: Panicz Maciej Godek <godek.maciek@gmail.com>, guile-user@gnu.org
>> Date: Mon, 20 May 2013 22:46:10 +0200
>>
>> >> GEN guile-procedures.texi
>> >>
>> >> but when I ask make to keep going, the same error appears when guilec tries
>> >> to compile ice-9/eval.go.
>> >
>> > I reported a similar problem here:
>> >
>> > http://lists.gnu.org/archive/html/bug-guile/2013-05/msg00006.html
>> >
>> > So far no replies. I hope to hear from them some day.
>>
>> Thanks for the ping :) Can you run meta/gdb-uninstalled-guile and get a
>> backtrace somehow?
>
> I did my best, see below. Running meta/gdb-uninstalled-guile cannot
> help here, because the problem happens in a child Guile process, and
> GDB on Windows doesn't support follow-fork/exec-mode.
>
> Instead, I concatenated manually all the *.doc files, then ran this
> command (the one that crashed, as revealed by "make V=1"):
>
> GUILE_INSTALL_LOCALE=1 GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env \
> guild snarf-check-and-output-texi < all-docs.doc > guile-procedures.texi
>
> and then attached GDB to the child Guile process and looked around.
>
> What I found is something I'll need a lot of help with. The backtrace
> displayed by Guile looks like this:
>
> Backtrace:
> In unknown file:
> ?: 4 [apply-smob/1 #<catch-closure c1ddf0> quit #<unspecified>]
> In ice-9/eval.scm:
> 484: 3 [eval # #]
> 481: 2 [lp (#<fluid 13>) (#<procedure 41c1c78 at ice-9/eval.scm:264:7 %args>)]
> In unknown file:
> ?: 1 [apply-smob/1 #<catch-closure 643d730>]
> In ice-9/eval.scm:
> 481: 0 [lp (#<fluid 12>) ((#<catch-closure 643d710>))]
>
> ice-9/eval.scm:481:19:
> ^
>
> Yes, the last line is really unfinished, and the cursor sits where
> shown. But typing at this stage has no effect.
>
> Setting a breakpoint on all 3 places that print "Backtrace:", I get
> this C backtrace:
>
> Breakpoint 2, print_exception_and_backtrace (args=0x37ff610, tag=0x89c6f0,
> port=0x935c40) at continuations.c:490
> 490 scm_display_backtrace_with_highlights (stack, port,
> (gdb) bt
> #0 print_exception_and_backtrace (args=0x37ff610, tag=0x89c6f0,
> port=0x935c40) at continuations.c:490
[...]
> #11 0x0041f5fa in scm_syserror (subr=subr@entry=0x0) at error.c:167
> #12 0x00432fe3 in scm_spawn_thread (
> body=body@entry=0x436340 <signal_delivery_thread>,
> body_data=body_data@entry=0x0, handler=0x431794 <scm_handle_by_message>,
> handler_data=handler_data@entry=0x4e5a60 <scm_i_open_file__name_string_stringbuf+20>) at threads.c:1139
> #13 0x00436318 in start_signal_delivery_thread () at scmsigs.c:200
> #14 0x6248b751 in pthread_once () from d:\usr\bin\pthreadGC2.dll
> #15 0x0043641c in scm_i_ensure_signal_delivery_thread () at scmsigs.c:212
> #16 0x00432c00 in do_thread_exit (v=0x8d0f00) at threads.c:671
That vaguely rings a bell, and there were commits in that area over the
last couple of years.
What version of Guile and libgc is it?
Did you build them with pthread support (this is the default for Guile)?
> What's more, after this backtrace is displayed, guile hangs here:
>
> void
> scm_i_close_signal_pipe()
> {
> /* SIGNAL_DELIVERY_THREAD_MUTEX is only locked while the signal delivery
> thread is being launched. The thread that calls this function is
> already holding the thread admin mutex, so if the delivery thread hasn't
> been launched at this point, it never will be before shutdown. */
> >>>>> scm_i_pthread_mutex_lock (&signal_delivery_thread_mutex);
>
> #if SCM_USE_PTHREAD_THREADS
> if (scm_i_signal_delivery_thread != NULL)
> close (signal_pipe[1]);
> #endif
>
> scm_i_pthread_mutex_unlock (&signal_delivery_thread_mutex);
> }
Can you run ‘thread apply all bt’ in gdb once it’s hang, and send the
tip of the C backtraces for all the threads?
Ludo’.
next prev parent reply other threads:[~2013-06-07 12:44 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-20 19:46 guile 2.0.9 build on mingw Panicz Maciej Godek
2013-05-20 20:05 ` Eli Zaretskii
2013-05-20 20:46 ` Andy Wingo
2013-05-20 21:09 ` objc
2013-05-21 2:43 ` Eli Zaretskii
2013-05-22 15:26 ` Eli Zaretskii
2013-06-07 8:37 ` Eli Zaretskii
2013-06-07 12:44 ` Ludovic Courtès [this message]
2013-06-07 14:59 ` Eli Zaretskii
2013-06-09 17:10 ` Eli Zaretskii
2013-06-09 20:33 ` Ludovic Courtès
2013-06-09 21:16 ` Andy Wingo
2013-06-09 21:35 ` Ludovic Courtès
2013-06-10 16:18 ` Eli Zaretskii
2013-06-10 16:18 ` Eli Zaretskii
2013-06-10 16:23 ` Eli Zaretskii
2013-06-10 19:09 ` Mark H Weaver
2013-06-10 19:49 ` Eli Zaretskii
2013-06-10 20:54 ` Mark H Weaver
2013-06-11 16:53 ` Eli Zaretskii
2013-06-11 22:11 ` Ludovic Courtès
2013-06-12 17:46 ` Eli Zaretskii
2013-06-18 21:51 ` Why launch the Guile signal delivery thread on exit? (was Re: guile 2.0.9 build on mingw) Mark H Weaver
2013-06-19 15:51 ` Eli Zaretskii
2013-06-19 16:06 ` Julian Graham
2013-06-19 19:20 ` Ludovic Courtès
2013-06-12 17:57 ` guile 2.0.9 build on mingw Eli Zaretskii
2013-06-13 13:26 ` Eli Zaretskii
2013-06-16 14:19 ` Ludovic Courtès
2013-06-13 13:33 ` Eli Zaretskii
2013-06-16 14:36 ` Ludovic Courtès
2013-06-16 15:40 ` Eli Zaretskii
2013-06-16 14:55 ` Ludovic Courtès
2013-06-16 15:47 ` Eli Zaretskii
2013-06-16 18:59 ` Ludovic Courtès
2013-06-13 13:40 ` Eli Zaretskii
2013-06-16 14:59 ` Ludovic Courtès
2013-06-17 15:41 ` Eli Zaretskii
2013-06-18 20:45 ` Ludovic Courtès
2013-06-18 22:28 ` Mark H Weaver
2013-06-19 3:03 ` Eli Zaretskii
2013-06-19 19:26 ` Ludovic Courtès
2013-06-19 20:02 ` Eli Zaretskii
2013-06-19 2:59 ` Eli Zaretskii
2013-06-19 15:56 ` Eli Zaretskii
2013-06-19 19:38 ` Ludovic Courtès
2013-06-13 13:41 ` Eli Zaretskii
2013-06-16 15:04 ` Ludovic Courtès
2013-06-16 15:48 ` Eli Zaretskii
2013-06-16 14:44 ` Ludovic Courtès
2013-06-16 15:41 ` Eli Zaretskii
2013-06-12 17:59 ` Eli Zaretskii
2013-06-16 14:46 ` Ludovic Courtès
2013-06-12 18:02 ` Eli Zaretskii
2013-06-16 19:50 ` Ludovic Courtès
2013-06-16 20:22 ` Eli Zaretskii
2013-06-17 15:45 ` Mark H Weaver
2013-06-18 17:17 ` Eli Zaretskii
2013-06-18 19:31 ` Eli Zaretskii
2013-06-18 20:19 ` Ludovic Courtès
2013-06-19 2:53 ` Eli Zaretskii
2013-06-19 19:28 ` Ludovic Courtès
2013-06-19 19:56 ` Eli Zaretskii
2013-05-26 20:41 ` Panicz Maciej Godek
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=8761xqhyyt.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=eliz@gnu.org \
--cc=guile-user@gnu.org \
/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).