Subject: Re: bug#15411: libguile initialization inside a pthread segfaults
From: [email-masked] (Ludovic Courtès)
To: Dale Mellor <[email-masked]>
Cc: [email-masked]
Date: Sun, 13 Oct 2013 16:06:45 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Dale,

Dale Mellor <[email-masked]> skribis:

> =PROGRAM==============================================================
> #include <libguile.h>
>
>
>
> static void *do_guile (void *)
> {
>   for (;;) ;
>
>   return nullptr;
> }
>
>
>
> static void *run_thread (void *)
> {
>   return scm_with_guile (&do_guile, nullptr);
> }
>
>
>
> int main (int, char **)
> {
>   pthread_t thread;
>   pthread_create (&thread, nullptr, run_thread, nullptr);
>
>   pthread_join (thread, nullptr);
>
>   return 0;
> }
>
> =/PROGRAM=============================================================

This program is similar to this test:

  http://git.savannah.gnu.org/cgit/guile.git/tree/test-suite/standalone/test-pthread-create-secondary.c

> =SESSION==============================================================
> $ cat /etc/debian_version 
> 7.1
>
> $ g++-4.6 --version
> g++-4.6 (Debian 4.6.3-14) 4.6.3
>
> $ guile --version
> guile (GNU Guile) 2.0.5-deb+1-3

The test above appeared in 2.0.6.  As the comment notes, this bug was
fixed in libgc after version 7.2alpha5.

Thus, I would recommend upgrading libgc.

I’m closing the bug, but feel free to reopen if you think I got it wrong!

HTH,
Ludo’.