From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Anthonin Bonnefoy Newsgroups: gmane.lisp.guile.bugs Subject: bug#19523: Segfault when creating thread with scm_with_guile Date: Thu, 23 Jun 2016 10:19:08 +0200 Message-ID: References: <87k2hgrk1l.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a114dac385dc8000535edb573 X-Trace: ger.gmane.org 1466670046 5450 80.91.229.3 (23 Jun 2016 08:20:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 23 Jun 2016 08:20:46 +0000 (UTC) Cc: 19523@debbugs.gnu.org To: Andy Wingo Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Thu Jun 23 10:20:37 2016 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bFzsJ-0001do-Rm for guile-bugs@m.gmane.org; Thu, 23 Jun 2016 10:20:36 +0200 Original-Received: from localhost ([::1]:35122 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFzsI-0002wk-QC for guile-bugs@m.gmane.org; Thu, 23 Jun 2016 04:20:34 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46002) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFzrx-0002k0-GY for bug-guile@gnu.org; Thu, 23 Jun 2016 04:20:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bFzrm-0006Hb-FP for bug-guile@gnu.org; Thu, 23 Jun 2016 04:20:13 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39405) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bFzrm-0006HM-8I for bug-guile@gnu.org; Thu, 23 Jun 2016 04:20:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bFzrl-0007l3-Rn for bug-guile@gnu.org; Thu, 23 Jun 2016 04:20:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Anthonin Bonnefoy Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Thu, 23 Jun 2016 08:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19523 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 19523-submit@debbugs.gnu.org id=B19523.146666995729752 (code B ref 19523); Thu, 23 Jun 2016 08:20:01 +0000 Original-Received: (at 19523) by debbugs.gnu.org; 23 Jun 2016 08:19:17 +0000 Original-Received: from localhost ([127.0.0.1]:51743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFzr3-0007jo-1W for submit@debbugs.gnu.org; Thu, 23 Jun 2016 04:19:17 -0400 Original-Received: from mail-yw0-f180.google.com ([209.85.161.180]:34421) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bFzr1-0007jc-SQ for 19523@debbugs.gnu.org; Thu, 23 Jun 2016 04:19:16 -0400 Original-Received: by mail-yw0-f180.google.com with SMTP id i12so63461175ywa.1 for <19523@debbugs.gnu.org>; Thu, 23 Jun 2016 01:19:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=securactive-net.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=FpJDQW1VePxtjvAJ/S5Ui9SgG2p6eZc2GVzEZo5aLjE=; b=dFzWEq6HMibiphdGVmCcuOBjr4gCpkYlphWwC7u3OF5O7IUrgPmVPwcO1zT/WxM8qP ohXl9XWMDOYmVcq1Ho2ad6LSGnzhAQSvv2/Qa7Lh6GDRnciVSPD5PsR6J+tH/bZiaKHU r3WVSwBqMCXsep9I8Aik1jL6l841Eksi6gGAhnzN2pLPH7TPFJbmbF/4MsGDRIOmk/+q lZPyDk4hOaCMUaJRSWOALFqe60PFZ+WZdjdm1eA/NNgta5VYd9zSHeO+HX4v6zUUD32f KY4U3i7HmvDcQcjPn7X4atat29sRi4FeBkZgg0dqEEGiJ1rx3wyFN/9s0lWio635EZU7 gmog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=FpJDQW1VePxtjvAJ/S5Ui9SgG2p6eZc2GVzEZo5aLjE=; b=Eo4zGv5eG4428R8LvYhmLj2d/mVL9QNjbWnZbqMGX7WO4xK/XHOEK9DmXcNp1a1spv pJD08CeCoXie8/9h02nBqiav3WHjhpsT1YRxY10mE/8nlLgXudsfmgxKrp9rgCVVspxo FFPSJmFxckTQag0U2TJqfzJtiJwOwhnWE01YaQ7wN+cdrJ0AWu7VRA46kS1P1orAmeyE sT0nbBhtpPa5aEJ39Zo4oIftlori8h7GeuQoMXvL8gssY7aQJDhMNcYuYp/hJKW9pS/k O2O5RfKMcrI4/jNcjiOrekVPKLQRfusc4D6A6Mnh5fWtxwR+eYzgPRjy6tY2658A09+A lfGA== X-Gm-Message-State: ALyK8tLo7SgOEurJWn7w9ybETCUppbMtU0ggsFr3co7a1MSW4/4acyIh6kSr7Mzeov0EDoyoec+k5VCIKO9LUxK2 X-Received: by 10.13.195.197 with SMTP id f188mr18474317ywd.80.1466669949883; Thu, 23 Jun 2016 01:19:09 -0700 (PDT) Original-Received: by 10.37.124.1 with HTTP; Thu, 23 Jun 2016 01:19:08 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8146 Archived-At: --001a114dac385dc8000535edb573 Content-Type: text/plain; charset=UTF-8 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@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=) 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 > ) 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 > , program=0x80, argv=0x963c20, nargs=11893760) at > vm-i-system.c:1488 > #7 0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #8 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #9 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4d6054da0, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4d6054da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4d6054da0, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4d6054da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #12 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn@entry=0x7fb4d9452040 > , client_data=client_data@entry=0x7fb4d6054e70) at > pthread_support.c:1180 > #13 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d6054e70, > func=0x7fb4d9452040 ) at threads.c:236 > #14 with_guile_and_parent (base=base@entry=0x7fb4d6054e40, data=data@entry=0x7fb4d6054e70) > at threads.c:934 > #15 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4d6054e70) at misc.c:1553 > #16 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #17 scm_with_guile (func=, data=) at > threads.c:955 > #18 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452ad0 > , arg=arg@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 > ) 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=, > car=) at ../libguile/gc.h:289 > #5 vm_regular_engine (vm=0x7fb4d9348920 , program=0x80, > argv=0x5, nargs=-645099620) at vm-i-system.c:1414 > #6 0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #7 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #8 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4d4851da0, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4d4851da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #9 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4d4851da0, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4d4851da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #10 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #11 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn@entry=0x7fb4d9452040 > , client_data=client_data@entry=0x7fb4d4851e70) at > pthread_support.c:1180 > #12 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d4851e70, > func=0x7fb4d9452040 ) at threads.c:236 > #13 with_guile_and_parent (base=base@entry=0x7fb4d4851e40, data=data@entry=0x7fb4d4851e70) > at threads.c:934 > #14 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4d4851e70) at misc.c:1553 > #15 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #16 scm_with_guile (func=, data=) at > threads.c:955 > #17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452ad0 > , arg=arg@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 > ) 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #8 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #9 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4cf7fdd50, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4cf7fdd50, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4cf7fdd50, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4cf7fdd50, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #12 0x00007fb4d94526dc in with_guile_and_parent (base=base@entry=0x7fb4cf7fddb0, > data=data@entry=0x7fb4cf7fdde0) at threads.c:906 > #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4cf7fdde0) at misc.c:1553 > #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) 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= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #18 0x00007fb4d9126302 in GC_call_with_stack_base (fn=, > arg=) 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 , > program=0x80, argv=0xcda0b8, nargs=-649913776) at vm-i-system.c:858 > #5 0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #6 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #7 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4d5052da0, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4d5052da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #8 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4d5052da0, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4d5052da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #9 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn@entry=0x7fb4d9452040 > , client_data=client_data@entry=0x7fb4d5052e70) at > pthread_support.c:1180 > #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d5052e70, > func=0x7fb4d9452040 ) at threads.c:236 > #12 with_guile_and_parent (base=base@entry=0x7fb4d5052e40, data=data@entry=0x7fb4d5052e70) > at threads.c:934 > #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4d5052e70) at misc.c:1553 > #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) at > threads.c:955 > #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452ad0 > , arg=arg@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=) > 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #5 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #6 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4c7ffed50, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4c7ffed50, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #7 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4c7ffed50, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4c7ffed50, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #8 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #9 0x00007fb4d94526dc in with_guile_and_parent (base=base@entry=0x7fb4c7ffedb0, > data=data@entry=0x7fb4c7ffede0) at threads.c:906 > #10 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4c7ffede0) at misc.c:1553 > #11 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #12 scm_with_guile (func=, data=) 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= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #15 0x00007fb4d9126302 in GC_call_with_stack_base (fn=, > arg=) 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@entry=0x7fb4d6855a88, > mutex=mutex@entry=0x7fb4d6855a60) at threads.c:1980 > #2 0x00007fb4d945327b in scm_spawn_thread (body=body@entry=0x7fb4d9430150 > , body_data=body_data@entry=0x0, > handler=, handler_data=handler_data@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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #10 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #11 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4d6855da0, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4d6855da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #12 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4d6855da0, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4d6855da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #13 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #14 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn@entry=0x7fb4d9452040 > , client_data=client_data@entry=0x7fb4d6855e70) at > pthread_support.c:1180 > #15 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d6855e70, > func=0x7fb4d9452040 ) at threads.c:236 > #16 with_guile_and_parent (base=base@entry=0x7fb4d6855e40, data=data@entry=0x7fb4d6855e70) > at threads.c:934 > #17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4d6855e70) at misc.c:1553 > #18 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #19 scm_with_guile (func=, data=) at > threads.c:955 > #20 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452ad0 > , arg=arg@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 > ) 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #8 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #9 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4cfffed70, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4cfffed70, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #10 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4cfffed70, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4cfffed70, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #12 0x00007fb4d94526dc in with_guile_and_parent (base=base@entry=0x7fb4cfffedd0, > data=data@entry=0x7fb4cfffee00) at threads.c:906 > #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4cfffee00) at misc.c:1553 > #14 0x00007fb4d94520dc in scm_i_with_guile_and_parent (parent= out>, data=0x7fb4d6855a30, func=0x7fb4d9452f10 ) at > threads.c:949 > #15 spawn_thread (d=0x7fb4d6855a30) at threads.c:1110 > #16 0x00007fb4d912af6e in GC_inner_start_routine (sb= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=, > arg=) 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 , > program=0x80, argv=0xc5a0b8, nargs=-649913776) at vm-i-system.c:858 > #5 0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #6 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #7 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4d5853da0, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4d5853da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #8 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4d5853da0, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4d5853da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #9 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn@entry=0x7fb4d9452040 > , client_data=client_data@entry=0x7fb4d5853e70) at > pthread_support.c:1180 > #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d5853e70, > func=0x7fb4d9452040 ) at threads.c:236 > #12 with_guile_and_parent (base=base@entry=0x7fb4d5853e40, data=data@entry=0x7fb4d5853e70) > at threads.c:934 > #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4d5853e70) at misc.c:1553 > #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) at > threads.c:955 > #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452ad0 > , arg=arg@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 , > program=0x80, argv=0xad70b8, nargs=-649913776) at vm-i-system.c:858 > #5 0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #6 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #7 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4d7056da0, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4d7056da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #8 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4d7056da0, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4d7056da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #9 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn@entry=0x7fb4d9452040 > , client_data=client_data@entry=0x7fb4d7056e70) at > pthread_support.c:1180 > #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d7056e70, > func=0x7fb4d9452040 ) at threads.c:236 > #12 with_guile_and_parent (base=base@entry=0x7fb4d7056e40, data=data@entry=0x7fb4d7056e70) > at threads.c:934 > #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4d7056e70) at misc.c:1553 > #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) at > threads.c:955 > #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452ad0 > , arg=arg@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=, p= 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 , > program=0x80, argv=0xa570b8, nargs=-649913776) at vm-i-system.c:858 > #5 0x00007fb4d93de613 in scm_call_4 (proc=0x829c30, arg1=arg1@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #6 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #7 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4d7857da0, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4d7857da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #8 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4d7857da0, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4d7857da0, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #9 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=fn@entry=0x7fb4d9452040 > , client_data=client_data@entry=0x7fb4d7857e70) at > pthread_support.c:1180 > #11 0x00007fb4d9452721 in with_gc_active (data=0x7fb4d7857e70, > func=0x7fb4d9452040 ) at threads.c:236 > #12 with_guile_and_parent (base=base@entry=0x7fb4d7857e40, data=data@entry=0x7fb4d7857e70) > at threads.c:934 > #13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4d7857e70) at misc.c:1553 > #14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) at > threads.c:955 > #16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452ad0 > , arg=arg@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=) 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #4 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #5 0x00007fb4d9454e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7fb4d93d4c00 , body_data=body_data@entry=0x7fb4ceffcd50, > handler=handler@entry=0x7fb4d93d4fe0 , > handler_data=handler_data@entry=0x7fb4ceffcd50, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at throw.c:207 > #6 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=body@entry=0x7fb4d93d4c00 > , body_data=body_data@entry=0x7fb4ceffcd50, handler=handler@entry=0x7fb4d93d4fe0 > , handler_data=handler_data@entry=0x7fb4ceffcd50, > pre_unwind_handler=pre_unwind_handler@entry=0x7fb4d93d4d90 > , pre_unwind_handler_data=0x90dff0) at > continuations.c:455 > #7 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #8 0x00007fb4d94526dc in with_guile_and_parent (base=base@entry=0x7fb4ceffcdb0, > data=data@entry=0x7fb4ceffcde0) at threads.c:906 > #9 0x00007fb4d9126302 in GC_call_with_stack_base (fn=fn@entry=0x7fb4d9452690 > , arg=arg@entry=0x7fb4ceffcde0) at misc.c:1553 > #10 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #11 scm_with_guile (func=, data=) 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= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #14 0x00007fb4d9126302 in GC_call_with_stack_base (fn=, > arg=) 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 > ) 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #8 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #9 0x00007f3b4ae85e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7f3b4ae05c00 , body_data=body_data@entry=0x7f3b45280d50, > handler=handler@entry=0x7f3b4ae05fe0 , > handler_data=handler_data@entry=0x7f3b45280d50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at throw.c:207 > #10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body@entry=0x7f3b4ae05c00 > , body_data=body_data@entry=0x7f3b45280d50, handler=handler@entry=0x7f3b4ae05fe0 > , handler_data=handler_data@entry=0x7f3b45280d50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at > continuations.c:455 > #11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #12 0x00007f3b4ae836dc in with_guile_and_parent (base=base@entry=0x7f3b45280db0, > data=data@entry=0x7f3b45280de0) at threads.c:906 > #13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn@entry=0x7f3b4ae83690 > , arg=arg@entry=0x7f3b45280de0) at misc.c:1553 > #14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) 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= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=, > arg=) 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 > ) 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #8 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #9 0x00007f3b4ae85e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7f3b4ae05c00 , body_data=body_data@entry=0x7f3b45a81d50, > handler=handler@entry=0x7f3b4ae05fe0 , > handler_data=handler_data@entry=0x7f3b45a81d50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at throw.c:207 > #10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body@entry=0x7f3b4ae05c00 > , body_data=body_data@entry=0x7f3b45a81d50, handler=handler@entry=0x7f3b4ae05fe0 > , handler_data=handler_data@entry=0x7f3b45a81d50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at > continuations.c:455 > #11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #12 0x00007f3b4ae836dc in with_guile_and_parent (base=base@entry=0x7f3b45a81db0, > data=data@entry=0x7f3b45a81de0) at threads.c:906 > #13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn@entry=0x7f3b4ae83690 > , arg=arg@entry=0x7f3b45a81de0) at misc.c:1553 > #14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) 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= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=, > arg=) 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 > ) 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #8 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #9 0x00007f3b4ae85e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7f3b4ae05c00 , body_data=body_data@entry=0x7f3b44a7fd50, > handler=handler@entry=0x7f3b4ae05fe0 , > handler_data=handler_data@entry=0x7f3b44a7fd50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at throw.c:207 > #10 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body@entry=0x7f3b4ae05c00 > , body_data=body_data@entry=0x7f3b44a7fd50, handler=handler@entry=0x7f3b4ae05fe0 > , handler_data=handler_data@entry=0x7f3b44a7fd50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at > continuations.c:455 > #11 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #12 0x00007f3b4ae836dc in with_guile_and_parent (base=base@entry=0x7f3b44a7fdb0, > data=data@entry=0x7f3b44a7fde0) at threads.c:906 > #13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn@entry=0x7f3b4ae83690 > , arg=arg@entry=0x7f3b44a7fde0) at misc.c:1553 > #14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #15 scm_with_guile (func=, data=) 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= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #18 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=, > arg=) 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@entry=0x7f3b46282800 > "\020\022\346J;\177", context=context@entry=0x7f3b46282440) at > pthread_support.c:1141 > #3 0x00007f3b4ab5e07c in GC_with_callee_saves_pushed (fn=0x7f3b4ab5c9e0 > , arg=arg@entry=0x7f3b46282800 > "\020\022\346J;\177") at mach_dep.c:273 > #4 0x00007f3b4ab5733c in GC_do_blocking (fn=fn@entry=0x7f3b4ae61210 > , client_data=client_data@entry=0x7f3b46282840) at > misc.c:1657 > #5 0x00007f3b4ae83b3a in with_gc_inactive (data=0x7f3b46282840, > func=0x7f3b4ae61210 ) at threads.c:230 > #6 scm_without_guile (func=0x7f3b4ae61210 , > data=0x7f3b46282840) at threads.c:968 > #7 0x00007f3b4ae6118f in signal_delivery_thread (data=) 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= out>, arg2=, arg3=) at eval.c:500 > #10 0x00007f3b4ae85d3e in scm_catch (key=, thunk= out>, handler=) at throw.c:63 > #11 0x00007f3b4ae85d95 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:71 > #12 0x00007f3b4ae85e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7f3b4ae61150 , > body_data=body_data@entry=0x0, handler=handler@entry=0x7f3b4ae861e0 > , handler_data=handler_data@entry=0x7f3b4aecaea8, > pre_unwind_handler=pre_unwind_handler@entry=0x0, > pre_unwind_handler_data=0x0) at throw.c:207 > #13 0x00007f3b4ae85e9e in scm_internal_catch (tag=tag@entry=0x404, > body=body@entry=0x7f3b4ae61150 , > body_data=body_data@entry=0x0, handler=handler@entry=0x7f3b4ae861e0 > , handler_data=handler_data@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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #18 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #19 0x00007f3b4ae85e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7f3b4ae05c00 , body_data=body_data@entry=0x7f3b46282d70, > handler=handler@entry=0x7f3b4ae05fe0 , > handler_data=handler_data@entry=0x7f3b46282d70, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at throw.c:207 > #20 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body@entry=0x7f3b4ae05c00 > , body_data=body_data@entry=0x7f3b46282d70, handler=handler@entry=0x7f3b4ae05fe0 > , handler_data=handler_data@entry=0x7f3b46282d70, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at > continuations.c:455 > #21 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #22 0x00007f3b4ae836dc in with_guile_and_parent (base=base@entry=0x7f3b46282dd0, > data=data@entry=0x7f3b46282e00) at threads.c:906 > #23 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn@entry=0x7f3b4ae83690 > , arg=arg@entry=0x7f3b46282e00) at misc.c:1553 > #24 0x00007f3b4ae830dc in scm_i_with_guile_and_parent (parent= out>, data=0x7f3b48a87a30, func=0x7f3b4ae83f10 ) at > threads.c:949 > #25 spawn_thread (d=0x7f3b48a87a30) at threads.c:1110 > #26 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #27 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=, > arg=) 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 > ) 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=) 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@entry=0x404, > arg2=, arg3=, arg4=) at > eval.c:507 > #4 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=key@entry=0x404, > thunk=, handler=, > pre_unwind_handler=) at throw.c:73 > #5 0x00007f3b4ae85e8f in scm_c_catch (tag=tag@entry=0x404, > body=body@entry=0x7f3b4ae05c00 , body_data=body_data@entry=0x7f3b37ffed50, > handler=handler@entry=0x7f3b4ae05fe0 , > handler_data=handler_data@entry=0x7f3b37ffed50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at throw.c:207 > #6 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=body@entry=0x7f3b4ae05c00 > , body_data=body_data@entry=0x7f3b37ffed50, handler=handler@entry=0x7f3b4ae05fe0 > , handler_data=handler_data@entry=0x7f3b37ffed50, > pre_unwind_handler=pre_unwind_handler@entry=0x7f3b4ae05d90 > , pre_unwind_handler_data=0x1e38ff0) at > continuations.c:455 > #7 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (func= out>, data=) at continuations.c:551 > #8 0x00007f3b4ae836dc in with_guile_and_parent (base=base@entry=0x7f3b37ffedb0, > data=data@entry=0x7f3b37ffede0) at threads.c:906 > #9 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=fn@entry=0x7f3b4ae83690 > , arg=arg@entry=0x7f3b37ffede0) at misc.c:1553 > #10 0x00007f3b4ae83ac8 in scm_i_with_guile_and_parent (parent= out>, data=, func=) at threads.c:949 > #11 scm_with_guile (func=, data=) 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= variable: value has been optimized out>, arg= has been optimized out>) at pthread_start.c:56 > #14 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=, > arg=) 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 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@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 >> > #include >> > #include >> > >> > 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=) 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@entry=0x404, arg2=, arg3=, >> > arg4=) at eval.c:507 >> > #4 0x00007fcc53550d89 in scm_catch_with_pre_unwind_handler >> > (key=key@entry=0x404, thunk=, handler=, >> > pre_unwind_handler=) at throw.c:73 >> > #5 0x00007fcc53550e8f in scm_c_catch (tag=tag@entry=0x404, >> > body=body@entry=0x7fcc534d0c00 , >> > body_data=body_data@entry=0x7fcc4d14cd50, >> > handler=handler@entry=0x7fcc534d0fe0 , >> > handler_data=handler_data@entry=0x7fcc4d14cd50 >> > , pre_unwind_handler=pre_unwind_handler@entry=0x7fcc534d0d90 >> > , pre_unwind_handler_data=0x127cff0) at >> > throw.c:207 >> > #6 0x00007fcc534d1381 in scm_i_with_continuation_barrier >> > (body=body@entry=0x7fcc534d0c00 , >> > body_data=body_data@entry=0x7fcc4d14cd50, >> > handler=handler@entry=0x7fcc534d0fe0 , >> > handler_data=handler_data@entry=0x7fcc4d14cd50, >> > pre_unwind_handler=pre_unwind_handler@entry=0x7fcc534d0d90 >> > , pre_unwind_handler_data=0x127cff0) at >> > continuations.c:455 >> > #7 0x00007fcc534d1415 in scm_c_with_continuation_barrier >> > (func=, data=) at continuations.c:551 >> > #8 0x00007fcc5354e6dc in with_guile_and_parent >> > (base=base@entry=0x7fcc4d14cdb0, data=data@entry=0x7fcc4d14cde0) at >> > threads.c:906 >> > #9 0x00007fcc53222302 in GC_call_with_stack_base >> > (fn=fn@entry=0x7fcc5354e690 , >> > arg=arg@entry=0x7fcc4d14cde0) at misc.c:1553 >> > #10 0x00007fcc5354eac8 in scm_i_with_guile_and_parent >> > (parent=, data=, func=) >> > at threads.c:949 >> > #11 scm_with_guile (func=, data=) 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=> > variable: value has been optimized out>, arg=> > value has been optimized out>) at pthread_start.c:56 >> > #14 0x00007fcc53222302 in GC_call_with_stack_base (fn=, >> > arg=) 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 >> > #include >> > #define GC_THREADS 1 >> > #define GC_NO_THREAD_REDIRECTS 1 >> > #include >> > #include >> > >> > 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 >> > > --001a114dac385dc8000535edb573 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
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_SUSPEN= D to SIGUSR1 in bdwgc) without success.

On Thu, Jun 23, 2016 at 8:43 AM, Anthonin = Bonnefoy <anthonin.bonnefoy@securactive.net>= wrote:
I moved guile to= 08df681976d6c6d97a659f4aebb6f7125e5aad2e before generating those coredumps= .
Backtraces are a bit different between executions, so here are tw= o "t a a bt" from two differents coredump.

Firs= t backtrace:

#0=C2=A0 GC_generic_malloc (lb=3D52428= 8, k=3D<optimized out>) at malloc.c:185

Thread 12 (Thre= ad 0x7fb4d6055700 (LWP 28923)):
#0=C2=A0 __lll_lock_wait () at ../nptl/s= ysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1=C2=A0 0x00007fb4d8ef= a4b9 in _L_lock_909 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2=C2= =A0 0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=3D0x7fb4d9348920= <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3=C2=A0 0x0= 0007fb4d912195d in GC_core_malloc (lb=3D16) at malloc.c:247
#4=C2=A0 0x0= 0007fb4d941c636 in scm_cell (cdr=3D772, car=3D9845792) at ../libguile/gc.h:= 232
#5=C2=A0 scm_cons (x=3D0x963c20, y=3D0x304) at pairs.c:78
#6=C2= =A0 0x00007fb4d946aed8 in vm_regular_engine (vm=3D0x7fb4d9348920 <GC_all= ocate_ml>, program=3D0x80, argv=3D0x963c20, nargs=3D11893760) at vm-i-sy= stem.c:1488
#7=C2=A0 0x00007fb4d93de613 in scm_call_4 (proc=3D0x829c30, = arg1=3Darg1@entry=3D0x404, arg2=3D<optimized out>, arg3=3D<optimiz= ed out>, arg4=3D<optimized out>) at eval.c:507
#8=C2=A0 0x00007= fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=3Dkey@entry=3D0x404, = thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_= handler=3D<optimized out>) at throw.c:73
#9=C2=A0 0x00007fb4d9454e= 8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7fb4d93d4= c00 <c_body>, body_data=3Dbody_data@entry=3D0x7fb4d6054da0, handler= =3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler= _data@entry=3D0x7fb4d6054da0, pre_unwind_handler=3Dpre_unwind_handler@entry= =3D0x7fb4d93d4d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x9= 0dff0) at throw.c:207
#10 0x00007fb4d93d5381 in scm_i_with_continuation_= barrier (body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbod= y_data@entry=3D0x7fb4d6054da0, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <= ;c_handler>, handler_data=3Dhandler_data@entry=3D0x7fb4d6054da0, pre_unw= ind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_hand= ler>, pre_unwind_handler_data=3D0x90dff0) at continuations.c:455
#11 = 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=3D<optimized= out>, data=3D<optimized out>) at continuations.c:551
#12 0x000= 07fb4d912bb00 in GC_call_with_gc_active (fn=3Dfn@entry=3D0x7fb4d9452040 <= ;with_guile_trampoline>, client_data=3Dclient_data@entry=3D0x7fb4d6054e7= 0) at pthread_support.c:1180
#13 0x00007fb4d9452721 in with_gc_active (d= ata=3D0x7fb4d6054e70, func=3D0x7fb4d9452040 <with_guile_trampoline>) = at threads.c:236
#14 with_guile_and_parent (base=3Dbase@entry=3D0x7fb4d6= 054e40, data=3Ddata@entry=3D0x7fb4d6054e70) at threads.c:934
#15 0x00007= fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7fb4d9452690 <= with_guile_and_parent>, arg=3Darg@entry=3D0x7fb4d6054e70) at misc.c:1553=
#16 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=3D<opt= imized out>, data=3D<optimized out>, func=3D<optimized out>)= at threads.c:949
#17 scm_with_guile (func=3D<optimized out>, data= =3D<optimized out>) at threads.c:955
#18 0x00007fb4d9126302 in GC_= call_with_stack_base (fn=3Dfn@entry=3D0x7fb4d9452ad0 <do_thread_exit_tra= mpoline>, arg=3Darg@entry=3D0xb57c00) at misc.c:1553
#19 0x00007fb4d9= 451aee in on_thread_exit (v=3D0xb57c00) at threads.c:752
#20 0x00007fb4d= 8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#21 0x00007f= b4d8ef80b7 in start_thread (arg=3D0x7fb4d6055700) at pthread_create.c:322#22 0x00007fb4d8c2d87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/c= lone.S:111

Thread 11 (Thread 0x7fb4d4852700 (LWP 28926)):
#0=C2= =A0 __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevello= ck.S:135
#1=C2=A0 0x00007fb4d8efa4b9 in _L_lock_909 () from /lib/x86_64-= linux-gnu/libpthread.so.0
#2=C2=A0 0x00007fb4d8efa2e0 in __GI___pthread_= mutex_lock (mutex=3D0x7fb4d9348920 <GC_allocate_ml>) at ../nptl/pthre= ad_mutex_lock.c:79
#3=C2=A0 0x00007fb4d912195d in GC_core_malloc (lb=3D6= 4) at malloc.c:247
#4=C2=A0 0x00007fb4d946a51f in scm_words (n_words=3D&= lt;optimized out>, car=3D<optimized out>) at ../libguile/gc.h:289<= br>#5=C2=A0 vm_regular_engine (vm=3D0x7fb4d9348920 <GC_allocate_ml>, = program=3D0x80, argv=3D0x5, nargs=3D-645099620) at vm-i-system.c:1414
#6= =C2=A0 0x00007fb4d93de613 in scm_call_4 (proc=3D0x829c30, arg1=3Darg1@entry= =3D0x404, arg2=3D<optimized out>, arg3=3D<optimized out>, arg4= =3D<optimized out>) at eval.c:507
#7=C2=A0 0x00007fb4d9454d89 in s= cm_catch_with_pre_unwind_handler (key=3Dkey@entry=3D0x404, thunk=3D<opti= mized out>, handler=3D<optimized out>, pre_unwind_handler=3D<op= timized out>) at throw.c:73
#8=C2=A0 0x00007fb4d9454e8f in scm_c_catc= h (tag=3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body&g= t;, body_data=3Dbody_data@entry=3D0x7fb4d4851da0, handler=3Dhandler@entry= =3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x= 7fb4d4851da0, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d9= 0 <pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0) at throw.= c:207
#9=C2=A0 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (bo= dy=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@entr= y=3D0x7fb4d4851da0, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler&= gt;, handler_data=3Dhandler_data@entry=3D0x7fb4d4851da0, pre_unwind_handler= =3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, pr= e_unwind_handler_data=3D0x90dff0) at continuations.c:455
#10 0x00007fb4d= 93d5415 in scm_c_with_continuation_barrier (func=3D<optimized out>, d= ata=3D<optimized out>) at continuations.c:551
#11 0x00007fb4d912bb= 00 in GC_call_with_gc_active (fn=3Dfn@entry=3D0x7fb4d9452040 <with_guile= _trampoline>, client_data=3Dclient_data@entry=3D0x7fb4d4851e70) at pthre= ad_support.c:1180
#12 0x00007fb4d9452721 in with_gc_active (data=3D0x7fb= 4d4851e70, func=3D0x7fb4d9452040 <with_guile_trampoline>) at threads.= c:236
#13 with_guile_and_parent (base=3Dbase@entry=3D0x7fb4d4851e40, dat= a=3Ddata@entry=3D0x7fb4d4851e70) at threads.c:934
#14 0x00007fb4d9126302= in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7fb4d9452690 <with_guile_= and_parent>, arg=3Darg@entry=3D0x7fb4d4851e70) at misc.c:1553
#15 0x0= 0007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=3D<optimized out&= gt;, data=3D<optimized out>, func=3D<optimized out>) at threads= .c:949
#16 scm_with_guile (func=3D<optimized out>, data=3D<opti= mized out>) at threads.c:955
#17 0x00007fb4d9126302 in GC_call_with_s= tack_base (fn=3Dfn@entry=3D0x7fb4d9452ad0 <do_thread_exit_trampoline>= , arg=3Darg@entry=3D0xa10e00) at misc.c:1553
#18 0x00007fb4d9451aee in o= n_thread_exit (v=3D0xa10e00) at threads.c:752
#19 0x00007fb4d8ef7e62 in = __nptl_deallocate_tsd () at pthread_create.c:157
#20 0x00007fb4d8ef80b7 = in start_thread (arg=3D0x7fb4d4852700) at pthread_create.c:322
#21 0x000= 07fb4d8c2d87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111<= br>
Thread 10 (Thread 0x7fb4cf7fe700 (LWP 28929)):
#0=C2=A0 __lll_loc= k_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#= 1=C2=A0 0x00007fb4d8efa4b9 in _L_lock_909 () from /lib/x86_64-linux-gnu/lib= pthread.so.0
#2=C2=A0 0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (m= utex=3D0x7fb4d9348920 <GC_allocate_ml>) at ../nptl/pthread_mutex_lock= .c:79
#3=C2=A0 0x00007fb4d912195d in GC_core_malloc (lb=3D16) at malloc.= c:247
#4=C2=A0 0x00007fb4d9458292 in scm_cell (cdr=3D10465024, car=3D55)= at ../libguile/gc.h:232
#5=C2=A0 make_vm () at vm.c:728
#6=C2=A0 0x0= 0007fb4d94582d5 in scm_the_vm () at vm.c:781
#7=C2=A0 0x00007fb4d93de600= in scm_call_4 (proc=3D0x829c30, arg1=3Darg1@entry=3D0x404, arg2=3D<opti= mized out>, arg3=3D<optimized out>, arg4=3D<optimized out>) = at eval.c:507
#8=C2=A0 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_h= andler (key=3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D&= lt;optimized out>, pre_unwind_handler=3D<optimized out>) at throw.= c:73
#9=C2=A0 0x00007fb4d9454e8f in scm_c_catch (tag=3Dtag@entry=3D0x404= , body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@= entry=3D0x7fb4cf7fdd50, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_hand= ler>, handler_data=3Dhandler_data@entry=3D0x7fb4cf7fdd50, pre_unwind_han= dler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>= , pre_unwind_handler_data=3D0x90dff0) at throw.c:207
#10 0x00007fb4d93d5= 381 in scm_i_with_continuation_barrier (body=3Dbody@entry=3D0x7fb4d93d4c00 = <c_body>, body_data=3Dbody_data@entry=3D0x7fb4cf7fdd50, handler=3Dhan= dler@entry=3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@= entry=3D0x7fb4cf7fdd50, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7= fb4d93d4d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0)= at continuations.c:455
#11 0x00007fb4d93d5415 in scm_c_with_continuatio= n_barrier (func=3D<optimized out>, data=3D<optimized out>) at c= ontinuations.c:551
#12 0x00007fb4d94526dc in with_guile_and_parent (base= =3Dbase@entry=3D0x7fb4cf7fddb0, data=3Ddata@entry=3D0x7fb4cf7fdde0) at thre= ads.c:906
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@ent= ry=3D0x7fb4d9452690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7fb4= cf7fdde0) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_= parent (parent=3D<optimized out>, data=3D<optimized out>, func= =3D<optimized out>) at threads.c:949
#15 scm_with_guile (func=3D&l= t;optimized out>, data=3D<optimized out>) at threads.c:955
#16 = 0x00000000004008bb in a_libguile_thread_ (unused=3D0x0) at corruption_guile= .c:9
#17 0x00007fb4d912af6e in GC_inner_start_routine (sb=3D<error re= ading variable: value has been optimized out>, arg=3D<error reading v= ariable: value has been optimized out>) at pthread_start.c:56
#18 0x0= 0007fb4d9126302 in GC_call_with_stack_base (fn=3D<optimized out>, arg= =3D<optimized out>) at misc.c:1553
#19 0x00007fb4d8ef80a4 in start= _thread (arg=3D0x7fb4cf7fe700) at pthread_create.c:309
#20 0x00007fb4d8c= 2d87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

T= hread 9 (Thread 0x7fb4d5053700 (LWP 28925)):
#0=C2=A0 pthread_once () at= ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
#1=C2=A0 0x000= 07fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at scmsigs.c:211#2=C2=A0 0x00007fb4d9452d50 in do_thread_exit (v=3D0x815400) at threads.c:= 669
#3=C2=A0 0x00007fb4d93d4c0a in c_body (d=3D0x7fb4d5052da0) at contin= uations.c:517
#4=C2=A0 0x00007fb4d946f752 in vm_regular_engine (vm=3D0x7= fb4d96ff3c8 <once>, program=3D0x80, argv=3D0xcda0b8, nargs=3D-6499137= 76) at vm-i-system.c:858
#5=C2=A0 0x00007fb4d93de613 in scm_call_4 (proc= =3D0x829c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimized out>, arg3= =3D<optimized out>, arg4=3D<optimized out>) at eval.c:507
#6= =C2=A0 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=3Dkey@e= ntry=3D0x404, thunk=3D<optimized out>, handler=3D<optimized out>= ;, pre_unwind_handler=3D<optimized out>) at throw.c:73
#7=C2=A0 0x= 00007fb4d9454e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody@entry= =3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@entry=3D0x7fb4d5052= da0, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler>, handler_da= ta=3Dhandler_data@entry=3D0x7fb4d5052da0, pre_unwind_handler=3Dpre_unwind_h= andler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, pre_unwind_handle= r_data=3D0x90dff0) at throw.c:207
#8=C2=A0 0x00007fb4d93d5381 in scm_i_w= ith_continuation_barrier (body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>= , body_data=3Dbody_data@entry=3D0x7fb4d5052da0, handler=3Dhandler@entry=3D0= x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x7fb4= d5052da0, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 &l= t;pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0) at continuati= ons.c:455
#9=C2=A0 0x00007fb4d93d5415 in scm_c_with_continuation_barrier= (func=3D<optimized out>, data=3D<optimized out>) at continuati= ons.c:551
#10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=3Dfn@entr= y=3D0x7fb4d9452040 <with_guile_trampoline>, client_data=3Dclient_data= @entry=3D0x7fb4d5052e70) at pthread_support.c:1180
#11 0x00007fb4d945272= 1 in with_gc_active (data=3D0x7fb4d5052e70, func=3D0x7fb4d9452040 <with_= guile_trampoline>) at threads.c:236
#12 with_guile_and_parent (base= =3Dbase@entry=3D0x7fb4d5052e40, data=3Ddata@entry=3D0x7fb4d5052e70) at thre= ads.c:934
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@ent= ry=3D0x7fb4d9452690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7fb4= d5052e70) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_= parent (parent=3D<optimized out>, data=3D<optimized out>, func= =3D<optimized out>) at threads.c:949
#15 scm_with_guile (func=3D&l= t;optimized out>, data=3D<optimized out>) at threads.c:955
#16 = 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7fb4d9452a= d0 <do_thread_exit_trampoline>, arg=3Darg@entry=3D0x815400) at misc.c= :1553
#17 0x00007fb4d9451aee in on_thread_exit (v=3D0x815400) at threads= .c:752
#18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_cre= ate.c:157
#19 0x00007fb4d8ef80b7 in start_thread (arg=3D0x7fb4d5053700) = 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=C2=A0 memset () at ../sysdeps/x86_64/memset.S:93
#1= =C2=A0 0x00007fb4d91216a0 in GC_generic_malloc (lb=3D524288, k=3D<optimi= zed out>) at malloc.c:193
#2=C2=A0 0x00007fb4d94581ff in make_vm () a= t vm.c:704
#3=C2=A0 0x00007fb4d94582d5 in scm_the_vm () at vm.c:781
#= 4=C2=A0 0x00007fb4d93de600 in scm_call_4 (proc=3D0x829c30, arg1=3Darg1@entr= y=3D0x404, arg2=3D<optimized out>, arg3=3D<optimized out>, arg4= =3D<optimized out>) at eval.c:507
#5=C2=A0 0x00007fb4d9454d89 in s= cm_catch_with_pre_unwind_handler (key=3Dkey@entry=3D0x404, thunk=3D<opti= mized out>, handler=3D<optimized out>, pre_unwind_handler=3D<op= timized out>) at throw.c:73
#6=C2=A0 0x00007fb4d9454e8f in scm_c_catc= h (tag=3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body&g= t;, body_data=3Dbody_data@entry=3D0x7fb4c7ffed50, handler=3Dhandler@entry= =3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x= 7fb4c7ffed50, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d9= 0 <pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0) at throw.= c:207
#7=C2=A0 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (bo= dy=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@entr= y=3D0x7fb4c7ffed50, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler&= gt;, handler_data=3Dhandler_data@entry=3D0x7fb4c7ffed50, pre_unwind_handler= =3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, pr= e_unwind_handler_data=3D0x90dff0) at continuations.c:455
#8=C2=A0 0x0000= 7fb4d93d5415 in scm_c_with_continuation_barrier (func=3D<optimized out&g= t;, data=3D<optimized out>) at continuations.c:551
#9=C2=A0 0x0000= 7fb4d94526dc in with_guile_and_parent (base=3Dbase@entry=3D0x7fb4c7ffedb0, = data=3Ddata@entry=3D0x7fb4c7ffede0) at threads.c:906
#10 0x00007fb4d9126= 302 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7fb4d9452690 <with_gui= le_and_parent>, arg=3Darg@entry=3D0x7fb4c7ffede0) at misc.c:1553
#11 = 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=3D<optimized o= ut>, data=3D<optimized out>, func=3D<optimized out>) at thre= ads.c:949
#12 scm_with_guile (func=3D<optimized out>, data=3D<o= ptimized out>) at threads.c:955
#13 0x00000000004008bb in a_libguile_= thread_ (unused=3D0x0) at corruption_guile.c:9
#14 0x00007fb4d912af6e in= GC_inner_start_routine (sb=3D<error reading variable: value has been op= timized out>, arg=3D<error reading variable: value has been optimized= out>) at pthread_start.c:56
#15 0x00007fb4d9126302 in GC_call_with_s= tack_base (fn=3D<optimized out>, arg=3D<optimized out>) at misc= .c:1553
#16 0x00007fb4d8ef80a4 in start_thread (arg=3D0x7fb4c7fff700) at= pthread_create.c:309
#17 0x00007fb4d8c2d87d in clone () at ../sysdeps/u= nix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fb4d6856700 (L= WP 28922)):
#0=C2=A0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdep= s/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1=C2=A0 0x00007fb4d945= 308c in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x7fb4d6855a88, mutex=3D= mutex@entry=3D0x7fb4d6855a60) at threads.c:1980
#2=C2=A0 0x00007fb4d9453= 27b in scm_spawn_thread (body=3Dbody@entry=3D0x7fb4d9430150 <signal_deli= very_thread>, body_data=3Dbody_data@entry=3D0x0, handler=3D<optimized= out>, handler_data=3Dhandler_data@entry=3D0x7fb4d9499ea8) at threads.c:= 1141
#3=C2=A0 0x00007fb4d9430121 in start_signal_delivery_thread () at s= cmsigs.c:199
#4=C2=A0 0x00007fb4d8efd450 in pthread_once () at ../nptl/s= ysdeps/unix/sysv/linux/x86_64/pthread_once.S:103
#5=C2=A0 0x00007fb4d943= 09b3 in scm_i_ensure_signal_delivery_thread () at scmsigs.c:211
#6=C2=A0= 0x00007fb4d9452d50 in do_thread_exit (v=3D0xb57e00) at threads.c:669
#7= =C2=A0 0x00007fb4d93d4c0a in c_body (d=3D0x7fb4d6855da0) at continuations.c= :517
#8=C2=A0 0x00007fb4d946f752 in vm_regular_engine (vm=3D0x7fb4d6855a= 8c, program=3D0x80, argv=3D0xb580b8, nargs=3D-649913776) at vm-i-system.c:8= 58
#9=C2=A0 0x00007fb4d93de613 in scm_call_4 (proc=3D0x829c30, arg1=3Dar= g1@entry=3D0x404, arg2=3D<optimized out>, arg3=3D<optimized out>= ;, arg4=3D<optimized out>) at eval.c:507
#10 0x00007fb4d9454d89 in= scm_catch_with_pre_unwind_handler (key=3Dkey@entry=3D0x404, thunk=3D<op= timized out>, handler=3D<optimized out>, pre_unwind_handler=3D<= optimized out>) at throw.c:73
#11 0x00007fb4d9454e8f in scm_c_catch (= tag=3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>,= body_data=3Dbody_data@entry=3D0x7fb4d6855da0, handler=3Dhandler@entry=3D0x= 7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x7fb4d= 6855da0, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 <= ;pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0) at throw.c:207=
#12 0x00007fb4d93d5381 in scm_i_with_continuation_barrier (body=3Dbody@= entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@entry=3D0x7fb4= d6855da0, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler>, handl= er_data=3Dhandler_data@entry=3D0x7fb4d6855da0, pre_unwind_handler=3Dpre_unw= ind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, pre_unwind_h= andler_data=3D0x90dff0) at continuations.c:455
#13 0x00007fb4d93d5415 in= scm_c_with_continuation_barrier (func=3D<optimized out>, data=3D<= optimized out>) at continuations.c:551
#14 0x00007fb4d912bb00 in GC_c= all_with_gc_active (fn=3Dfn@entry=3D0x7fb4d9452040 <with_guile_trampolin= e>, client_data=3Dclient_data@entry=3D0x7fb4d6855e70) at pthread_support= .c:1180
#15 0x00007fb4d9452721 in with_gc_active (data=3D0x7fb4d6855e70,= func=3D0x7fb4d9452040 <with_guile_trampoline>) at threads.c:236
#= 16 with_guile_and_parent (base=3Dbase@entry=3D0x7fb4d6855e40, data=3Ddata@e= ntry=3D0x7fb4d6855e70) at threads.c:934
#17 0x00007fb4d9126302 in GC_cal= l_with_stack_base (fn=3Dfn@entry=3D0x7fb4d9452690 <with_guile_and_parent= >, arg=3Darg@entry=3D0x7fb4d6855e70) at misc.c:1553
#18 0x00007fb4d94= 52ac8 in scm_i_with_guile_and_parent (parent=3D<optimized out>, data= =3D<optimized out>, func=3D<optimized out>) at threads.c:949#19 scm_with_guile (func=3D<optimized out>, data=3D<optimized out= >) at threads.c:955
#20 0x00007fb4d9126302 in GC_call_with_stack_base= (fn=3Dfn@entry=3D0x7fb4d9452ad0 <do_thread_exit_trampoline>, arg=3Da= rg@entry=3D0xb57e00) at misc.c:1553
#21 0x00007fb4d9451aee in on_thread_= exit (v=3D0xb57e00) at threads.c:752
#22 0x00007fb4d8ef7e62 in __nptl_de= allocate_tsd () at pthread_create.c:157
#23 0x00007fb4d8ef80b7 in start_= thread (arg=3D0x7fb4d6856700) at pthread_create.c:322
#24 0x00007fb4d8c2= d87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Th= read 6 (Thread 0x7fb4cffff700 (LWP 28928)):
#0=C2=A0 __lll_lock_wait () = at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1=C2=A0 0x= 00007fb4d8efa4b9 in _L_lock_909 () from /lib/x86_64-linux-gnu/libpthread.so= .0
#2=C2=A0 0x00007fb4d8efa2e0 in __GI___pthread_mutex_lock (mutex=3D0x7= fb4d9348920 <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
#= 3=C2=A0 0x00007fb4d912195d in GC_core_malloc (lb=3D16) at malloc.c:247
#= 4=C2=A0 0x00007fb4d9458292 in scm_cell (cdr=3D8954240, car=3D55) at ../libg= uile/gc.h:232
#5=C2=A0 make_vm () at vm.c:728
#6=C2=A0 0x00007fb4d945= 82d5 in scm_the_vm () at vm.c:781
#7=C2=A0 0x00007fb4d93de600 in scm_cal= l_4 (proc=3D0x829c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimized out&g= t;, arg3=3D<optimized out>, arg4=3D<optimized out>) at eval.c:5= 07
#8=C2=A0 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key= =3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D<optimize= d out>, pre_unwind_handler=3D<optimized out>) at throw.c:73
#9= =C2=A0 0x00007fb4d9454e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Db= ody@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@entry=3D0x= 7fb4cfffed70, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler>, h= andler_data=3Dhandler_data@entry=3D0x7fb4cfffed70, pre_unwind_handler=3Dpre= _unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, pre_unwi= nd_handler_data=3D0x90dff0) at throw.c:207
#10 0x00007fb4d93d5381 in scm= _i_with_continuation_barrier (body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body= >, body_data=3Dbody_data@entry=3D0x7fb4cfffed70, handler=3Dhandler@entry= =3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x= 7fb4cfffed70, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d9= 0 <pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0) at contin= uations.c:455
#11 0x00007fb4d93d5415 in scm_c_with_continuation_barrier = (func=3D<optimized out>, data=3D<optimized out>) at continuatio= ns.c:551
#12 0x00007fb4d94526dc in with_guile_and_parent (base=3Dbase@en= try=3D0x7fb4cfffedd0, data=3Ddata@entry=3D0x7fb4cfffee00) at threads.c:906<= br>#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7fb= 4d9452690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7fb4cfffee00) = at misc.c:1553
#14 0x00007fb4d94520dc in scm_i_with_guile_and_parent (pa= rent=3D<optimized out>, data=3D0x7fb4d6855a30, func=3D0x7fb4d9452f10 = <really_spawn>) at threads.c:949
#15 spawn_thread (d=3D0x7fb4d6855= a30) at threads.c:1110
#16 0x00007fb4d912af6e in GC_inner_start_routine = (sb=3D<error reading variable: value has been optimized out>, arg=3D&= lt;error reading variable: value has been optimized out>) at pthread_sta= rt.c:56
#17 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3D<opti= mized out>, arg=3D<optimized out>) at misc.c:1553
#18 0x00007fb= 4d8ef80a4 in start_thread (arg=3D0x7fb4cffff700) at pthread_create.c:309#19 0x00007fb4d8c2d87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/cl= one.S:111

Thread 5 (Thread 0x7fb4d5854700 (LWP 28924)):
#0=C2=A0 = pthread_once () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94=
#1=C2=A0 0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () a= t scmsigs.c:211
#2=C2=A0 0x00007fb4d9452d50 in do_thread_exit (v=3D0x815= 600) at threads.c:669
#3=C2=A0 0x00007fb4d93d4c0a in c_body (d=3D0x7fb4d= 5853da0) at continuations.c:517
#4=C2=A0 0x00007fb4d946f752 in vm_regula= r_engine (vm=3D0x7fb4d96ff3c8 <once>, program=3D0x80, argv=3D0xc5a0b8= , nargs=3D-649913776) at vm-i-system.c:858
#5=C2=A0 0x00007fb4d93de613 i= n scm_call_4 (proc=3D0x829c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimi= zed out>, arg3=3D<optimized out>, arg4=3D<optimized out>) at= eval.c:507
#6=C2=A0 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_han= dler (key=3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D<= ;optimized out>, pre_unwind_handler=3D<optimized out>) at throw.c:= 73
#7=C2=A0 0x00007fb4d9454e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, = body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@en= try=3D0x7fb4d5853da0, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handle= r>, handler_data=3Dhandler_data@entry=3D0x7fb4d5853da0, pre_unwind_handl= er=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, = pre_unwind_handler_data=3D0x90dff0) at throw.c:207
#8=C2=A0 0x00007fb4d9= 3d5381 in scm_i_with_continuation_barrier (body=3Dbody@entry=3D0x7fb4d93d4c= 00 <c_body>, body_data=3Dbody_data@entry=3D0x7fb4d5853da0, handler=3D= handler@entry=3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_da= ta@entry=3D0x7fb4d5853da0, pre_unwind_handler=3Dpre_unwind_handler@entry=3D= 0x7fb4d93d4d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x90df= f0) at continuations.c:455
#9=C2=A0 0x00007fb4d93d5415 in scm_c_with_con= tinuation_barrier (func=3D<optimized out>, data=3D<optimized out&g= t;) at continuations.c:551
#10 0x00007fb4d912bb00 in GC_call_with_gc_act= ive (fn=3Dfn@entry=3D0x7fb4d9452040 <with_guile_trampoline>, client_d= ata=3Dclient_data@entry=3D0x7fb4d5853e70) at pthread_support.c:1180
#11 = 0x00007fb4d9452721 in with_gc_active (data=3D0x7fb4d5853e70, func=3D0x7fb4d= 9452040 <with_guile_trampoline>) at threads.c:236
#12 with_guile_a= nd_parent (base=3Dbase@entry=3D0x7fb4d5853e40, data=3Ddata@entry=3D0x7fb4d5= 853e70) at threads.c:934
#13 0x00007fb4d9126302 in GC_call_with_stack_ba= se (fn=3Dfn@entry=3D0x7fb4d9452690 <with_guile_and_parent>, arg=3Darg= @entry=3D0x7fb4d5853e70) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_= with_guile_and_parent (parent=3D<optimized out>, data=3D<optimized= out>, func=3D<optimized out>) at threads.c:949
#15 scm_with_gu= ile (func=3D<optimized out>, data=3D<optimized out>) at threads= .c:955
#16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@entry= =3D0x7fb4d9452ad0 <do_thread_exit_trampoline>, arg=3Darg@entry=3D0x81= 5600) at misc.c:1553
#17 0x00007fb4d9451aee in on_thread_exit (v=3D0x815= 600) at threads.c:752
#18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd ()= at pthread_create.c:157
#19 0x00007fb4d8ef80b7 in start_thread (arg=3D0= x7fb4d5854700) 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=C2=A0 pthread_once () at ../nptl/sysdeps= /unix/sysv/linux/x86_64/pthread_once.S:94
#1=C2=A0 0x00007fb4d94309b3 in= scm_i_ensure_signal_delivery_thread () at scmsigs.c:211
#2=C2=A0 0x0000= 7fb4d9452d50 in do_thread_exit (v=3D0xa10000) at threads.c:669
#3=C2=A0 = 0x00007fb4d93d4c0a in c_body (d=3D0x7fb4d7056da0) at continuations.c:517#4=C2=A0 0x00007fb4d946f752 in vm_regular_engine (vm=3D0x7fb4d96ff3c8 <= once>, program=3D0x80, argv=3D0xad70b8, nargs=3D-649913776) at vm-i-syst= em.c:858
#5=C2=A0 0x00007fb4d93de613 in scm_call_4 (proc=3D0x829c30, arg= 1=3Darg1@entry=3D0x404, arg2=3D<optimized out>, arg3=3D<optimized = out>, arg4=3D<optimized out>) at eval.c:507
#6=C2=A0 0x00007fb4= d9454d89 in scm_catch_with_pre_unwind_handler (key=3Dkey@entry=3D0x404, thu= nk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_han= dler=3D<optimized out>) at throw.c:73
#7=C2=A0 0x00007fb4d9454e8f = in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7fb4d93d4c00= <c_body>, body_data=3Dbody_data@entry=3D0x7fb4d7056da0, handler=3Dha= ndler@entry=3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data= @entry=3D0x7fb4d7056da0, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x= 7fb4d93d4d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0= ) at throw.c:207
#8=C2=A0 0x00007fb4d93d5381 in scm_i_with_continuation_= barrier (body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbod= y_data@entry=3D0x7fb4d7056da0, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <= ;c_handler>, handler_data=3Dhandler_data@entry=3D0x7fb4d7056da0, pre_unw= ind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_hand= ler>, pre_unwind_handler_data=3D0x90dff0) at continuations.c:455
#9= =C2=A0 0x00007fb4d93d5415 in scm_c_with_continuation_barrier (func=3D<op= timized out>, data=3D<optimized out>) at continuations.c:551
#1= 0 0x00007fb4d912bb00 in GC_call_with_gc_active (fn=3Dfn@entry=3D0x7fb4d9452= 040 <with_guile_trampoline>, client_data=3Dclient_data@entry=3D0x7fb4= d7056e70) at pthread_support.c:1180
#11 0x00007fb4d9452721 in with_gc_ac= tive (data=3D0x7fb4d7056e70, func=3D0x7fb4d9452040 <with_guile_trampolin= e>) at threads.c:236
#12 with_guile_and_parent (base=3Dbase@entry=3D0= x7fb4d7056e40, data=3Ddata@entry=3D0x7fb4d7056e70) at threads.c:934
#13 = 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7fb4d94526= 90 <with_guile_and_parent>, arg=3Darg@entry=3D0x7fb4d7056e70) at misc= .c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_guile_and_parent (parent=3D= <optimized out>, data=3D<optimized out>, func=3D<optimized o= ut>) at threads.c:949
#15 scm_with_guile (func=3D<optimized out>= ;, data=3D<optimized out>) at threads.c:955
#16 0x00007fb4d9126302= in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7fb4d9452ad0 <do_thread_e= xit_trampoline>, arg=3Darg@entry=3D0xa10000) at misc.c:1553
#17 0x000= 07fb4d9451aee in on_thread_exit (v=3D0xa10000) at threads.c:752
#18 0x00= 007fb4d8ef7e62 in __nptl_deallocate_tsd () at pthread_create.c:157
#19 0= x00007fb4d8ef80b7 in start_thread (arg=3D0x7fb4d7057700) at pthread_create.= c:322
#20 0x00007fb4d8c2d87d in clone () at ../sysdeps/unix/sysv/linux/x= 86_64/clone.S:111

Thread 3 (Thread 0x7fb4d98fa740 (LWP 28919)):
#= 0=C2=A0 0x00007fb4d8bbe5d6 in _int_free (av=3D<optimized out>, p=3D&l= t;optimized out>, have_lock=3D0) at malloc.c:4077
#1=C2=A0 0x00000000= 00400916 in do_mallocs () at corruption_guile.c:18
#2=C2=A0 0x0000000000= 40097c in main (argc=3D1, argv=3D0x7ffef9d57398) at corruption_guile.c:30
Thread 2 (Thread 0x7fb4d7858700 (LWP 28920)):
#0=C2=A0 pthread_onc= e () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S:94
#1=C2= =A0 0x00007fb4d94309b3 in scm_i_ensure_signal_delivery_thread () at scmsigs= .c:211
#2=C2=A0 0x00007fb4d9452d50 in do_thread_exit (v=3D0xa10200) at t= hreads.c:669
#3=C2=A0 0x00007fb4d93d4c0a in c_body (d=3D0x7fb4d7857da0) = at continuations.c:517
#4=C2=A0 0x00007fb4d946f752 in vm_regular_engine = (vm=3D0x7fb4d96ff3c8 <once>, program=3D0x80, argv=3D0xa570b8, nargs= =3D-649913776) at vm-i-system.c:858
#5=C2=A0 0x00007fb4d93de613 in scm_c= all_4 (proc=3D0x829c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimized out= >, arg3=3D<optimized out>, arg4=3D<optimized out>) at eval.c= :507
#6=C2=A0 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (k= ey=3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D<optimi= zed out>, pre_unwind_handler=3D<optimized out>) at throw.c:73
#= 7=C2=A0 0x00007fb4d9454e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3D= body@entry=3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@entry=3D0= x7fb4d7857da0, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler>, = handler_data=3Dhandler_data@entry=3D0x7fb4d7857da0, pre_unwind_handler=3Dpr= e_unwind_handler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, pre_unw= ind_handler_data=3D0x90dff0) at throw.c:207
#8=C2=A0 0x00007fb4d93d5381 = in scm_i_with_continuation_barrier (body=3Dbody@entry=3D0x7fb4d93d4c00 <= c_body>, body_data=3Dbody_data@entry=3D0x7fb4d7857da0, handler=3Dhandler= @entry=3D0x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@entr= y=3D0x7fb4d7857da0, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d= 93d4d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0) at = continuations.c:455
#9=C2=A0 0x00007fb4d93d5415 in scm_c_with_continuati= on_barrier (func=3D<optimized out>, data=3D<optimized out>) at = continuations.c:551
#10 0x00007fb4d912bb00 in GC_call_with_gc_active (fn= =3Dfn@entry=3D0x7fb4d9452040 <with_guile_trampoline>, client_data=3Dc= lient_data@entry=3D0x7fb4d7857e70) at pthread_support.c:1180
#11 0x00007= fb4d9452721 in with_gc_active (data=3D0x7fb4d7857e70, func=3D0x7fb4d9452040= <with_guile_trampoline>) at threads.c:236
#12 with_guile_and_pare= nt (base=3Dbase@entry=3D0x7fb4d7857e40, data=3Ddata@entry=3D0x7fb4d7857e70)= at threads.c:934
#13 0x00007fb4d9126302 in GC_call_with_stack_base (fn= =3Dfn@entry=3D0x7fb4d9452690 <with_guile_and_parent>, arg=3Darg@entry= =3D0x7fb4d7857e70) at misc.c:1553
#14 0x00007fb4d9452ac8 in scm_i_with_g= uile_and_parent (parent=3D<optimized out>, data=3D<optimized out&g= t;, func=3D<optimized out>) at threads.c:949
#15 scm_with_guile (f= unc=3D<optimized out>, data=3D<optimized out>) at threads.c:955=
#16 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f= b4d9452ad0 <do_thread_exit_trampoline>, arg=3Darg@entry=3D0xa10200) a= t misc.c:1553
#17 0x00007fb4d9451aee in on_thread_exit (v=3D0xa10200) at= threads.c:752
#18 0x00007fb4d8ef7e62 in __nptl_deallocate_tsd () at pth= read_create.c:157
#19 0x00007fb4d8ef80b7 in start_thread (arg=3D0x7fb4d7= 858700) at pthread_create.c:322
#20 0x00007fb4d8c2d87d in clone () at ..= /sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fb4c= effd700 (LWP 28930)):
#0=C2=A0 GC_generic_malloc (lb=3D= 524288, k=3D<optimized out>) at malloc.c:185
#1=C2=A0 0x000= 07fb4d94581ff in make_vm () at vm.c:704
#2=C2=A0 0x00007fb4d94582d5 in s= cm_the_vm () at vm.c:781
#3=C2=A0 0x00007fb4d93de600 in scm_call_4 (proc= =3D0x829c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimized out>, arg3= =3D<optimized out>, arg4=3D<optimized out>) at eval.c:507
#4= =C2=A0 0x00007fb4d9454d89 in scm_catch_with_pre_unwind_handler (key=3Dkey@e= ntry=3D0x404, thunk=3D<optimized out>, handler=3D<optimized out>= ;, pre_unwind_handler=3D<optimized out>) at throw.c:73
#5=C2=A0 0x= 00007fb4d9454e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody@entry= =3D0x7fb4d93d4c00 <c_body>, body_data=3Dbody_data@entry=3D0x7fb4ceffc= d50, handler=3Dhandler@entry=3D0x7fb4d93d4fe0 <c_handler>, handler_da= ta=3Dhandler_data@entry=3D0x7fb4ceffcd50, pre_unwind_handler=3Dpre_unwind_h= andler@entry=3D0x7fb4d93d4d90 <pre_unwind_handler>, pre_unwind_handle= r_data=3D0x90dff0) at throw.c:207
#6=C2=A0 0x00007fb4d93d5381 in scm_i_w= ith_continuation_barrier (body=3Dbody@entry=3D0x7fb4d93d4c00 <c_body>= , body_data=3Dbody_data@entry=3D0x7fb4ceffcd50, handler=3Dhandler@entry=3D0= x7fb4d93d4fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x7fb4= ceffcd50, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fb4d93d4d90 &l= t;pre_unwind_handler>, pre_unwind_handler_data=3D0x90dff0) at continuati= ons.c:455
#7=C2=A0 0x00007fb4d93d5415 in scm_c_with_continuation_barrier= (func=3D<optimized out>, data=3D<optimized out>) at continuati= ons.c:551
#8=C2=A0 0x00007fb4d94526dc in with_guile_and_parent (base=3Db= ase@entry=3D0x7fb4ceffcdb0, data=3Ddata@entry=3D0x7fb4ceffcde0) at threads.= c:906
#9=C2=A0 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3Dfn@en= try=3D0x7fb4d9452690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7fb= 4ceffcde0) at misc.c:1553
#10 0x00007fb4d9452ac8 in scm_i_with_guile_and= _parent (parent=3D<optimized out>, data=3D<optimized out>, func= =3D<optimized out>) at threads.c:949
#11 scm_with= _guile (func=3D<optimized out>, data=3D<optimized out>) at thre= ads.c:955
#12 0x00000000004008bb in a_libguile_thread_ (unused=3D= 0x0) at corruption_guile.c:9
#13 0x00007fb4d912af6e in GC_inner_start_ro= utine (sb=3D<error reading variable: value has been optimized out>, a= rg=3D<error reading variable: value has been optimized out>) at pthre= ad_start.c:56
#14 0x00007fb4d9126302 in GC_call_with_stack_base (fn=3D&l= t;optimized out>, arg=3D<optimized out>) at misc.c:1553
#15 0x0= 0007fb4d8ef80a4 in start_thread (arg=3D0x7fb4ceffd700) at pthread_create.c:= 309
#16 0x00007fb4d8c2d87d in clone () at ../sysdeps/unix/sysv/linux/x86= _64/clone.S:111



Second backtrace:
<= br>Thread 6 (Thread 0x7f3b45281700 (LWP 30465)):
#0=C2=A0 __lll_lock_wai= t () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1=C2= =A0 0x00007f3b4a92b4b9 in _L_lock_909 () from /lib/x86_64-linux-gnu/libpthr= ead.so.0
#2=C2=A0 0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex= =3D0x7f3b4ad79920 <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:7= 9
#3=C2=A0 0x00007f3b4ab5295d in GC_core_malloc (lb=3D16) at malloc.c:24= 7
#4=C2=A0 0x00007f3b4ae89292 in scm_cell (cdr=3D32661376, car=3D55) at = ../libguile/gc.h:232
#5=C2=A0 make_vm () at vm.c:728
#6=C2=A0 0x00007= f3b4ae892d5 in scm_the_vm () at vm.c:781
#7=C2=A0 0x00007f3b4ae0f600 in = scm_call_4 (proc=3D0x1d54c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimiz= ed out>, arg3=3D<optimized out>, arg4=3D<optimized out>) at = eval.c:507
#8=C2=A0 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_hand= ler (key=3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D<= optimized out>, pre_unwind_handler=3D<optimized out>) at throw.c:7= 3
#9=C2=A0 0x00007f3b4ae85e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, b= ody=3Dbody@entry=3D0x7f3b4ae05c00 <c_body>, body_data=3Dbody_data@ent= ry=3D0x7f3b45280d50, handler=3Dhandler@entry=3D0x7f3b4ae05fe0 <c_handler= >, handler_data=3Dhandler_data@entry=3D0x7f3b45280d50, pre_unwind_handle= r=3Dpre_unwind_handler@entry=3D0x7f3b4ae05d90 <pre_unwind_handler>, p= re_unwind_handler_data=3D0x1e38ff0) at throw.c:207
#10 0x00007f3b4ae0638= 1 in scm_i_with_continuation_barrier (body=3Dbody@entry=3D0x7f3b4ae05c00 &l= t;c_body>, body_data=3Dbody_data@entry=3D0x7f3b45280d50, handler=3Dhandl= er@entry=3D0x7f3b4ae05fe0 <c_handler>, handler_data=3Dhandler_data@en= try=3D0x7f3b45280d50, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f3= b4ae05d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x1e38ff0) = at continuations.c:455
#11 0x00007f3b4ae06415 in scm_c_with_continuation= _barrier (func=3D<optimized out>, data=3D<optimized out>) at co= ntinuations.c:551
#12 0x00007f3b4ae836dc in with_guile_and_parent (base= =3Dbase@entry=3D0x7f3b45280db0, data=3Ddata@entry=3D0x7f3b45280de0) at thre= ads.c:906
#13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=3Dfn@ent= ry=3D0x7f3b4ae83690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7f3b= 45280de0) at misc.c:1553
#14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_= parent (parent=3D<optimized out>, data=3D<optimized out>, func= =3D<optimized out>) at threads.c:949
#15 scm_with_guile (func=3D&l= t;optimized out>, data=3D<optimized out>) at threads.c:955
#16 = 0x00000000004008bb in a_libguile_thread_ (unused=3D0x0) at corruption_guile= .c:9
#17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=3D<error re= ading variable: value has been optimized out>, arg=3D<error reading v= ariable: value has been optimized out>) at pthread_start.c:56
#18 0x0= 0007f3b4ab57302 in GC_call_with_stack_base (fn=3D<optimized out>, arg= =3D<optimized out>) at misc.c:1553
#19 0x00007f3b4a9290a4 in start= _thread (arg=3D0x7f3b45281700) at pthread_create.c:309
#20 0x00007f3b4a6= 5e87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

T= hread 5 (Thread 0x7f3b45a82700 (LWP 30463)):
#0=C2=A0 __lll_lock_wait ()= at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1=C2=A0 0= x00007f3b4a92b4b9 in _L_lock_909 () from /lib/x86_64-linux-gnu/libpthread.s= o.0
#2=C2=A0 0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=3D0x= 7f3b4ad79920 <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
= #3=C2=A0 0x00007f3b4ab5295d in GC_core_malloc (lb=3D16) at malloc.c:247
= #4=C2=A0 0x00007f3b4ae89292 in scm_cell (cdr=3D31150464, car=3D55) at ../li= bguile/gc.h:232
#5=C2=A0 make_vm () at vm.c:728
#6=C2=A0 0x00007f3b4a= e892d5 in scm_the_vm () at vm.c:781
#7=C2=A0 0x00007f3b4ae0f600 in scm_c= all_4 (proc=3D0x1d54c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimized ou= t>, arg3=3D<optimized out>, arg4=3D<optimized out>) at eval.= c:507
#8=C2=A0 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (= key=3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D<optim= ized out>, pre_unwind_handler=3D<optimized out>) at throw.c:73
= #9=C2=A0 0x00007f3b4ae85e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body= =3Dbody@entry=3D0x7f3b4ae05c00 <c_body>, body_data=3Dbody_data@entry= =3D0x7f3b45a81d50, handler=3Dhandler@entry=3D0x7f3b4ae05fe0 <c_handler&g= t;, handler_data=3Dhandler_data@entry=3D0x7f3b45a81d50, pre_unwind_handler= =3Dpre_unwind_handler@entry=3D0x7f3b4ae05d90 <pre_unwind_handler>, pr= e_unwind_handler_data=3D0x1e38ff0) at throw.c:207
#10 0x00007f3b4ae06381= in scm_i_with_continuation_barrier (body=3Dbody@entry=3D0x7f3b4ae05c00 <= ;c_body>, body_data=3Dbody_data@entry=3D0x7f3b45a81d50, handler=3Dhandle= r@entry=3D0x7f3b4ae05fe0 <c_handler>, handler_data=3Dhandler_data@ent= ry=3D0x7f3b45a81d50, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f3b= 4ae05d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x1e38ff0) a= t continuations.c:455
#11 0x00007f3b4ae06415 in scm_c_with_continuation_= barrier (func=3D<optimized out>, data=3D<optimized out>) at con= tinuations.c:551
#12 0x00007f3b4ae836dc in with_guile_and_parent (base= =3Dbase@entry=3D0x7f3b45a81db0, data=3Ddata@entry=3D0x7f3b45a81de0) at thre= ads.c:906
#13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=3Dfn@ent= ry=3D0x7f3b4ae83690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7f3b= 45a81de0) at misc.c:1553
#14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_= parent (parent=3D<optimized out>, data=3D<optimized out>, func= =3D<optimized out>) at threads.c:949
#15 scm_with_guile (func=3D&l= t;optimized out>, data=3D<optimized out>) at threads.c:955
#16 = 0x00000000004008bb in a_libguile_thread_ (unused=3D0x0) at corruption_guile= .c:9
#17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=3D<error re= ading variable: value has been optimized out>, arg=3D<error reading v= ariable: value has been optimized out>) at pthread_start.c:56
#18 0x0= 0007f3b4ab57302 in GC_call_with_stack_base (fn=3D<optimized out>, arg= =3D<optimized out>) at misc.c:1553
#19 0x00007f3b4a9290a4 in start= _thread (arg=3D0x7f3b45a82700) at pthread_create.c:309
#20 0x00007f3b4a6= 5e87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

T= hread 4 (Thread 0x7f3b44a80700 (LWP 30466)):
#0=C2=A0 __lll_lock_wait ()= at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
#1=C2=A0 0= x00007f3b4a92b4b9 in _L_lock_909 () from /lib/x86_64-linux-gnu/libpthread.s= o.0
#2=C2=A0 0x00007f3b4a92b2e0 in __GI___pthread_mutex_lock (mutex=3D0x= 7f3b4ad79920 <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:79
= #3=C2=A0 0x00007f3b4ab5295d in GC_core_malloc (lb=3D16) at malloc.c:247
= #4=C2=A0 0x00007f3b4ae89292 in scm_cell (cdr=3D32661248, car=3D55) at ../li= bguile/gc.h:232
#5=C2=A0 make_vm () at vm.c:728
#6=C2=A0 0x00007f3b4a= e892d5 in scm_the_vm () at vm.c:781
#7=C2=A0 0x00007f3b4ae0f600 in scm_c= all_4 (proc=3D0x1d54c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimized ou= t>, arg3=3D<optimized out>, arg4=3D<optimized out>) at eval.= c:507
#8=C2=A0 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (= key=3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D<optim= ized out>, pre_unwind_handler=3D<optimized out>) at throw.c:73
= #9=C2=A0 0x00007f3b4ae85e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body= =3Dbody@entry=3D0x7f3b4ae05c00 <c_body>, body_data=3Dbody_data@entry= =3D0x7f3b44a7fd50, handler=3Dhandler@entry=3D0x7f3b4ae05fe0 <c_handler&g= t;, handler_data=3Dhandler_data@entry=3D0x7f3b44a7fd50, pre_unwind_handler= =3Dpre_unwind_handler@entry=3D0x7f3b4ae05d90 <pre_unwind_handler>, pr= e_unwind_handler_data=3D0x1e38ff0) at throw.c:207
#10 0x00007f3b4ae06381= in scm_i_with_continuation_barrier (body=3Dbody@entry=3D0x7f3b4ae05c00 <= ;c_body>, body_data=3Dbody_data@entry=3D0x7f3b44a7fd50, handler=3Dhandle= r@entry=3D0x7f3b4ae05fe0 <c_handler>, handler_data=3Dhandler_data@ent= ry=3D0x7f3b44a7fd50, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f3b= 4ae05d90 <pre_unwind_handler>, pre_unwind_handler_data=3D0x1e38ff0) a= t continuations.c:455
#11 0x00007f3b4ae06415 in scm_c_with_continuation_= barrier (func=3D<optimized out>, data=3D<optimized out>) at con= tinuations.c:551
#12 0x00007f3b4ae836dc in with_guile_and_parent (base= =3Dbase@entry=3D0x7f3b44a7fdb0, data=3Ddata@entry=3D0x7f3b44a7fde0) at thre= ads.c:906
#13 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=3Dfn@ent= ry=3D0x7f3b4ae83690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7f3b= 44a7fde0) at misc.c:1553
#14 0x00007f3b4ae83ac8 in scm_i_with_guile_and_= parent (parent=3D<optimized out>, data=3D<optimized out>, func= =3D<optimized out>) at threads.c:949
#15 scm_with_guile (func=3D&l= t;optimized out>, data=3D<optimized out>) at threads.c:955
#16 = 0x00000000004008bb in a_libguile_thread_ (unused=3D0x0) at corruption_guile= .c:9
#17 0x00007f3b4ab5bf6e in GC_inner_start_routine (sb=3D<error re= ading variable: value has been optimized out>, arg=3D<error reading v= ariable: value has been optimized out>) at pthread_start.c:56
#18 0x0= 0007f3b4ab57302 in GC_call_with_stack_base (fn=3D<optimized out>, arg= =3D<optimized out>) at misc.c:1553
#19 0x00007f3b4a9290a4 in start= _thread (arg=3D0x7f3b44a80700) at pthread_create.c:309
#20 0x00007f3b4a6= 5e87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

T= hread 3 (Thread 0x7f3b46283700 (LWP 30464)):
#0=C2=A0 0x00007f3b4a92fadd= in read () at ../sysdeps/unix/syscall-template.S:81
#1=C2=A0 0x00007f3b= 4ae61227 in read_signal_pipe_data (data=3D0x7f3b46282840) at scmsigs.c:149<= br>#2=C2=A0 0x00007f3b4ab5ca20 in GC_do_blocking_inner (data=3Ddata@entry= =3D0x7f3b46282800 "\020\022\346J;\177", context=3Dcontext@entry= =3D0x7f3b46282440) at pthread_support.c:1141
#3=C2=A0 0x00007f3b4ab5e07c= in GC_with_callee_saves_pushed (fn=3D0x7f3b4ab5c9e0 <GC_do_blocking_inn= er>, arg=3Darg@entry=3D0x7f3b46282800 "\020\022\346J;\177") at= mach_dep.c:273
#4=C2=A0 0x00007f3b4ab5733c in GC_do_blocking (fn=3Dfn@e= ntry=3D0x7f3b4ae61210 <read_signal_pipe_data>, client_data=3Dclient_d= ata@entry=3D0x7f3b46282840) at misc.c:1657
#5=C2=A0 0x00007f3b4ae83b3a i= n with_gc_inactive (data=3D0x7f3b46282840, func=3D0x7f3b4ae61210 <read_s= ignal_pipe_data>) at threads.c:230
#6=C2=A0 scm_without_guile (func= =3D0x7f3b4ae61210 <read_signal_pipe_data>, data=3D0x7f3b46282840) at = threads.c:968
#7=C2=A0 0x00007f3b4ae6118f in signal_delivery_thread (dat= a=3D<optimized out>) at scmsigs.c:169
#8=C2=A0 0x00007f3b4aea0752 = in vm_regular_engine (vm=3D0xf, program=3D0x7f3b46282840, argv=3D0x2285168,= nargs=3D1256598096) at vm-i-system.c:858
#9=C2=A0 0x00007f3b4ae0f5ce in= scm_call_3 (proc=3D0x1d54c30, arg1=3D<optimized out>, arg2=3D<opt= imized out>, arg3=3D<optimized out>) at eval.c:500
#10 0x00007f= 3b4ae85d3e in scm_catch (key=3D<optimized out>, thunk=3D<optimized= out>, handler=3D<optimized out>) at throw.c:63
#11 0x00007f3b4= ae85d95 in scm_catch_with_pre_unwind_handler (key=3Dkey@entry=3D0x404, thun= k=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand= ler=3D<optimized out>) at throw.c:71
#12 0x00007f3b4ae85e8f in scm= _c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7f3b4ae61150 <s= ignal_delivery_thread>, body_data=3Dbody_data@entry=3D0x0, handler=3Dhan= dler@entry=3D0x7f3b4ae861e0 <scm_handle_by_message>, handler_data=3Dh= andler_data@entry=3D0x7f3b4aecaea8, pre_unwind_handler=3Dpre_unwind_handler= @entry=3D0x0, pre_unwind_handler_data=3D0x0) at throw.c:207
#13 0x00007f= 3b4ae85e9e in scm_internal_catch (tag=3Dtag@entry=3D0x404, body=3Dbody@entr= y=3D0x7f3b4ae61150 <signal_delivery_thread>, body_data=3Dbody_data@en= try=3D0x0, handler=3Dhandler@entry=3D0x7f3b4ae861e0 <scm_handle_by_messa= ge>, handler_data=3Dhandler_data@entry=3D0x7f3b4aecaea8) at throw.c:216<= br>#14 0x00007f3b4ae83f8c in really_spawn (d=3D0x7f3b48a87a30) at threads.c= :1098
#15 0x00007f3b4ae05c0a in c_body (d=3D0x7f3b46282d70) at continuat= ions.c:517
#16 0x00007f3b4aea0752 in vm_regular_engine (vm=3D0xf, progra= m=3D0x7f3b46282840, argv=3D0x22850b8, nargs=3D1256598096) at vm-i-system.c:= 858
#17 0x00007f3b4ae0f613 in scm_call_4 (proc=3D0x1d54c30, arg1=3Darg1@= entry=3D0x404, arg2=3D<optimized out>, arg3=3D<optimized out>, = arg4=3D<optimized out>) at eval.c:507
#18 0x00007f3b4ae85d89 in sc= m_catch_with_pre_unwind_handler (key=3Dkey@entry=3D0x404, thunk=3D<optim= ized out>, handler=3D<optimized out>, pre_unwind_handler=3D<opt= imized out>) at throw.c:73
#19 0x00007f3b4ae85e8f in scm_c_catch (tag= =3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7f3b4ae05c00 <c_body>, bo= dy_data=3Dbody_data@entry=3D0x7f3b46282d70, handler=3Dhandler@entry=3D0x7f3= b4ae05fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x7f3b4628= 2d70, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f3b4ae05d90 <pr= e_unwind_handler>, pre_unwind_handler_data=3D0x1e38ff0) at throw.c:207#20 0x00007f3b4ae06381 in scm_i_with_continuation_barrier (body=3Dbody@en= try=3D0x7f3b4ae05c00 <c_body>, body_data=3Dbody_data@entry=3D0x7f3b46= 282d70, handler=3Dhandler@entry=3D0x7f3b4ae05fe0 <c_handler>, handler= _data=3Dhandler_data@entry=3D0x7f3b46282d70, pre_unwind_handler=3Dpre_unwin= d_handler@entry=3D0x7f3b4ae05d90 <pre_unwind_handler>, pre_unwind_han= dler_data=3D0x1e38ff0) at continuations.c:455
#21 0x00007f3b4ae06415 in = scm_c_with_continuation_barrier (func=3D<optimized out>, data=3D<o= ptimized out>) at continuations.c:551
#22 0x00007f3b4ae836dc in with_= guile_and_parent (base=3Dbase@entry=3D0x7f3b46282dd0, data=3Ddata@entry=3D0= x7f3b46282e00) at threads.c:906
#23 0x00007f3b4ab57302 in GC_call_with_s= tack_base (fn=3Dfn@entry=3D0x7f3b4ae83690 <with_guile_and_parent>, ar= g=3Darg@entry=3D0x7f3b46282e00) at misc.c:1553
#24 0x00007f3b4ae830dc in= scm_i_with_guile_and_parent (parent=3D<optimized out>, data=3D0x7f3b= 48a87a30, func=3D0x7f3b4ae83f10 <really_spawn>) at threads.c:949
#= 25 spawn_thread (d=3D0x7f3b48a87a30) at threads.c:1110
#26 0x00007f3b4ab= 5bf6e in GC_inner_start_routine (sb=3D<error reading variable: value has= been optimized out>, arg=3D<error reading variable: value has been o= ptimized out>) at pthread_start.c:56
#27 0x00007f3b4ab57302 in GC_cal= l_with_stack_base (fn=3D<optimized out>, arg=3D<optimized out>)= at misc.c:1553
#28 0x00007f3b4a9290a4 in start_thread (arg=3D0x7f3b4628= 3700) at pthread_create.c:309
#29 0x00007f3b4a65e87d in clone () at ../s= ysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f3b4b3= 2b740 (LWP 30456)):
#0=C2=A0 __lll_lock_wait () at ../nptl/sysdeps/unix/= sysv/linux/x86_64/lowlevellock.S:135
#1=C2=A0 0x00007f3b4a92b4b9 in _L_l= ock_909 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2=C2=A0 0x00007f3= b4a92b2e0 in __GI___pthread_mutex_lock (mutex=3D0x7f3b4ad79920 <GC_alloc= ate_ml>) at ../nptl/pthread_mutex_lock.c:79
#3=C2=A0 0x00007f3b4ab5ce= 09 in GC_pthread_join (thread=3D139892607194880, retval=3D0x0) at pthread_s= upport.c:1283
#4=C2=A0 0x000000000040099c in main (argc=3D1, argv=3D0x7f= fcfd8daa48) at corruption_guile.c:33

Thread 1 (Thread 0x7f3b37fff700= (LWP 30467)):
#0=C2=A0 GC_generic_malloc (lb=3D524288,= k=3D<optimized out>) at malloc.c:185
#1=C2=A0 0x00007f3b4a= e891ff in make_vm () at vm.c:704
#2=C2=A0 0x00007f3b4ae892d5 in scm_the_= vm () at vm.c:781
#3=C2=A0 0x00007f3b4ae0f600 in scm_call_4 (proc=3D0x1d= 54c30, arg1=3Darg1@entry=3D0x404, arg2=3D<optimized out>, arg3=3D<= optimized out>, arg4=3D<optimized out>) at eval.c:507
#4=C2=A0 = 0x00007f3b4ae85d89 in scm_catch_with_pre_unwind_handler (key=3Dkey@entry=3D= 0x404, thunk=3D<optimized out>, handler=3D<optimized out>, pre_= unwind_handler=3D<optimized out>) at throw.c:73
#5=C2=A0 0x00007f3= b4ae85e8f in scm_c_catch (tag=3Dtag@entry=3D0x404, body=3Dbody@entry=3D0x7f= 3b4ae05c00 <c_body>, body_data=3Dbody_data@entry=3D0x7f3b37ffed50, ha= ndler=3Dhandler@entry=3D0x7f3b4ae05fe0 <c_handler>, handler_data=3Dha= ndler_data@entry=3D0x7f3b37ffed50, pre_unwind_handler=3Dpre_unwind_handler@= entry=3D0x7f3b4ae05d90 <pre_unwind_handler>, pre_unwind_handler_data= =3D0x1e38ff0) at throw.c:207
#6=C2=A0 0x00007f3b4ae06381 in scm_i_with_c= ontinuation_barrier (body=3Dbody@entry=3D0x7f3b4ae05c00 <c_body>, bod= y_data=3Dbody_data@entry=3D0x7f3b37ffed50, handler=3Dhandler@entry=3D0x7f3b= 4ae05fe0 <c_handler>, handler_data=3Dhandler_data@entry=3D0x7f3b37ffe= d50, pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f3b4ae05d90 <pre= _unwind_handler>, pre_unwind_handler_data=3D0x1e38ff0) at continuations.= c:455
#7=C2=A0 0x00007f3b4ae06415 in scm_c_with_continuation_barrier (fu= nc=3D<optimized out>, data=3D<optimized out>) at continuations.= c:551
#8=C2=A0 0x00007f3b4ae836dc in with_guile_and_parent (base=3Dbase@= entry=3D0x7f3b37ffedb0, data=3Ddata@entry=3D0x7f3b37ffede0) at threads.c:90= 6
#9=C2=A0 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=3Dfn@entry= =3D0x7f3b4ae83690 <with_guile_and_parent>, arg=3Darg@entry=3D0x7f3b37= ffede0) at misc.c:1553
#10 0x00007f3b4ae83ac8 in scm_i_with_guile_and_pa= rent (parent=3D<optimized out>, data=3D<optimized out>, func=3D= <optimized out>) at threads.c:949
#11 scm_with_gu= ile (func=3D<optimized out>, data=3D<optimized out>) at threads= .c:955
#12 0x00000000004008bb in a_libguile_thread_ (unused=3D0x0= ) at corruption_guile.c:9
#13 0x00007f3b4ab5bf6e in GC_inner_start_routi= ne (sb=3D<error reading variable: value has been optimized out>, arg= =3D<error reading variable: value has been optimized out>) at pthread= _start.c:56
#14 0x00007f3b4ab57302 in GC_call_with_stack_base (fn=3D<= optimized out>, arg=3D<optimized out>) at misc.c:1553
#15 0x000= 07f3b4a9290a4 in start_thread (arg=3D0x7f3b37fff700) at pthread_create.c:30= 9
#16 0x00007f3b4a65e87d in clone () at ../sysdeps/unix/sysv/linux/x86_6= 4/clone.S:111




On Wed, J= un 22, 2016 at 11:27 PM, Andy Wingo <wingo@pobox.com> wrote:
I can reproduce this bug, but I can't = get backtraces from my core file
:/=C2=A0 Irritating.=C2=A0 Are you able to get backtraces reliably?=C2=A0 C= an you
provide a "thr apply all bt" ?

Regards,

Andy

On Tue 06 Jan 2015 15:27, Anthonin Bonnefoy <anthonin.bonnefoy@securactive.n= et> 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 =3D 0; i < 1000; ++i) {
> a[i] =3D malloc(356);
> }
> for (int i =3D 0; i < 1000; ++i) {
> free(a[i]);
> }
> }
>
> int main(int argc, char *argv[]) {
> scm_init_guile();
>
> pthread_t pth[10];
> for (int i =3D 0; i < 10; ++i) {
> GC_pthread_create(pth + i, NULL, a_libguile_thread_, NULL);
> }
>
> do_mallocs();
>
> for (int i =3D 0; i < 10; ++i) {
> GC_pthread_join(pth[i], NULL);
> }
>
> return 0;
> }
>
> ```
> To compile:
> gcc corruption_guile.c -g -std=3Dc99 `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=3D524288, k=3D<optimized out>) at mallo= c.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=3D0x1198c30,
> arg1=3Darg1@entry=3D0x404, arg2=3D<optimized out>, arg3=3D<op= timized out>,
> arg4=3D<optimized out>) at eval.c:507
> #4 0x00007fcc53550d89 in scm_catch_with_pre_unwind_handler
> (key=3Dkey@entry=3D0x404, thunk=3D<optimized out>, handler=3D<= ;optimized out>,
> pre_unwind_handler=3D<optimized out>) at throw.c:73
> #5 0x00007fcc53550e8f in scm_c_catch (tag=3Dtag@entry=3D0x404,
> body=3Dbody@entry=3D0x7fcc534d0c00 <c_body>,
> body_data=3Dbody_data@entry=3D0x7fcc4d14cd50,
> handler=3Dhandler@entry=3D0x7fcc534d0fe0 <c_handler>,
> handler_data=3Dhandler_data@entry=3D0x7fcc4d14cd50
> , pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fcc534d0d90
> <pre_unwind_handler>, pre_unwind_handler_data=3D0x127cff0) at > throw.c:207
> #6 0x00007fcc534d1381 in scm_i_with_continuation_barrier
> (body=3Dbody@entry=3D0x7fcc534d0c00 <c_body>,
> body_data=3Dbody_data@entry=3D0x7fcc4d14cd50,
> handler=3Dhandler@entry=3D0x7fcc534d0fe0 <c_handler>,
> handler_data=3Dhandler_data@entry=3D0x7fcc4d14cd50,
> pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7fcc534d0d90
> <pre_unwind_handler>, pre_unwind_handler_data=3D0x127cff0) at > continuations.c:455
> #7 0x00007fcc534d1415 in scm_c_with_continuation_barrier
> (func=3D<optimized out>, data=3D<optimized out>) at contin= uations.c:551
> #8 0x00007fcc5354e6dc in with_guile_and_parent
> (base=3Dbase@entry=3D0x7fcc4d14cdb0, data=3Ddata@entry=3D0x7fcc4d14cde= 0) at
> threads.c:906
> #9 0x00007fcc53222302 in GC_call_with_stack_base
> (fn=3Dfn@entry=3D0x7fcc5354e690 <with_guile_and_parent>,
> arg=3Darg@entry=3D0x7fcc4d14cde0) at misc.c:1553
> #10 0x00007fcc5354eac8 in scm_i_with_guile_and_parent
> (parent=3D<optimized out>, data=3D<optimized out>, func=3D= <optimized out>)
> at threads.c:949
> #11 scm_with_guile (func=3D<optimized out>, data=3D<optimized= out>) at
> threads.c:955
> #12 0x00000000004008bb in a_libguile_thread_ (unused=3D0x0) at
> corruption_guile.c:11
> #13 0x00007fcc53226f6e in GC_inner_start_routine (sb=3D<error readi= ng
> variable: value has been optimized out>, arg=3D<error reading va= riable:
> value has been optimized out>) at pthread_start.c:56
> #14 0x00007fcc53222302 in GC_call_with_stack_base (fn=3D<optimized = out>,
> arg=3D<optimized out>) at misc.c:1553
> #15 0x00007fcc52ff40a4 in start_thread (arg=3D0x7fcc4d14d700) 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 =3D 0; i < 100; ++i) {
> a =3D GC_generic_malloc(524288, 6);
> }
> GC_free(a);
> }
>
> static void do_mallocs(void) {
> void *a[100];
> for (int i =3D 0; i < 100; ++i) {
> a[i] =3D malloc(356);
> }
> for (int i =3D 0; i < 100; ++i) {
> free(a[i]);
> }
> }
>
> int main(int argc, char *argv[]) {
> pthread_t pth[10];
> for (int i =3D 0; i < 10; ++i) {
> GC_pthread_create(pth + i, NULL, a_lib_gc_thread, NULL);
> }
> do_mallocs();
> for (int i =3D 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


--001a114dac385dc8000535edb573--