> From: l...@gnu.org (Ludovic Courtès) > Cc: guile-user@gnu.org > 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.