> From: [email protected] (Ludovic Courtès)
> Cc: [email protected]
> Date: Fri, 07 Jun 2013 14:44:42 +0200
>
> 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?
The latest ones I could find: guile-2.0.9 and gc-7.2d.
> Did you build them with pthread support (this is the default for Guile)?
Yes.
> > 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?
I'll try.