GNU bug report logs - #19523
Segfault when creating thread with scm_with_guile

Previous Next

Package: guile;

Reported by: Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>

Date: Tue, 6 Jan 2015 16:53:03 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19523 in the body.
You can then email your comments to 19523 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#19523; Package guile. (Tue, 06 Jan 2015 16:53:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Tue, 06 Jan 2015 16:53:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>
To: bug-guile <at> gnu.org
Subject: Segfault when creating thread with scm_with_guile
Date: Tue, 6 Jan 2015 15:27:31 +0100
[Message part 1 (text/plain, inline)]
Hi all,

I have segfaults occurring sometimes when threads are starting with
scm_with_guile while main thread is using malloc.

Example program:
```
#include <stdlib.h>
#include <pthread.h>
#include <libguile.h>

static void *a_libguile_thread(void *unused) {
}

static void *a_libguile_thread_(void *unused) {
    scm_with_guile(a_libguile_thread, NULL);
}

static void do_mallocs(void) {
    void *a[1000];
    for (int i = 0; i < 1000; ++i) {
        a[i] = malloc(356);
    }
    for (int i = 0; i < 1000; ++i) {
        free(a[i]);
    }
}

int main(int argc, char *argv[]) {
    scm_init_guile();

    pthread_t pth[10];
    for (int i = 0; i < 10; ++i) {
        GC_pthread_create(pth + i, NULL, a_libguile_thread_, NULL);
    }

    do_mallocs();

    for (int i = 0; i < 10; ++i) {
        GC_pthread_join(pth[i], NULL);
    }

    return 0;
}

```
To compile:
gcc corruption_guile.c -g -std=c99 `pkg-config --cflags --libs guile-2.0`
```
Some iterations are needed before having the segfaults:
while ./a.out; do echo -n "."; done;
```
Versions:
gcc (Debian 4.9.1-19) 4.9.1
guile (GNU Guile) 2.0.11.20-4338f (also tried from v2.0.11 tag)
libgc gc7_2d
```
Backtrace:

#0  GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
#1  0x00007fcc535541ff in make_vm () at vm.c:704
#2  0x00007fcc535542d5 in scm_the_vm () at vm.c:781
#3  0x00007fcc534da600 in scm_call_4 (proc=0x1198c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#4  0x00007fcc53550d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#5  0x00007fcc53550e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fcc534d0c00
<c_body>, body_data=body_data <at> entry=0x7fcc4d14cd50,
handler=handler <at> entry=0x7fcc534d0fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fcc4d14cd50
, pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
<pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at throw.c:207
#6  0x00007fcc534d1381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fcc534d0c00
<c_body>, body_data=body_data <at> entry=0x7fcc4d14cd50,
handler=handler <at> entry=0x7fcc534d0fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fcc4d14cd50,
 pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
<pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at
continuations.c:455
#7  0x00007fcc534d1415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#8  0x00007fcc5354e6dc in with_guile_and_parent
(base=base <at> entry=0x7fcc4d14cdb0,
data=data <at> entry=0x7fcc4d14cde0) at threads.c:906
#9  0x00007fcc53222302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fcc5354e690
<with_guile_and_parent>, arg=arg <at> entry=0x7fcc4d14cde0) at misc.c:1553
#10 0x00007fcc5354eac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:11
#13 0x00007fcc53226f6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#14 0x00007fcc53222302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#15 0x00007fcc52ff40a4 in start_thread (arg=0x7fcc4d14d700) at
pthread_create.c:309
#16 0x00007fcc52d28ccd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
```

I thought at first it was a problem with libgc but the given program run
without problems.
```
#include <stdlib.h>
#include <pthread.h>
#define GC_THREADS 1
#define GC_NO_THREAD_REDIRECTS 1
#include <gc/gc_mark.h>
#include <gc.h>

static void *a_lib_gc_thread(void *unused) {
    void *a;
    for (int i = 0; i < 100; ++i) {
        a = GC_generic_malloc(524288, 6);
    }
    GC_free(a);
}

static void do_mallocs(void) {
    void *a[100];
    for (int i = 0; i < 100; ++i) {
        a[i] = malloc(356);
    }
    for (int i = 0; i < 100; ++i) {
        free(a[i]);
    }
}

int main(int argc, char *argv[]) {
    pthread_t pth[10];
    for (int i = 0; i < 10; ++i) {
        GC_pthread_create(pth + i, NULL, a_lib_gc_thread, NULL);
    }
    do_mallocs();
    for (int i = 0; i < 10; ++i) {
        GC_pthread_join(pth[i], NULL);
    }
    return 0;
}
```
I also tried to replace malloc by scm_malloc with no luck.

Regards, Anthonin
[Message part 2 (text/html, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#19523; Package guile. (Wed, 22 Jun 2016 21:28:02 GMT) Full text and rfc822 format available.

Message #8 received at 19523 <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>
Cc: 19523 <at> debbugs.gnu.org
Subject: Re: bug#19523: Segfault when creating thread with scm_with_guile
Date: Wed, 22 Jun 2016 23:27:34 +0200
I can reproduce this bug, but I can't get backtraces from my core file
:/  Irritating.  Are you able to get backtraces reliably?  Can you
provide a "thr apply all bt" ?

Regards,

Andy

On Tue 06 Jan 2015 15:27, Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net> writes:

> Hi all,
>
> I have segfaults occurring sometimes when threads are starting with
> scm_with_guile while main thread is using malloc.
>
> Example program:
> ```
> #include <stdlib.h>
> #include <pthread.h>
> #include <libguile.h>
>
> static void *a_libguile_thread(void *unused) {
> }
>
> static void *a_libguile_thread_(void *unused) {
> scm_with_guile(a_libguile_thread, NULL);
> }
>
> static void do_mallocs(void) {
> void *a[1000];
> for (int i = 0; i < 1000; ++i) {
> a[i] = malloc(356);
> }
> for (int i = 0; i < 1000; ++i) {
> free(a[i]);
> }
> }
>
> int main(int argc, char *argv[]) {
> scm_init_guile();
>
> pthread_t pth[10];
> for (int i = 0; i < 10; ++i) {
> GC_pthread_create(pth + i, NULL, a_libguile_thread_, NULL);
> }
>
> do_mallocs();
>
> for (int i = 0; i < 10; ++i) {
> GC_pthread_join(pth[i], NULL);
> }
>
> return 0;
> }
>
> ```
> To compile:
> gcc corruption_guile.c -g -std=c99 `pkg-config --cflags --libs
> guile-2.0`
> ```
> Some iterations are needed before having the segfaults:
> while ./a.out; do echo -n "."; done;
> ```
> Versions:
> gcc (Debian 4.9.1-19) 4.9.1
> guile (GNU Guile) 2.0.11.20-4338f (also tried from v2.0.11 tag)
> libgc gc7_2d
> ```
> Backtrace: 
>
> #0 GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
> #1 0x00007fcc535541ff in make_vm () at vm.c:704
> #2 0x00007fcc535542d5 in scm_the_vm () at vm.c:781
> #3 0x00007fcc534da600 in scm_call_4 (proc=0x1198c30,
> arg1=arg1 <at> entry=0x404, arg2=<optimized out>, arg3=<optimized out>,
> arg4=<optimized out>) at eval.c:507
> #4 0x00007fcc53550d89 in scm_catch_with_pre_unwind_handler
> (key=key <at> entry=0x404, thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #5 0x00007fcc53550e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fcc534d0c00 <c_body>,
> body_data=body_data <at> entry=0x7fcc4d14cd50,
> handler=handler <at> entry=0x7fcc534d0fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fcc4d14cd50
> , pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at
> throw.c:207
> #6 0x00007fcc534d1381 in scm_i_with_continuation_barrier
> (body=body <at> entry=0x7fcc534d0c00 <c_body>,
> body_data=body_data <at> entry=0x7fcc4d14cd50,
> handler=handler <at> entry=0x7fcc534d0fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fcc4d14cd50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at
> continuations.c:455
> #7 0x00007fcc534d1415 in scm_c_with_continuation_barrier
> (func=<optimized out>, data=<optimized out>) at continuations.c:551
> #8 0x00007fcc5354e6dc in with_guile_and_parent
> (base=base <at> entry=0x7fcc4d14cdb0, data=data <at> entry=0x7fcc4d14cde0) at
> threads.c:906
> #9 0x00007fcc53222302 in GC_call_with_stack_base
> (fn=fn <at> entry=0x7fcc5354e690 <with_guile_and_parent>,
> arg=arg <at> entry=0x7fcc4d14cde0) at misc.c:1553
> #10 0x00007fcc5354eac8 in scm_i_with_guile_and_parent
> (parent=<optimized out>, data=<optimized out>, func=<optimized out>)
> at threads.c:949
> #11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:11
> #13 0x00007fcc53226f6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable:
> value has been optimized out>) at pthread_start.c:56
> #14 0x00007fcc53222302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #15 0x00007fcc52ff40a4 in start_thread (arg=0x7fcc4d14d700) at
> pthread_create.c:309
> #16 0x00007fcc52d28ccd in clone () at .
> ./sysdeps/unix/sysv/linux/x86_64/clone.S:111
> ```
>
> I thought at first it was a problem with libgc but the given program
> run without problems.
> ```
> #include <stdlib.h>
> #include <pthread.h>
> #define GC_THREADS 1
> #define GC_NO_THREAD_REDIRECTS 1
> #include <gc/gc_mark.h>
> #include <gc.h>
>
> static void *a_lib_gc_thread(void *unused) {
> void *a;
> for (int i = 0; i < 100; ++i) {
> a = GC_generic_malloc(524288, 6);
> }
> GC_free(a);
> }
>
> static void do_mallocs(void) {
> void *a[100];
> for (int i = 0; i < 100; ++i) {
> a[i] = malloc(356);
> }
> for (int i = 0; i < 100; ++i) {
> free(a[i]);
> }
> }
>
> int main(int argc, char *argv[]) {
> pthread_t pth[10];
> for (int i = 0; i < 10; ++i) {
> GC_pthread_create(pth + i, NULL, a_lib_gc_thread, NULL);
> }
> do_mallocs();
> for (int i = 0; i < 10; ++i) {
> GC_pthread_join(pth[i], NULL);
> }
> return 0;
> }
> ```
> I also tried to replace malloc by scm_malloc with no luck.
>
> Regards, Anthonin




Information forwarded to bug-guile <at> gnu.org:
bug#19523; Package guile. (Thu, 23 Jun 2016 06:45:02 GMT) Full text and rfc822 format available.

Message #11 received at 19523 <at> debbugs.gnu.org (full text, mbox):

From: Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>
To: Andy Wingo <wingo <at> pobox.com>
Cc: 19523 <at> debbugs.gnu.org
Subject: Re: bug#19523: Segfault when creating thread with scm_with_guile
Date: Thu, 23 Jun 2016 08:43:52 +0200
[Message part 1 (text/plain, inline)]
I moved guile to 08df681976d6c6d97a659f4aebb6f7125e5aad2e before generating
those coredumps.
Backtraces are a bit different between executions, so here are two "t a a
bt" from two differents coredump.

First backtrace:

#0  GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185

Thread 12 (Thread 0x7fb4d6055700 (LWP 28923)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007fb4d8efa4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007fb4d912195d in GC_core_malloc (lb=16) at malloc.c:247
#4  0x00007fb4d941c636 in scm_cell (cdr=772, car=9845792) at
../libguile/gc.h:232
#5  scm_cons (x=0x963c20, y=0x304) at pairs.c:78
#6  0x00007fb4d946aed8 in vm_regular_engine (vm=0x7fb4d9348920
<GC_allocate_ml>, program=0x80, argv=0x963c20, nargs=11893760) at
vm-i-system.c:1488
#7  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#8  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#9  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d6054da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d6054da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d6054da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d6054da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#12 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
<with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d6054e70) at
pthread_support.c:1180
#13 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d6054e70,
func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#14 with_guile_and_parent (base=base <at> entry=0x7fb4d6054e40,
data=data <at> entry=0x7fb4d6054e70)
at threads.c:934
#15 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4d6054e70) at misc.c:1553
#16 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#17 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#18 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
<do_thread_exit_trampoline>, arg=arg <at> entry=0xb57c00) at misc.c:1553
#19 0x00007fb4d9451aee in on_thread_exit (v=0xb57c00) at threads.c:752
#20 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#21 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d6055700) at
pthread_create.c:322
#22 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 11 (Thread 0x7fb4d4852700 (LWP 28926)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007fb4d8efa4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007fb4d912195d in GC_core_malloc (lb=64) at malloc.c:247
#4  0x00007fb4d946a51f in scm_words (n_words=<optimized out>,
car=<optimized out>) at ../libguile/gc.h:289
#5  vm_regular_engine (vm=0x7fb4d9348920 <GC_allocate_ml>, program=0x80,
argv=0x5, nargs=-645099620) at vm-i-system.c:1414
#6  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#7  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#8  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d4851da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d4851da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#9  0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d4851da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d4851da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#10 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#11 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
<with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d4851e70) at
pthread_support.c:1180
#12 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d4851e70,
func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#13 with_guile_and_parent (base=base <at> entry=0x7fb4d4851e40,
data=data <at> entry=0x7fb4d4851e70)
at threads.c:934
#14 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4d4851e70) at misc.c:1553
#15 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#16 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
<do_thread_exit_trampoline>, arg=arg <at> entry=0xa10e00) at misc.c:1553
#18 0x00007fb4d9451aee in on_thread_exit (v=0xa10e00) at threads.c:752
#19 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#20 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d4852700) at
pthread_create.c:322
#21 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 10 (Thread 0x7fb4cf7fe700 (LWP 28929)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007fb4d8efa4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007fb4d912195d in GC_core_malloc (lb=16) at malloc.c:247
#4  0x00007fb4d9458292 in scm_cell (cdr=10465024, car=55) at
../libguile/gc.h:232
#5  make_vm () at vm.c:728
#6  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
#7  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#8  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#9  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4cf7fdd50,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4cf7fdd50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4cf7fdd50,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4cf7fdd50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#12 0x00007fb4d94526dc in with_guile_and_parent
(base=base <at> entry=0x7fb4cf7fddb0,
data=data <at> entry=0x7fb4cf7fdde0) at threads.c:906
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4cf7fdde0) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:9
#17 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#18 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#19 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4cf7fe700) at
pthread_create.c:309
#20 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 9 (Thread 0x7fb4d5053700 (LWP 28925)):
#0  pthread_once () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
#1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
scmsigs.c:211
#2  0x00007fb4d9452d50 in do_thread_exit (v=0x815400) at threads.c:669
#3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d5052da0) at continuations.c:517
#4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
program=0x80, argv=0xcda0b8, nargs=-649913776) at vm-i-system.c:858
#5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d5052da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d5052da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d5052da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d5052da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
<with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d5052e70) at
pthread_support.c:1180
#11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d5052e70,
func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#12 with_guile_and_parent (base=base <at> entry=0x7fb4d5052e40,
data=data <at> entry=0x7fb4d5052e70)
at threads.c:934
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4d5052e70) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
<do_thread_exit_trampoline>, arg=arg <at> entry=0x815400) at misc.c:1553
#17 0x00007fb4d9451aee in on_thread_exit (v=0x815400) at threads.c:752
#18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d5053700) at
pthread_create.c:322
#20 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 8 (Thread 0x7fb4c7fff700 (LWP 28927)):
#0  memset () at ../sysdeps/x86_64/memset.S:93
#1  0x00007fb4d91216a0 in GC_generic_malloc (lb=524288, k=<optimized out>)
at malloc.c:193
#2  0x00007fb4d94581ff in make_vm () at vm.c:704
#3  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
#4  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#5  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#6  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4c7ffed50,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4c7ffed50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#7  0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4c7ffed50,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4c7ffed50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#8  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#9  0x00007fb4d94526dc in with_guile_and_parent
(base=base <at> entry=0x7fb4c7ffedb0,
data=data <at> entry=0x7fb4c7ffede0) at threads.c:906
#10 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4c7ffede0) at misc.c:1553
#11 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#12 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#13 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:9
#14 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#15 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#16 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4c7fff700) at
pthread_create.c:309
#17 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fb4d6856700 (LWP 28922)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fb4d945308c in scm_pthread_cond_wait
(cond=cond <at> entry=0x7fb4d6855a88,
mutex=mutex <at> entry=0x7fb4d6855a60) at threads.c:1980
#2  0x00007fb4d945327b in scm_spawn_thread (body=body <at> entry=0x7fb4d9430150
<signal_delivery_thread>, body_data=body_data <at> entry=0x0, handler=<optimized
out>, handler_data=handler_data <at> entry=0x7fb4d9499ea8) at threads.c:1141
#3  0x00007fb4d9430121 in start_signal_delivery_thread () at scmsigs.c:199
#4  0x00007fb4d8efd450 in pthread_once () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:103
#5  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
scmsigs.c:211
#6  0x00007fb4d9452d50 in do_thread_exit (v=0xb57e00) at threads.c:669
#7  0x00007fb4d93d4c0a in c_body (d=0x7fb4d6855da0) at continuations.c:517
#8  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d6855a8c,
program=0x80, argv=0xb580b8, nargs=-649913776) at vm-i-system.c:858
#9  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#10 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#11 0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d6855da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d6855da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#12 0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d6855da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d6855da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#13 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#14 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
<with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d6855e70) at
pthread_support.c:1180
#15 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d6855e70,
func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#16 with_guile_and_parent (base=base <at> entry=0x7fb4d6855e40,
data=data <at> entry=0x7fb4d6855e70)
at threads.c:934
#17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4d6855e70) at misc.c:1553
#18 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#19 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#20 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
<do_thread_exit_trampoline>, arg=arg <at> entry=0xb57e00) at misc.c:1553
#21 0x00007fb4d9451aee in on_thread_exit (v=0xb57e00) at threads.c:752
#22 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#23 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d6856700) at
pthread_create.c:322
#24 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7fb4cffff700 (LWP 28928)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007fb4d8efa4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007fb4d912195d in GC_core_malloc (lb=16) at malloc.c:247
#4  0x00007fb4d9458292 in scm_cell (cdr=8954240, car=55) at
../libguile/gc.h:232
#5  make_vm () at vm.c:728
#6  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
#7  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#8  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#9  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4cfffed70,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4cfffed70,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4cfffed70,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4cfffed70,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#12 0x00007fb4d94526dc in with_guile_and_parent
(base=base <at> entry=0x7fb4cfffedd0,
data=data <at> entry=0x7fb4cfffee00) at threads.c:906
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4cfffee00) at misc.c:1553
#14 0x00007fb4d94520dc in scm_i_with_guile_and_parent (parent=<optimized
out>, data=0x7fb4d6855a30, func=0x7fb4d9452f10 <really_spawn>) at
threads.c:949
#15 spawn_thread (d=0x7fb4d6855a30) at threads.c:1110
#16 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#18 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4cffff700) at
pthread_create.c:309
#19 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fb4d5854700 (LWP 28924)):
#0  pthread_once () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
#1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
scmsigs.c:211
#2  0x00007fb4d9452d50 in do_thread_exit (v=0x815600) at threads.c:669
#3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d5853da0) at continuations.c:517
#4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
program=0x80, argv=0xc5a0b8, nargs=-649913776) at vm-i-system.c:858
#5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d5853da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d5853da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d5853da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d5853da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
<with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d5853e70) at
pthread_support.c:1180
#11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d5853e70,
func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#12 with_guile_and_parent (base=base <at> entry=0x7fb4d5853e40,
data=data <at> entry=0x7fb4d5853e70)
at threads.c:934
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4d5853e70) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
<do_thread_exit_trampoline>, arg=arg <at> entry=0x815600) at misc.c:1553
#17 0x00007fb4d9451aee in on_thread_exit (v=0x815600) at threads.c:752
#18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d5854700) at
pthread_create.c:322
#20 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fb4d7057700 (LWP 28921)):
#0  pthread_once () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
#1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
scmsigs.c:211
#2  0x00007fb4d9452d50 in do_thread_exit (v=0xa10000) at threads.c:669
#3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d7056da0) at continuations.c:517
#4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
program=0x80, argv=0xad70b8, nargs=-649913776) at vm-i-system.c:858
#5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d7056da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d7056da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d7056da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d7056da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
<with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d7056e70) at
pthread_support.c:1180
#11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d7056e70,
func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#12 with_guile_and_parent (base=base <at> entry=0x7fb4d7056e40,
data=data <at> entry=0x7fb4d7056e70)
at threads.c:934
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4d7056e70) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
<do_thread_exit_trampoline>, arg=arg <at> entry=0xa10000) at misc.c:1553
#17 0x00007fb4d9451aee in on_thread_exit (v=0xa10000) at threads.c:752
#18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d7057700) at
pthread_create.c:322
#20 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fb4d98fa740 (LWP 28919)):
#0  0x00007fb4d8bbe5d6 in _int_free (av=<optimized out>, p=<optimized out>,
have_lock=0) at malloc.c:4077
#1  0x0000000000400916 in do_mallocs () at corruption_guile.c:18
#2  0x000000000040097c in main (argc=1, argv=0x7ffef9d57398) at
corruption_guile.c:30

Thread 2 (Thread 0x7fb4d7858700 (LWP 28920)):
#0  pthread_once () at
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
#1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
scmsigs.c:211
#2  0x00007fb4d9452d50 in do_thread_exit (v=0xa10200) at threads.c:669
#3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d7857da0) at continuations.c:517
#4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
program=0x80, argv=0xa570b8, nargs=-649913776) at vm-i-system.c:858
#5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d7857da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d7857da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4d7857da0,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4d7857da0,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
<with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d7857e70) at
pthread_support.c:1180
#11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d7857e70,
func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#12 with_guile_and_parent (base=base <at> entry=0x7fb4d7857e40,
data=data <at> entry=0x7fb4d7857e70)
at threads.c:934
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4d7857e70) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
<do_thread_exit_trampoline>, arg=arg <at> entry=0xa10200) at misc.c:1553
#17 0x00007fb4d9451aee in on_thread_exit (v=0xa10200) at threads.c:752
#18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d7858700) at
pthread_create.c:322
#20 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fb4ceffd700 (LWP 28930)):
#0  GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
#1  0x00007fb4d94581ff in make_vm () at vm.c:704
#2  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
#3  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#4  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#5  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4ceffcd50,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4ceffcd50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
#6  0x00007fb4d93d5381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7fb4d93d4c00
<c_body>, body_data=body_data <at> entry=0x7fb4ceffcd50,
handler=handler <at> entry=0x7fb4d93d4fe0
<c_handler>, handler_data=handler_data <at> entry=0x7fb4ceffcd50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
<pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
continuations.c:455
#7  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#8  0x00007fb4d94526dc in with_guile_and_parent
(base=base <at> entry=0x7fb4ceffcdb0,
data=data <at> entry=0x7fb4ceffcde0) at threads.c:906
#9  0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
<with_guile_and_parent>, arg=arg <at> entry=0x7fb4ceffcde0) at misc.c:1553
#10 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:9
#13 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#14 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#15 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4ceffd700) at
pthread_create.c:309
#16 0x00007fb4d8c2d87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111



Second backtrace:

Thread 6 (Thread 0x7f3b45281700 (LWP 30465)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007f3b4a92b4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007f3b4ab5295d in GC_core_malloc (lb=16) at malloc.c:247
#4  0x00007f3b4ae89292 in scm_cell (cdr=32661376, car=55) at
../libguile/gc.h:232
#5  make_vm () at vm.c:728
#6  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
#7  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#8  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#9  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b45280d50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b45280d50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
#10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b45280d50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b45280d50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
continuations.c:455
#11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#12 0x00007f3b4ae836dc in with_guile_and_parent
(base=base <at> entry=0x7f3b45280db0,
data=data <at> entry=0x7f3b45280de0) at threads.c:906
#13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
<with_guile_and_parent>, arg=arg <at> entry=0x7f3b45280de0) at misc.c:1553
#14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:9
#17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#19 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b45281700) at
pthread_create.c:309
#20 0x00007f3b4a65e87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7f3b45a82700 (LWP 30463)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007f3b4a92b4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007f3b4ab5295d in GC_core_malloc (lb=16) at malloc.c:247
#4  0x00007f3b4ae89292 in scm_cell (cdr=31150464, car=55) at
../libguile/gc.h:232
#5  make_vm () at vm.c:728
#6  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
#7  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#8  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#9  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b45a81d50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b45a81d50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
#10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b45a81d50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b45a81d50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
continuations.c:455
#11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#12 0x00007f3b4ae836dc in with_guile_and_parent
(base=base <at> entry=0x7f3b45a81db0,
data=data <at> entry=0x7f3b45a81de0) at threads.c:906
#13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
<with_guile_and_parent>, arg=arg <at> entry=0x7f3b45a81de0) at misc.c:1553
#14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:9
#17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#19 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b45a82700) at
pthread_create.c:309
#20 0x00007f3b4a65e87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f3b44a80700 (LWP 30466)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007f3b4a92b4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007f3b4ab5295d in GC_core_malloc (lb=16) at malloc.c:247
#4  0x00007f3b4ae89292 in scm_cell (cdr=32661248, car=55) at
../libguile/gc.h:232
#5  make_vm () at vm.c:728
#6  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
#7  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#8  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#9  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b44a7fd50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b44a7fd50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
#10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b44a7fd50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b44a7fd50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
continuations.c:455
#11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#12 0x00007f3b4ae836dc in with_guile_and_parent
(base=base <at> entry=0x7f3b44a7fdb0,
data=data <at> entry=0x7f3b44a7fde0) at threads.c:906
#13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
<with_guile_and_parent>, arg=arg <at> entry=0x7f3b44a7fde0) at misc.c:1553
#14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:9
#17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#19 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b44a80700) at
pthread_create.c:309
#20 0x00007f3b4a65e87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f3b46283700 (LWP 30464)):
#0  0x00007f3b4a92fadd in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f3b4ae61227 in read_signal_pipe_data (data=0x7f3b46282840) at
scmsigs.c:149
#2  0x00007f3b4ab5ca20 in GC_do_blocking_inner (data=data <at> entry=0x7f3b46282800
"\020\022\346J;\177", context=context <at> entry=0x7f3b46282440) at
pthread_support.c:1141
#3  0x00007f3b4ab5e07c in GC_with_callee_saves_pushed (fn=0x7f3b4ab5c9e0
<GC_do_blocking_inner>, arg=arg <at> entry=0x7f3b46282800 "\020\022\346J;\177")
at mach_dep.c:273
#4  0x00007f3b4ab5733c in GC_do_blocking (fn=fn <at> entry=0x7f3b4ae61210
<read_signal_pipe_data>, client_data=client_data <at> entry=0x7f3b46282840) at
misc.c:1657
#5  0x00007f3b4ae83b3a in with_gc_inactive (data=0x7f3b46282840,
func=0x7f3b4ae61210 <read_signal_pipe_data>) at threads.c:230
#6  scm_without_guile (func=0x7f3b4ae61210 <read_signal_pipe_data>,
data=0x7f3b46282840) at threads.c:968
#7  0x00007f3b4ae6118f in signal_delivery_thread (data=<optimized out>) at
scmsigs.c:169
#8  0x00007f3b4aea0752 in vm_regular_engine (vm=0xf,
program=0x7f3b46282840, argv=0x2285168, nargs=1256598096) at
vm-i-system.c:858
#9  0x00007f3b4ae0f5ce in scm_call_3 (proc=0x1d54c30, arg1=<optimized out>,
arg2=<optimized out>, arg3=<optimized out>) at eval.c:500
#10 0x00007f3b4ae85d3e in scm_catch (key=<optimized out>, thunk=<optimized
out>, handler=<optimized out>) at throw.c:63
#11 0x00007f3b4ae85d95 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:71
#12 0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7f3b4ae61150
<signal_delivery_thread>, body_data=body_data <at> entry=0x0,
handler=handler <at> entry=0x7f3b4ae861e0 <scm_handle_by_message>,
handler_data=handler_data <at> entry=0x7f3b4aecaea8,
pre_unwind_handler=pre_unwind_handler <at> entry=0x0,
pre_unwind_handler_data=0x0) at throw.c:207
#13 0x00007f3b4ae85e9e in scm_internal_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7f3b4ae61150 <signal_delivery_thread>,
body_data=body_data <at> entry=0x0, handler=handler <at> entry=0x7f3b4ae861e0
<scm_handle_by_message>, handler_data=handler_data <at> entry=0x7f3b4aecaea8) at
throw.c:216
#14 0x00007f3b4ae83f8c in really_spawn (d=0x7f3b48a87a30) at threads.c:1098
#15 0x00007f3b4ae05c0a in c_body (d=0x7f3b46282d70) at continuations.c:517
#16 0x00007f3b4aea0752 in vm_regular_engine (vm=0xf,
program=0x7f3b46282840, argv=0x22850b8, nargs=1256598096) at
vm-i-system.c:858
#17 0x00007f3b4ae0f613 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#18 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#19 0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b46282d70,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b46282d70,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
#20 0x00007f3b4ae06381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b46282d70,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b46282d70,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
continuations.c:455
#21 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#22 0x00007f3b4ae836dc in with_guile_and_parent
(base=base <at> entry=0x7f3b46282dd0,
data=data <at> entry=0x7f3b46282e00) at threads.c:906
#23 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
<with_guile_and_parent>, arg=arg <at> entry=0x7f3b46282e00) at misc.c:1553
#24 0x00007f3b4ae830dc in scm_i_with_guile_and_parent (parent=<optimized
out>, data=0x7f3b48a87a30, func=0x7f3b4ae83f10 <really_spawn>) at
threads.c:949
#25 spawn_thread (d=0x7f3b48a87a30) at threads.c:1110
#26 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#27 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#28 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b46283700) at
pthread_create.c:309
#29 0x00007f3b4a65e87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f3b4b32b740 (LWP 30456)):
#0  __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1  0x00007f3b4a92b4b9 in _L_lock_909 () from
/lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
<GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3  0x00007f3b4ab5ce09 in GC_pthread_join (thread=139892607194880,
retval=0x0) at pthread_support.c:1283
#4  0x000000000040099c in main (argc=1, argv=0x7ffcfd8daa48) at
corruption_guile.c:33

Thread 1 (Thread 0x7f3b37fff700 (LWP 30467)):
#0  GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
#1  0x00007f3b4ae891ff in make_vm () at vm.c:704
#2  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
#3  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
eval.c:507
#4  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler
(key=key <at> entry=0x404,
thunk=<optimized out>, handler=<optimized out>,
pre_unwind_handler=<optimized out>) at throw.c:73
#5  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b37ffed50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b37ffed50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
#6  0x00007f3b4ae06381 in scm_i_with_continuation_barrier
(body=body <at> entry=0x7f3b4ae05c00
<c_body>, body_data=body_data <at> entry=0x7f3b37ffed50,
handler=handler <at> entry=0x7f3b4ae05fe0
<c_handler>, handler_data=handler_data <at> entry=0x7f3b37ffed50,
pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
<pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
continuations.c:455
#7  0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
out>, data=<optimized out>) at continuations.c:551
#8  0x00007f3b4ae836dc in with_guile_and_parent
(base=base <at> entry=0x7f3b37ffedb0,
data=data <at> entry=0x7f3b37ffede0) at threads.c:906
#9  0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
<with_guile_and_parent>, arg=arg <at> entry=0x7f3b37ffede0) at misc.c:1553
#10 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
out>, data=<optimized out>, func=<optimized out>) at threads.c:949
#11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
threads.c:955
#12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
corruption_guile.c:9
#13 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
variable: value has been optimized out>, arg=<error reading variable: value
has been optimized out>) at pthread_start.c:56
#14 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
arg=<optimized out>) at misc.c:1553
#15 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b37fff700) at
pthread_create.c:309
#16 0x00007f3b4a65e87d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111




On Wed, Jun 22, 2016 at 11:27 PM, Andy Wingo <wingo <at> pobox.com> wrote:

> I can reproduce this bug, but I can't get backtraces from my core file
> :/  Irritating.  Are you able to get backtraces reliably?  Can you
> provide a "thr apply all bt" ?
>
> Regards,
>
> Andy
>
> On Tue 06 Jan 2015 15:27, Anthonin Bonnefoy <
> anthonin.bonnefoy <at> securactive.net> writes:
>
> > Hi all,
> >
> > I have segfaults occurring sometimes when threads are starting with
> > scm_with_guile while main thread is using malloc.
> >
> > Example program:
> > ```
> > #include <stdlib.h>
> > #include <pthread.h>
> > #include <libguile.h>
> >
> > static void *a_libguile_thread(void *unused) {
> > }
> >
> > static void *a_libguile_thread_(void *unused) {
> > scm_with_guile(a_libguile_thread, NULL);
> > }
> >
> > static void do_mallocs(void) {
> > void *a[1000];
> > for (int i = 0; i < 1000; ++i) {
> > a[i] = malloc(356);
> > }
> > for (int i = 0; i < 1000; ++i) {
> > free(a[i]);
> > }
> > }
> >
> > int main(int argc, char *argv[]) {
> > scm_init_guile();
> >
> > pthread_t pth[10];
> > for (int i = 0; i < 10; ++i) {
> > GC_pthread_create(pth + i, NULL, a_libguile_thread_, NULL);
> > }
> >
> > do_mallocs();
> >
> > for (int i = 0; i < 10; ++i) {
> > GC_pthread_join(pth[i], NULL);
> > }
> >
> > return 0;
> > }
> >
> > ```
> > To compile:
> > gcc corruption_guile.c -g -std=c99 `pkg-config --cflags --libs
> > guile-2.0`
> > ```
> > Some iterations are needed before having the segfaults:
> > while ./a.out; do echo -n "."; done;
> > ```
> > Versions:
> > gcc (Debian 4.9.1-19) 4.9.1
> > guile (GNU Guile) 2.0.11.20-4338f (also tried from v2.0.11 tag)
> > libgc gc7_2d
> > ```
> > Backtrace:
> >
> > #0 GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
> > #1 0x00007fcc535541ff in make_vm () at vm.c:704
> > #2 0x00007fcc535542d5 in scm_the_vm () at vm.c:781
> > #3 0x00007fcc534da600 in scm_call_4 (proc=0x1198c30,
> > arg1=arg1 <at> entry=0x404, arg2=<optimized out>, arg3=<optimized out>,
> > arg4=<optimized out>) at eval.c:507
> > #4 0x00007fcc53550d89 in scm_catch_with_pre_unwind_handler
> > (key=key <at> entry=0x404, thunk=<optimized out>, handler=<optimized out>,
> > pre_unwind_handler=<optimized out>) at throw.c:73
> > #5 0x00007fcc53550e8f in scm_c_catch (tag=tag <at> entry=0x404,
> > body=body <at> entry=0x7fcc534d0c00 <c_body>,
> > body_data=body_data <at> entry=0x7fcc4d14cd50,
> > handler=handler <at> entry=0x7fcc534d0fe0 <c_handler>,
> > handler_data=handler_data <at> entry=0x7fcc4d14cd50
> > , pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
> > <pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at
> > throw.c:207
> > #6 0x00007fcc534d1381 in scm_i_with_continuation_barrier
> > (body=body <at> entry=0x7fcc534d0c00 <c_body>,
> > body_data=body_data <at> entry=0x7fcc4d14cd50,
> > handler=handler <at> entry=0x7fcc534d0fe0 <c_handler>,
> > handler_data=handler_data <at> entry=0x7fcc4d14cd50,
> > pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
> > <pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at
> > continuations.c:455
> > #7 0x00007fcc534d1415 in scm_c_with_continuation_barrier
> > (func=<optimized out>, data=<optimized out>) at continuations.c:551
> > #8 0x00007fcc5354e6dc in with_guile_and_parent
> > (base=base <at> entry=0x7fcc4d14cdb0, data=data <at> entry=0x7fcc4d14cde0) at
> > threads.c:906
> > #9 0x00007fcc53222302 in GC_call_with_stack_base
> > (fn=fn <at> entry=0x7fcc5354e690 <with_guile_and_parent>,
> > arg=arg <at> entry=0x7fcc4d14cde0) at misc.c:1553
> > #10 0x00007fcc5354eac8 in scm_i_with_guile_and_parent
> > (parent=<optimized out>, data=<optimized out>, func=<optimized out>)
> > at threads.c:949
> > #11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> > threads.c:955
> > #12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> > corruption_guile.c:11
> > #13 0x00007fcc53226f6e in GC_inner_start_routine (sb=<error reading
> > variable: value has been optimized out>, arg=<error reading variable:
> > value has been optimized out>) at pthread_start.c:56
> > #14 0x00007fcc53222302 in GC_call_with_stack_base (fn=<optimized out>,
> > arg=<optimized out>) at misc.c:1553
> > #15 0x00007fcc52ff40a4 in start_thread (arg=0x7fcc4d14d700) at
> > pthread_create.c:309
> > #16 0x00007fcc52d28ccd in clone () at .
> > ./sysdeps/unix/sysv/linux/x86_64/clone.S:111
> > ```
> >
> > I thought at first it was a problem with libgc but the given program
> > run without problems.
> > ```
> > #include <stdlib.h>
> > #include <pthread.h>
> > #define GC_THREADS 1
> > #define GC_NO_THREAD_REDIRECTS 1
> > #include <gc/gc_mark.h>
> > #include <gc.h>
> >
> > static void *a_lib_gc_thread(void *unused) {
> > void *a;
> > for (int i = 0; i < 100; ++i) {
> > a = GC_generic_malloc(524288, 6);
> > }
> > GC_free(a);
> > }
> >
> > static void do_mallocs(void) {
> > void *a[100];
> > for (int i = 0; i < 100; ++i) {
> > a[i] = malloc(356);
> > }
> > for (int i = 0; i < 100; ++i) {
> > free(a[i]);
> > }
> > }
> >
> > int main(int argc, char *argv[]) {
> > pthread_t pth[10];
> > for (int i = 0; i < 10; ++i) {
> > GC_pthread_create(pth + i, NULL, a_lib_gc_thread, NULL);
> > }
> > do_mallocs();
> > for (int i = 0; i < 10; ++i) {
> > GC_pthread_join(pth[i], NULL);
> > }
> > return 0;
> > }
> > ```
> > I also tried to replace malloc by scm_malloc with no luck.
> >
> > Regards, Anthonin
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#19523; Package guile. (Thu, 23 Jun 2016 08:20:01 GMT) Full text and rfc822 format available.

Message #14 received at 19523 <at> debbugs.gnu.org (full text, mbox):

From: Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>
To: Andy Wingo <wingo <at> pobox.com>
Cc: 19523 <at> debbugs.gnu.org
Subject: Re: bug#19523: Segfault when creating thread with scm_with_guile
Date: Thu, 23 Jun 2016 10:19:08 +0200
[Message part 1 (text/plain, inline)]
Forget about the specific sha1, it compiled with my system-wide .so which
should be on the v2.0.11 tag.

I tried to reproduce the problem in a rr record (I had to change
SIG_SUSPEND to SIGUSR1 in bdwgc) without success.

On Thu, Jun 23, 2016 at 8:43 AM, Anthonin Bonnefoy <
anthonin.bonnefoy <at> securactive.net> wrote:

> I moved guile to 08df681976d6c6d97a659f4aebb6f7125e5aad2e before
> generating those coredumps.
> Backtraces are a bit different between executions, so here are two "t a a
> bt" from two differents coredump.
>
> First backtrace:
>
> #0  GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
>
> Thread 12 (Thread 0x7fb4d6055700 (LWP 28923)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007fb4d8efa4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007fb4d912195d in GC_core_malloc (lb=16) at malloc.c:247
> #4  0x00007fb4d941c636 in scm_cell (cdr=772, car=9845792) at
> ../libguile/gc.h:232
> #5  scm_cons (x=0x963c20, y=0x304) at pairs.c:78
> #6  0x00007fb4d946aed8 in vm_regular_engine (vm=0x7fb4d9348920
> <GC_allocate_ml>, program=0x80, argv=0x963c20, nargs=11893760) at
> vm-i-system.c:1488
> #7  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #8  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #9  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4d6054da0,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4d6054da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4d6054da0, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4d6054da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #12 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
> <with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d6054e70) at
> pthread_support.c:1180
> #13 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d6054e70,
> func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
> #14 with_guile_and_parent (base=base <at> entry=0x7fb4d6054e40, data=data <at> entry=0x7fb4d6054e70)
> at threads.c:934
> #15 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4d6054e70) at misc.c:1553
> #16 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #17 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #18 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
> <do_thread_exit_trampoline>, arg=arg <at> entry=0xb57c00) at misc.c:1553
> #19 0x00007fb4d9451aee in on_thread_exit (v=0xb57c00) at threads.c:752
> #20 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
> #21 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d6055700) at
> pthread_create.c:322
> #22 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 11 (Thread 0x7fb4d4852700 (LWP 28926)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007fb4d8efa4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007fb4d912195d in GC_core_malloc (lb=64) at malloc.c:247
> #4  0x00007fb4d946a51f in scm_words (n_words=<optimized out>,
> car=<optimized out>) at ../libguile/gc.h:289
> #5  vm_regular_engine (vm=0x7fb4d9348920 <GC_allocate_ml>, program=0x80,
> argv=0x5, nargs=-645099620) at vm-i-system.c:1414
> #6  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #7  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #8  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4d4851da0,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4d4851da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #9  0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4d4851da0, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4d4851da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #10 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #11 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
> <with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d4851e70) at
> pthread_support.c:1180
> #12 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d4851e70,
> func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
> #13 with_guile_and_parent (base=base <at> entry=0x7fb4d4851e40, data=data <at> entry=0x7fb4d4851e70)
> at threads.c:934
> #14 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4d4851e70) at misc.c:1553
> #15 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #16 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
> <do_thread_exit_trampoline>, arg=arg <at> entry=0xa10e00) at misc.c:1553
> #18 0x00007fb4d9451aee in on_thread_exit (v=0xa10e00) at threads.c:752
> #19 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
> #20 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d4852700) at
> pthread_create.c:322
> #21 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 10 (Thread 0x7fb4cf7fe700 (LWP 28929)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007fb4d8efa4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007fb4d912195d in GC_core_malloc (lb=16) at malloc.c:247
> #4  0x00007fb4d9458292 in scm_cell (cdr=10465024, car=55) at
> ../libguile/gc.h:232
> #5  make_vm () at vm.c:728
> #6  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
> #7  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #8  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #9  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4cf7fdd50,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4cf7fdd50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4cf7fdd50, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4cf7fdd50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #12 0x00007fb4d94526dc in with_guile_and_parent (base=base <at> entry=0x7fb4cf7fddb0,
> data=data <at> entry=0x7fb4cf7fdde0) at threads.c:906
> #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4cf7fdde0) at misc.c:1553
> #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:9
> #17 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #18 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #19 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4cf7fe700) at
> pthread_create.c:309
> #20 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 9 (Thread 0x7fb4d5053700 (LWP 28925)):
> #0  pthread_once () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
> #1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
> scmsigs.c:211
> #2  0x00007fb4d9452d50 in do_thread_exit (v=0x815400) at threads.c:669
> #3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d5052da0) at continuations.c:517
> #4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
> program=0x80, argv=0xcda0b8, nargs=-649913776) at vm-i-system.c:858
> #5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4d5052da0,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4d5052da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4d5052da0, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4d5052da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
> <with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d5052e70) at
> pthread_support.c:1180
> #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d5052e70,
> func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
> #12 with_guile_and_parent (base=base <at> entry=0x7fb4d5052e40, data=data <at> entry=0x7fb4d5052e70)
> at threads.c:934
> #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4d5052e70) at misc.c:1553
> #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
> <do_thread_exit_trampoline>, arg=arg <at> entry=0x815400) at misc.c:1553
> #17 0x00007fb4d9451aee in on_thread_exit (v=0x815400) at threads.c:752
> #18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
> #19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d5053700) at
> pthread_create.c:322
> #20 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 8 (Thread 0x7fb4c7fff700 (LWP 28927)):
> #0  memset () at ../sysdeps/x86_64/memset.S:93
> #1  0x00007fb4d91216a0 in GC_generic_malloc (lb=524288, k=<optimized out>)
> at malloc.c:193
> #2  0x00007fb4d94581ff in make_vm () at vm.c:704
> #3  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
> #4  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #5  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #6  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4c7ffed50,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4c7ffed50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #7  0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4c7ffed50, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4c7ffed50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #8  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #9  0x00007fb4d94526dc in with_guile_and_parent (base=base <at> entry=0x7fb4c7ffedb0,
> data=data <at> entry=0x7fb4c7ffede0) at threads.c:906
> #10 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4c7ffede0) at misc.c:1553
> #11 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #12 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #13 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:9
> #14 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #15 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #16 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4c7fff700) at
> pthread_create.c:309
> #17 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 7 (Thread 0x7fb4d6856700 (LWP 28922)):
> #0  pthread_cond_wait@@GLIBC_2.3.2 () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
> #1  0x00007fb4d945308c in scm_pthread_cond_wait (cond=cond <at> entry=0x7fb4d6855a88,
> mutex=mutex <at> entry=0x7fb4d6855a60) at threads.c:1980
> #2  0x00007fb4d945327b in scm_spawn_thread (body=body <at> entry=0x7fb4d9430150
> <signal_delivery_thread>, body_data=body_data <at> entry=0x0,
> handler=<optimized out>, handler_data=handler_data <at> entry=0x7fb4d9499ea8)
> at threads.c:1141
> #3  0x00007fb4d9430121 in start_signal_delivery_thread () at scmsigs.c:199
> #4  0x00007fb4d8efd450 in pthread_once () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:103
> #5  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
> scmsigs.c:211
> #6  0x00007fb4d9452d50 in do_thread_exit (v=0xb57e00) at threads.c:669
> #7  0x00007fb4d93d4c0a in c_body (d=0x7fb4d6855da0) at continuations.c:517
> #8  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d6855a8c,
> program=0x80, argv=0xb580b8, nargs=-649913776) at vm-i-system.c:858
> #9  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #10 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #11 0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4d6855da0,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4d6855da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #12 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4d6855da0, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4d6855da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #13 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #14 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
> <with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d6855e70) at
> pthread_support.c:1180
> #15 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d6855e70,
> func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
> #16 with_guile_and_parent (base=base <at> entry=0x7fb4d6855e40, data=data <at> entry=0x7fb4d6855e70)
> at threads.c:934
> #17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4d6855e70) at misc.c:1553
> #18 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #19 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #20 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
> <do_thread_exit_trampoline>, arg=arg <at> entry=0xb57e00) at misc.c:1553
> #21 0x00007fb4d9451aee in on_thread_exit (v=0xb57e00) at threads.c:752
> #22 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
> #23 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d6856700) at
> pthread_create.c:322
> #24 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 6 (Thread 0x7fb4cffff700 (LWP 28928)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007fb4d8efa4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=0x7fb4d9348920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007fb4d912195d in GC_core_malloc (lb=16) at malloc.c:247
> #4  0x00007fb4d9458292 in scm_cell (cdr=8954240, car=55) at
> ../libguile/gc.h:232
> #5  make_vm () at vm.c:728
> #6  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
> #7  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #8  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #9  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4cfffed70,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4cfffed70,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4cfffed70, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4cfffed70,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #12 0x00007fb4d94526dc in with_guile_and_parent (base=base <at> entry=0x7fb4cfffedd0,
> data=data <at> entry=0x7fb4cfffee00) at threads.c:906
> #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4cfffee00) at misc.c:1553
> #14 0x00007fb4d94520dc in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=0x7fb4d6855a30, func=0x7fb4d9452f10 <really_spawn>) at
> threads.c:949
> #15 spawn_thread (d=0x7fb4d6855a30) at threads.c:1110
> #16 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #18 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4cffff700) at
> pthread_create.c:309
> #19 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 5 (Thread 0x7fb4d5854700 (LWP 28924)):
> #0  pthread_once () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
> #1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
> scmsigs.c:211
> #2  0x00007fb4d9452d50 in do_thread_exit (v=0x815600) at threads.c:669
> #3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d5853da0) at continuations.c:517
> #4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
> program=0x80, argv=0xc5a0b8, nargs=-649913776) at vm-i-system.c:858
> #5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4d5853da0,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4d5853da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4d5853da0, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4d5853da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
> <with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d5853e70) at
> pthread_support.c:1180
> #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d5853e70,
> func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
> #12 with_guile_and_parent (base=base <at> entry=0x7fb4d5853e40, data=data <at> entry=0x7fb4d5853e70)
> at threads.c:934
> #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4d5853e70) at misc.c:1553
> #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
> <do_thread_exit_trampoline>, arg=arg <at> entry=0x815600) at misc.c:1553
> #17 0x00007fb4d9451aee in on_thread_exit (v=0x815600) at threads.c:752
> #18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
> #19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d5854700) at
> pthread_create.c:322
> #20 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 4 (Thread 0x7fb4d7057700 (LWP 28921)):
> #0  pthread_once () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
> #1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
> scmsigs.c:211
> #2  0x00007fb4d9452d50 in do_thread_exit (v=0xa10000) at threads.c:669
> #3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d7056da0) at continuations.c:517
> #4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
> program=0x80, argv=0xad70b8, nargs=-649913776) at vm-i-system.c:858
> #5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4d7056da0,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4d7056da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4d7056da0, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4d7056da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
> <with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d7056e70) at
> pthread_support.c:1180
> #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d7056e70,
> func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
> #12 with_guile_and_parent (base=base <at> entry=0x7fb4d7056e40, data=data <at> entry=0x7fb4d7056e70)
> at threads.c:934
> #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4d7056e70) at misc.c:1553
> #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
> <do_thread_exit_trampoline>, arg=arg <at> entry=0xa10000) at misc.c:1553
> #17 0x00007fb4d9451aee in on_thread_exit (v=0xa10000) at threads.c:752
> #18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
> #19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d7057700) at
> pthread_create.c:322
> #20 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 3 (Thread 0x7fb4d98fa740 (LWP 28919)):
> #0  0x00007fb4d8bbe5d6 in _int_free (av=<optimized out>, p=<optimized
> out>, have_lock=0) at malloc.c:4077
> #1  0x0000000000400916 in do_mallocs () at corruption_guile.c:18
> #2  0x000000000040097c in main (argc=1, argv=0x7ffef9d57398) at
> corruption_guile.c:30
>
> Thread 2 (Thread 0x7fb4d7858700 (LWP 28920)):
> #0  pthread_once () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
> #1  0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at
> scmsigs.c:211
> #2  0x00007fb4d9452d50 in do_thread_exit (v=0xa10200) at threads.c:669
> #3  0x00007fb4d93d4c0a in c_body (d=0x7fb4d7857da0) at continuations.c:517
> #4  0x00007fb4d946f752 in vm_regular_engine (vm=0x7fb4d96ff3c8 <once>,
> program=0x80, argv=0xa570b8, nargs=-649913776) at vm-i-system.c:858
> #5  0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #6  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #7  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4d7857da0,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4d7857da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #8  0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4d7857da0, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4d7857da0,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #9  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn <at> entry=0x7fb4d9452040
> <with_guile_trampoline>, client_data=client_data <at> entry=0x7fb4d7857e70) at
> pthread_support.c:1180
> #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d7857e70,
> func=0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
> #12 with_guile_and_parent (base=base <at> entry=0x7fb4d7857e40, data=data <at> entry=0x7fb4d7857e70)
> at threads.c:934
> #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4d7857e70) at misc.c:1553
> #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452ad0
> <do_thread_exit_trampoline>, arg=arg <at> entry=0xa10200) at misc.c:1553
> #17 0x00007fb4d9451aee in on_thread_exit (v=0xa10200) at threads.c:752
> #18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
> #19 0x00007fb4d8ef80b7 in start_thread (arg=0x7fb4d7858700) at
> pthread_create.c:322
> #20 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 1 (Thread 0x7fb4ceffd700 (LWP 28930)):
> #0  GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
> #1  0x00007fb4d94581ff in make_vm () at vm.c:704
> #2  0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
> #3  0x00007fb4d93de600 in scm_call_4 (proc=0x829c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #4  0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #5  0x00007fb4d9454e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7fb4d93d4c00 <c_body>, body_data=body_data <at> entry=0x7fb4ceffcd50,
> handler=handler <at> entry=0x7fb4d93d4fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7fb4ceffcd50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at throw.c:207
> #6  0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7fb4d93d4c00
> <c_body>, body_data=body_data <at> entry=0x7fb4ceffcd50, handler=handler <at> entry=0x7fb4d93d4fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7fb4ceffcd50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7fb4d93d4d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x90dff0) at
> continuations.c:455
> #7  0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #8  0x00007fb4d94526dc in with_guile_and_parent (base=base <at> entry=0x7fb4ceffcdb0,
> data=data <at> entry=0x7fb4ceffcde0) at threads.c:906
> #9  0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn <at> entry=0x7fb4d9452690
> <with_guile_and_parent>, arg=arg <at> entry=0x7fb4ceffcde0) at misc.c:1553
> #10 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:9
> #13 0x00007fb4d912af6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #14 0x00007fb4d9126302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #15 0x00007fb4d8ef80a4 in start_thread (arg=0x7fb4ceffd700) at
> pthread_create.c:309
> #16 0x00007fb4d8c2d87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
>
>
> Second backtrace:
>
> Thread 6 (Thread 0x7f3b45281700 (LWP 30465)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007f3b4a92b4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007f3b4ab5295d in GC_core_malloc (lb=16) at malloc.c:247
> #4  0x00007f3b4ae89292 in scm_cell (cdr=32661376, car=55) at
> ../libguile/gc.h:232
> #5  make_vm () at vm.c:728
> #6  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
> #7  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #8  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #9  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7f3b4ae05c00 <c_body>, body_data=body_data <at> entry=0x7f3b45280d50,
> handler=handler <at> entry=0x7f3b4ae05fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7f3b45280d50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
> #10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7f3b4ae05c00
> <c_body>, body_data=body_data <at> entry=0x7f3b45280d50, handler=handler <at> entry=0x7f3b4ae05fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7f3b45280d50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
> continuations.c:455
> #11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #12 0x00007f3b4ae836dc in with_guile_and_parent (base=base <at> entry=0x7f3b45280db0,
> data=data <at> entry=0x7f3b45280de0) at threads.c:906
> #13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
> <with_guile_and_parent>, arg=arg <at> entry=0x7f3b45280de0) at misc.c:1553
> #14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:9
> #17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #19 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b45281700) at
> pthread_create.c:309
> #20 0x00007f3b4a65e87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 5 (Thread 0x7f3b45a82700 (LWP 30463)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007f3b4a92b4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007f3b4ab5295d in GC_core_malloc (lb=16) at malloc.c:247
> #4  0x00007f3b4ae89292 in scm_cell (cdr=31150464, car=55) at
> ../libguile/gc.h:232
> #5  make_vm () at vm.c:728
> #6  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
> #7  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #8  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #9  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7f3b4ae05c00 <c_body>, body_data=body_data <at> entry=0x7f3b45a81d50,
> handler=handler <at> entry=0x7f3b4ae05fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7f3b45a81d50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
> #10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7f3b4ae05c00
> <c_body>, body_data=body_data <at> entry=0x7f3b45a81d50, handler=handler <at> entry=0x7f3b4ae05fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7f3b45a81d50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
> continuations.c:455
> #11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #12 0x00007f3b4ae836dc in with_guile_and_parent (base=base <at> entry=0x7f3b45a81db0,
> data=data <at> entry=0x7f3b45a81de0) at threads.c:906
> #13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
> <with_guile_and_parent>, arg=arg <at> entry=0x7f3b45a81de0) at misc.c:1553
> #14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:9
> #17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #19 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b45a82700) at
> pthread_create.c:309
> #20 0x00007f3b4a65e87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 4 (Thread 0x7f3b44a80700 (LWP 30466)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007f3b4a92b4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007f3b4ab5295d in GC_core_malloc (lb=16) at malloc.c:247
> #4  0x00007f3b4ae89292 in scm_cell (cdr=32661248, car=55) at
> ../libguile/gc.h:232
> #5  make_vm () at vm.c:728
> #6  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
> #7  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #8  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #9  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7f3b4ae05c00 <c_body>, body_data=body_data <at> entry=0x7f3b44a7fd50,
> handler=handler <at> entry=0x7f3b4ae05fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7f3b44a7fd50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
> #10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7f3b4ae05c00
> <c_body>, body_data=body_data <at> entry=0x7f3b44a7fd50, handler=handler <at> entry=0x7f3b4ae05fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7f3b44a7fd50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
> continuations.c:455
> #11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #12 0x00007f3b4ae836dc in with_guile_and_parent (base=base <at> entry=0x7f3b44a7fdb0,
> data=data <at> entry=0x7f3b44a7fde0) at threads.c:906
> #13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
> <with_guile_and_parent>, arg=arg <at> entry=0x7f3b44a7fde0) at misc.c:1553
> #14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #15 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #16 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:9
> #17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #19 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b44a80700) at
> pthread_create.c:309
> #20 0x00007f3b4a65e87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 3 (Thread 0x7f3b46283700 (LWP 30464)):
> #0  0x00007f3b4a92fadd in read () at ../sysdeps/unix/syscall-template.S:81
> #1  0x00007f3b4ae61227 in read_signal_pipe_data (data=0x7f3b46282840) at
> scmsigs.c:149
> #2  0x00007f3b4ab5ca20 in GC_do_blocking_inner (data=data <at> entry=0x7f3b46282800
> "\020\022\346J;\177", context=context <at> entry=0x7f3b46282440) at
> pthread_support.c:1141
> #3  0x00007f3b4ab5e07c in GC_with_callee_saves_pushed (fn=0x7f3b4ab5c9e0
> <GC_do_blocking_inner>, arg=arg <at> entry=0x7f3b46282800
> "\020\022\346J;\177") at mach_dep.c:273
> #4  0x00007f3b4ab5733c in GC_do_blocking (fn=fn <at> entry=0x7f3b4ae61210
> <read_signal_pipe_data>, client_data=client_data <at> entry=0x7f3b46282840) at
> misc.c:1657
> #5  0x00007f3b4ae83b3a in with_gc_inactive (data=0x7f3b46282840,
> func=0x7f3b4ae61210 <read_signal_pipe_data>) at threads.c:230
> #6  scm_without_guile (func=0x7f3b4ae61210 <read_signal_pipe_data>,
> data=0x7f3b46282840) at threads.c:968
> #7  0x00007f3b4ae6118f in signal_delivery_thread (data=<optimized out>) at
> scmsigs.c:169
> #8  0x00007f3b4aea0752 in vm_regular_engine (vm=0xf,
> program=0x7f3b46282840, argv=0x2285168, nargs=1256598096) at
> vm-i-system.c:858
> #9  0x00007f3b4ae0f5ce in scm_call_3 (proc=0x1d54c30, arg1=<optimized
> out>, arg2=<optimized out>, arg3=<optimized out>) at eval.c:500
> #10 0x00007f3b4ae85d3e in scm_catch (key=<optimized out>, thunk=<optimized
> out>, handler=<optimized out>) at throw.c:63
> #11 0x00007f3b4ae85d95 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:71
> #12 0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7f3b4ae61150 <signal_delivery_thread>,
> body_data=body_data <at> entry=0x0, handler=handler <at> entry=0x7f3b4ae861e0
> <scm_handle_by_message>, handler_data=handler_data <at> entry=0x7f3b4aecaea8,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x0,
> pre_unwind_handler_data=0x0) at throw.c:207
> #13 0x00007f3b4ae85e9e in scm_internal_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7f3b4ae61150 <signal_delivery_thread>,
> body_data=body_data <at> entry=0x0, handler=handler <at> entry=0x7f3b4ae861e0
> <scm_handle_by_message>, handler_data=handler_data <at> entry=0x7f3b4aecaea8)
> at throw.c:216
> #14 0x00007f3b4ae83f8c in really_spawn (d=0x7f3b48a87a30) at threads.c:1098
> #15 0x00007f3b4ae05c0a in c_body (d=0x7f3b46282d70) at continuations.c:517
> #16 0x00007f3b4aea0752 in vm_regular_engine (vm=0xf,
> program=0x7f3b46282840, argv=0x22850b8, nargs=1256598096) at
> vm-i-system.c:858
> #17 0x00007f3b4ae0f613 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #18 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #19 0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7f3b4ae05c00 <c_body>, body_data=body_data <at> entry=0x7f3b46282d70,
> handler=handler <at> entry=0x7f3b4ae05fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7f3b46282d70,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
> #20 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7f3b4ae05c00
> <c_body>, body_data=body_data <at> entry=0x7f3b46282d70, handler=handler <at> entry=0x7f3b4ae05fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7f3b46282d70,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
> continuations.c:455
> #21 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #22 0x00007f3b4ae836dc in with_guile_and_parent (base=base <at> entry=0x7f3b46282dd0,
> data=data <at> entry=0x7f3b46282e00) at threads.c:906
> #23 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
> <with_guile_and_parent>, arg=arg <at> entry=0x7f3b46282e00) at misc.c:1553
> #24 0x00007f3b4ae830dc in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=0x7f3b48a87a30, func=0x7f3b4ae83f10 <really_spawn>) at
> threads.c:949
> #25 spawn_thread (d=0x7f3b48a87a30) at threads.c:1110
> #26 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #27 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #28 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b46283700) at
> pthread_create.c:309
> #29 0x00007f3b4a65e87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 2 (Thread 0x7f3b4b32b740 (LWP 30456)):
> #0  __lll_lock_wait () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
> #1  0x00007f3b4a92b4b9 in _L_lock_909 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=0x7f3b4ad79920
> <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
> #3  0x00007f3b4ab5ce09 in GC_pthread_join (thread=139892607194880,
> retval=0x0) at pthread_support.c:1283
> #4  0x000000000040099c in main (argc=1, argv=0x7ffcfd8daa48) at
> corruption_guile.c:33
>
> Thread 1 (Thread 0x7f3b37fff700 (LWP 30467)):
> #0  GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
> #1  0x00007f3b4ae891ff in make_vm () at vm.c:704
> #2  0x00007f3b4ae892d5 in scm_the_vm () at vm.c:781
> #3  0x00007f3b4ae0f600 in scm_call_4 (proc=0x1d54c30, arg1=arg1 <at> entry=0x404,
> arg2=<optimized out>, arg3=<optimized out>, arg4=<optimized out>) at
> eval.c:507
> #4  0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key <at> entry=0x404,
> thunk=<optimized out>, handler=<optimized out>,
> pre_unwind_handler=<optimized out>) at throw.c:73
> #5  0x00007f3b4ae85e8f in scm_c_catch (tag=tag <at> entry=0x404,
> body=body <at> entry=0x7f3b4ae05c00 <c_body>, body_data=body_data <at> entry=0x7f3b37ffed50,
> handler=handler <at> entry=0x7f3b4ae05fe0 <c_handler>,
> handler_data=handler_data <at> entry=0x7f3b37ffed50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at throw.c:207
> #6  0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body <at> entry=0x7f3b4ae05c00
> <c_body>, body_data=body_data <at> entry=0x7f3b37ffed50, handler=handler <at> entry=0x7f3b4ae05fe0
> <c_handler>, handler_data=handler_data <at> entry=0x7f3b37ffed50,
> pre_unwind_handler=pre_unwind_handler <at> entry=0x7f3b4ae05d90
> <pre_unwind_handler>, pre_unwind_handler_data=0x1e38ff0) at
> continuations.c:455
> #7  0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func=<optimized
> out>, data=<optimized out>) at continuations.c:551
> #8  0x00007f3b4ae836dc in with_guile_and_parent (base=base <at> entry=0x7f3b37ffedb0,
> data=data <at> entry=0x7f3b37ffede0) at threads.c:906
> #9  0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn <at> entry=0x7f3b4ae83690
> <with_guile_and_parent>, arg=arg <at> entry=0x7f3b37ffede0) at misc.c:1553
> #10 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent=<optimized
> out>, data=<optimized out>, func=<optimized out>) at threads.c:949
> #11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
> threads.c:955
> #12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
> corruption_guile.c:9
> #13 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=<error reading
> variable: value has been optimized out>, arg=<error reading variable: value
> has been optimized out>) at pthread_start.c:56
> #14 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=<optimized out>,
> arg=<optimized out>) at misc.c:1553
> #15 0x00007f3b4a9290a4 in start_thread (arg=0x7f3b37fff700) at
> pthread_create.c:309
> #16 0x00007f3b4a65e87d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
>
>
>
> On Wed, Jun 22, 2016 at 11:27 PM, Andy Wingo <wingo <at> pobox.com> wrote:
>
>> I can reproduce this bug, but I can't get backtraces from my core file
>> :/  Irritating.  Are you able to get backtraces reliably?  Can you
>> provide a "thr apply all bt" ?
>>
>> Regards,
>>
>> Andy
>>
>> On Tue 06 Jan 2015 15:27, Anthonin Bonnefoy <
>> anthonin.bonnefoy <at> securactive.net> writes:
>>
>> > Hi all,
>> >
>> > I have segfaults occurring sometimes when threads are starting with
>> > scm_with_guile while main thread is using malloc.
>> >
>> > Example program:
>> > ```
>> > #include <stdlib.h>
>> > #include <pthread.h>
>> > #include <libguile.h>
>> >
>> > static void *a_libguile_thread(void *unused) {
>> > }
>> >
>> > static void *a_libguile_thread_(void *unused) {
>> > scm_with_guile(a_libguile_thread, NULL);
>> > }
>> >
>> > static void do_mallocs(void) {
>> > void *a[1000];
>> > for (int i = 0; i < 1000; ++i) {
>> > a[i] = malloc(356);
>> > }
>> > for (int i = 0; i < 1000; ++i) {
>> > free(a[i]);
>> > }
>> > }
>> >
>> > int main(int argc, char *argv[]) {
>> > scm_init_guile();
>> >
>> > pthread_t pth[10];
>> > for (int i = 0; i < 10; ++i) {
>> > GC_pthread_create(pth + i, NULL, a_libguile_thread_, NULL);
>> > }
>> >
>> > do_mallocs();
>> >
>> > for (int i = 0; i < 10; ++i) {
>> > GC_pthread_join(pth[i], NULL);
>> > }
>> >
>> > return 0;
>> > }
>> >
>> > ```
>> > To compile:
>> > gcc corruption_guile.c -g -std=c99 `pkg-config --cflags --libs
>> > guile-2.0`
>> > ```
>> > Some iterations are needed before having the segfaults:
>> > while ./a.out; do echo -n "."; done;
>> > ```
>> > Versions:
>> > gcc (Debian 4.9.1-19) 4.9.1
>> > guile (GNU Guile) 2.0.11.20-4338f (also tried from v2.0.11 tag)
>> > libgc gc7_2d
>> > ```
>> > Backtrace:
>> >
>> > #0 GC_generic_malloc (lb=524288, k=<optimized out>) at malloc.c:185
>> > #1 0x00007fcc535541ff in make_vm () at vm.c:704
>> > #2 0x00007fcc535542d5 in scm_the_vm () at vm.c:781
>> > #3 0x00007fcc534da600 in scm_call_4 (proc=0x1198c30,
>> > arg1=arg1 <at> entry=0x404, arg2=<optimized out>, arg3=<optimized out>,
>> > arg4=<optimized out>) at eval.c:507
>> > #4 0x00007fcc53550d89 in scm_catch_with_pre_unwind_handler
>> > (key=key <at> entry=0x404, thunk=<optimized out>, handler=<optimized out>,
>> > pre_unwind_handler=<optimized out>) at throw.c:73
>> > #5 0x00007fcc53550e8f in scm_c_catch (tag=tag <at> entry=0x404,
>> > body=body <at> entry=0x7fcc534d0c00 <c_body>,
>> > body_data=body_data <at> entry=0x7fcc4d14cd50,
>> > handler=handler <at> entry=0x7fcc534d0fe0 <c_handler>,
>> > handler_data=handler_data <at> entry=0x7fcc4d14cd50
>> > , pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
>> > <pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at
>> > throw.c:207
>> > #6 0x00007fcc534d1381 in scm_i_with_continuation_barrier
>> > (body=body <at> entry=0x7fcc534d0c00 <c_body>,
>> > body_data=body_data <at> entry=0x7fcc4d14cd50,
>> > handler=handler <at> entry=0x7fcc534d0fe0 <c_handler>,
>> > handler_data=handler_data <at> entry=0x7fcc4d14cd50,
>> > pre_unwind_handler=pre_unwind_handler <at> entry=0x7fcc534d0d90
>> > <pre_unwind_handler>, pre_unwind_handler_data=0x127cff0) at
>> > continuations.c:455
>> > #7 0x00007fcc534d1415 in scm_c_with_continuation_barrier
>> > (func=<optimized out>, data=<optimized out>) at continuations.c:551
>> > #8 0x00007fcc5354e6dc in with_guile_and_parent
>> > (base=base <at> entry=0x7fcc4d14cdb0, data=data <at> entry=0x7fcc4d14cde0) at
>> > threads.c:906
>> > #9 0x00007fcc53222302 in GC_call_with_stack_base
>> > (fn=fn <at> entry=0x7fcc5354e690 <with_guile_and_parent>,
>> > arg=arg <at> entry=0x7fcc4d14cde0) at misc.c:1553
>> > #10 0x00007fcc5354eac8 in scm_i_with_guile_and_parent
>> > (parent=<optimized out>, data=<optimized out>, func=<optimized out>)
>> > at threads.c:949
>> > #11 scm_with_guile (func=<optimized out>, data=<optimized out>) at
>> > threads.c:955
>> > #12 0x00000000004008bb in a_libguile_thread_ (unused=0x0) at
>> > corruption_guile.c:11
>> > #13 0x00007fcc53226f6e in GC_inner_start_routine (sb=<error reading
>> > variable: value has been optimized out>, arg=<error reading variable:
>> > value has been optimized out>) at pthread_start.c:56
>> > #14 0x00007fcc53222302 in GC_call_with_stack_base (fn=<optimized out>,
>> > arg=<optimized out>) at misc.c:1553
>> > #15 0x00007fcc52ff40a4 in start_thread (arg=0x7fcc4d14d700) at
>> > pthread_create.c:309
>> > #16 0x00007fcc52d28ccd in clone () at .
>> > ./sysdeps/unix/sysv/linux/x86_64/clone.S:111
>> > ```
>> >
>> > I thought at first it was a problem with libgc but the given program
>> > run without problems.
>> > ```
>> > #include <stdlib.h>
>> > #include <pthread.h>
>> > #define GC_THREADS 1
>> > #define GC_NO_THREAD_REDIRECTS 1
>> > #include <gc/gc_mark.h>
>> > #include <gc.h>
>> >
>> > static void *a_lib_gc_thread(void *unused) {
>> > void *a;
>> > for (int i = 0; i < 100; ++i) {
>> > a = GC_generic_malloc(524288, 6);
>> > }
>> > GC_free(a);
>> > }
>> >
>> > static void do_mallocs(void) {
>> > void *a[100];
>> > for (int i = 0; i < 100; ++i) {
>> > a[i] = malloc(356);
>> > }
>> > for (int i = 0; i < 100; ++i) {
>> > free(a[i]);
>> > }
>> > }
>> >
>> > int main(int argc, char *argv[]) {
>> > pthread_t pth[10];
>> > for (int i = 0; i < 10; ++i) {
>> > GC_pthread_create(pth + i, NULL, a_lib_gc_thread, NULL);
>> > }
>> > do_mallocs();
>> > for (int i = 0; i < 10; ++i) {
>> > GC_pthread_join(pth[i], NULL);
>> > }
>> > return 0;
>> > }
>> > ```
>> > I also tried to replace malloc by scm_malloc with no luck.
>> >
>> > Regards, Anthonin
>>
>
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#19523; Package guile. (Tue, 28 Feb 2017 12:18:02 GMT) Full text and rfc822 format available.

Message #17 received at 19523 <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>
Cc: 19523 <at> debbugs.gnu.org
Subject: Re: bug#19523: Segfault when creating thread with scm_with_guile
Date: Tue, 28 Feb 2017 13:16:54 +0100
Hi,

On Tue 06 Jan 2015 15:27, Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net> writes:

> Example program:
> ```
> #include <stdlib.h>
> #include <pthread.h>
> #include <libguile.h>

I had to add <libguile/bdw-gc.h> to this to get it to compile on 2.2.  I
wonder if that's a problem?  Anyway it segfaults directly on 2.2:

[Switching to Thread 0x7ffff44d1700 (LWP 8284)]
0x00007ffff785f9ab in return_freelists () from /gnu/store/y8ppqsxiki39n4mqpb4mab6bgwqsnnp7-libgc-7.4.2/lib/libgc.so.1
(gdb) bt
#0  0x00007ffff785f9ab in return_freelists () from /gnu/store/y8ppqsxiki39n4mqpb4mab6bgwqsnnp7-libgc-7.4.2/lib/libgc.so.1
#1  0x00007ffff785fad8 in GC_destroy_thread_local () from /gnu/store/y8ppqsxiki39n4mqpb4mab6bgwqsnnp7-libgc-7.4.2/lib/libgc.so.1
#2  0x00007ffff7861c4d in GC_unregister_my_thread_inner () from /gnu/store/y8ppqsxiki39n4mqpb4mab6bgwqsnnp7-libgc-7.4.2/lib/libgc.so.1
#3  0x00007ffff7862291 in GC_unregister_my_thread () from /gnu/store/y8ppqsxiki39n4mqpb4mab6bgwqsnnp7-libgc-7.4.2/lib/libgc.so.1
#4  0x00007ffff74134c9 in __nptl_deallocate_tsd () at pthread_create.c:175
#5  0x00007ffff74145ba in __nptl_deallocate_tsd () at pthread_create.c:326
#6  start_thread (arg=0x7ffff44d1700) at pthread_create.c:346

Looks like I am doubly unregistering the thread.  After landing a fix, I
can't repro the bug any more in master.  I bet in 2.0, Guile is itself
doing GC_unregister_my_thread() even though the GC_pthread_create should
be handling that.

Andy




Reply sent to Andy Wingo <wingo <at> pobox.com>:
You have taken responsibility. (Tue, 28 Feb 2017 12:19:01 GMT) Full text and rfc822 format available.

Notification sent to Anthonin Bonnefoy <anthonin.bonnefoy <at> securactive.net>:
bug acknowledged by developer. (Tue, 28 Feb 2017 12:19:02 GMT) Full text and rfc822 format available.

Message #22 received at 19523-done <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: 19523-done <at> debbugs.gnu.org
Subject: Re: bug#19523: Segfault when creating thread with scm_with_guile
Date: Tue, 28 Feb 2017 13:18:18 +0100
Marking as done in 2.2.  Hard to fix in 2.0 though :/

Andy




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 29 Mar 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 98 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.