GNU bug report logs - #28211
Grafting code triggers GC/thread-safety issue on Guile 2.2.2

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Severity: serious; Reported by: ludo@HIDDEN (Ludovic Courtès); dated Wed, 23 Aug 2017 22:21:02 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 29 Jun 2018 23:19:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 29 19:19:28 2018
Received: from localhost ([127.0.0.1]:40190 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fZ2fo-00059y-FO
	for submit <at> debbugs.gnu.org; Fri, 29 Jun 2018 19:19:28 -0400
Received: from world.peace.net ([64.112.178.59]:55850)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fZ2fn-00059l-3c
 for 28211 <at> debbugs.gnu.org; Fri, 29 Jun 2018 19:19:27 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fZ2fh-00023U-5F; Fri, 29 Jun 2018 19:19:21 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
Subject: Re: Stack marking issue in multi-threaded code
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
 <871sel6vnq.fsf@HIDDEN> <87fu30dmx3.fsf@HIDDEN>
 <87tvrg3q1d.fsf@HIDDEN> <87a7rdvdm9.fsf_-_@HIDDEN>
 <87in61y1m0.fsf@HIDDEN> <87muvdthp4.fsf@HIDDEN>
Date: Fri, 29 Jun 2018 19:18:07 -0400
In-Reply-To: <87muvdthp4.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Fri, 29 Jun 2018 23:18:31 +0200")
Message-ID: <87efgpw5ao.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Ludovic,

ludo@HIDDEN (Ludovic Court=C3=A8s) writes:

> Mark H Weaver <mhw@HIDDEN> skribis:
>
>> ludo@HIDDEN (Ludovic Court=C3=A8s) writes:
>
> [...]
>
>>> I=E2=80=99m thinking we could perhaps add a compiler barrier before =E2=
=80=98vp->fp =3D new_fp=E2=80=99
>>> statements, but in practice it=E2=80=99s not necessary here (x86_64, gc=
c 7).
>>>
>>> Thoughts?
>
> I just pushed the patch as 23af45e248e8e2bec99c712842bf24d6661abbe2.
>
>> Indeed, we need something to ensure that the compiler won't reorder
>> these writes.  My recommendation would be to use the 'volatile'
>> qualifier in the declarations of both the 'fp' field of 'struct scm_vm'
>> and the stack element modified by SCM_FRAME_SET_DYNAMIC_LINK.
>>
>> Maybe something like this:
>>
>> diff --git a/libguile/frames.h b/libguile/frames.h
>> index ef2db3df5..8554f886b 100644
>> --- a/libguile/frames.h
>> +++ b/libguile/frames.h
>> @@ -89,6 +89,7 @@
>>  union scm_vm_stack_element
>>  {
>>    scm_t_uintptr as_uint;
>> +  volatile scm_t_uintptr as_volatile_uint;
>
> [...]
>
>> +#define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl) ((fp)[1].as_volatile_uint =
=3D ((dl) - (fp)))
>
> I=E2=80=99m not sure this is exactly what we need.
>
> What I had in mind, to make sure the vp->fp assignment really happens
> after the SCM_FRAME_SET_DYNAMIC_LINK, was to do something like this:
>
>   SCM_FRAME_SET_RETURN_ADDRESS (new_fp, =E2=80=A6);
>   SCM_FRAME_SET_DYNAMIC_LINK (new_fp, =E2=80=A6);
>
>   asm volatile ("" : : : "memory");
>
>   vp->fp =3D new_fp;
>
> I think that more accurately reflects what we want, WDYT?
>
> It=E2=80=99s GCC-specific though (I don=E2=80=99t think Clang implements =
=E2=80=98asm=E2=80=99 in a
> compatible way, does it?) and I suppose we=E2=80=99d have to ignore the n=
on-GCC
> case.

Right, the problem is that the "asm volatile" solution is not portable.

To my mind, it's fine to optionally use GCC extensions for improved
performance, but I think we should ensure that Guile works reliably when
compiled with any conforming C compiler.

What problem do you see with my proposed portable solution?  If I
understand C99 section 5.1.2.3 paragraph 2 correctly, compilers are not
permitted to reorder accesses to volatile objects as long as there is a
sequence point between them.

I should say that I'm not confident that _either_ of these proposed
solutions will adequately address all of the possible problems that
could occur when GC is performed on VM threads stopped at arbitrary
points in their execution.

      Mark




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 29 Jun 2018 21:18:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 29 17:18:43 2018
Received: from localhost ([127.0.0.1]:40150 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fZ0mw-0006uq-PP
	for submit <at> debbugs.gnu.org; Fri, 29 Jun 2018 17:18:42 -0400
Received: from eggs.gnu.org ([208.118.235.92]:43408)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1fZ0mu-0006ud-Si
 for 28211 <at> debbugs.gnu.org; Fri, 29 Jun 2018 17:18:41 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1fZ0mo-0008NT-OK
 for 28211 <at> debbugs.gnu.org; Fri, 29 Jun 2018 17:18:35 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51005)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1fZ0mo-0008NN-KT; Fri, 29 Jun 2018 17:18:34 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=38148 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1fZ0mo-000370-3H; Fri, 29 Jun 2018 17:18:34 -0400
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: Mark H Weaver <mhw@HIDDEN>
Subject: Re: Stack marking issue in multi-threaded code
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
 <871sel6vnq.fsf@HIDDEN> <87fu30dmx3.fsf@HIDDEN>
 <87tvrg3q1d.fsf@HIDDEN> <87a7rdvdm9.fsf_-_@HIDDEN>
 <87in61y1m0.fsf@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 11 Messidor an 226 de la =?utf-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Fri, 29 Jun 2018 23:18:31 +0200
In-Reply-To: <87in61y1m0.fsf@HIDDEN> (Mark H. Weaver's message of "Fri, 29
 Jun 2018 12:54:47 -0400")
Message-ID: <87muvdthp4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

Hi Mark,

Mark H Weaver <mhw@HIDDEN> skribis:

> ludo@HIDDEN (Ludovic Court=C3=A8s) writes:

[...]

>> I=E2=80=99m thinking we could perhaps add a compiler barrier before =E2=
=80=98vp->fp =3D new_fp=E2=80=99
>> statements, but in practice it=E2=80=99s not necessary here (x86_64, gcc=
 7).
>>
>> Thoughts?

I just pushed the patch as 23af45e248e8e2bec99c712842bf24d6661abbe2.

> Indeed, we need something to ensure that the compiler won't reorder
> these writes.  My recommendation would be to use the 'volatile'
> qualifier in the declarations of both the 'fp' field of 'struct scm_vm'
> and the stack element modified by SCM_FRAME_SET_DYNAMIC_LINK.
>
> Maybe something like this:
>
> diff --git a/libguile/frames.h b/libguile/frames.h
> index ef2db3df5..8554f886b 100644
> --- a/libguile/frames.h
> +++ b/libguile/frames.h
> @@ -89,6 +89,7 @@
>  union scm_vm_stack_element
>  {
>    scm_t_uintptr as_uint;
> +  volatile scm_t_uintptr as_volatile_uint;

[...]

> +#define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl) ((fp)[1].as_volatile_uint =3D=
 ((dl) - (fp)))

I=E2=80=99m not sure this is exactly what we need.

What I had in mind, to make sure the vp->fp assignment really happens
after the SCM_FRAME_SET_DYNAMIC_LINK, was to do something like this:

  SCM_FRAME_SET_RETURN_ADDRESS (new_fp, =E2=80=A6);
  SCM_FRAME_SET_DYNAMIC_LINK (new_fp, =E2=80=A6);

  asm volatile ("" : : : "memory");

  vp->fp =3D new_fp;

I think that more accurately reflects what we want, WDYT?

It=E2=80=99s GCC-specific though (I don=E2=80=99t think Clang implements =
=E2=80=98asm=E2=80=99 in a
compatible way, does it?) and I suppose we=E2=80=99d have to ignore the non=
-GCC
case.

Thoughts?

Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 29 Jun 2018 16:56:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 29 12:56:05 2018
Received: from localhost ([127.0.0.1]:40037 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fYwgn-0006dq-Er
	for submit <at> debbugs.gnu.org; Fri, 29 Jun 2018 12:56:05 -0400
Received: from world.peace.net ([64.112.178.59]:41254)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fYwgk-0006dL-OM
 for 28211 <at> debbugs.gnu.org; Fri, 29 Jun 2018 12:56:03 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fYwge-00046b-OQ; Fri, 29 Jun 2018 12:55:56 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
Subject: Re: Stack marking issue in multi-threaded code
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
 <871sel6vnq.fsf@HIDDEN> <87fu30dmx3.fsf@HIDDEN>
 <87tvrg3q1d.fsf@HIDDEN> <87a7rdvdm9.fsf_-_@HIDDEN>
Date: Fri, 29 Jun 2018 12:54:47 -0400
In-Reply-To: <87a7rdvdm9.fsf_-_@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\?\=
 \=\?utf-8\?Q\?\=22's\?\= message of "Fri,
 29 Jun 2018 17:03:42 +0200")
Message-ID: <87in61y1m0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Ludovic,

ludo@HIDDEN (Ludovic Court=C3=A8s) writes:

> I have a fix for some (most?) of the crashes we were seeing while
> running multi-threaded code such as (guix build compile), and,
> presumably, the grafting code mentioned at the beginning of this bug
> report, although I haven=E2=80=99t checked yet.
>
> So, =E2=80=98scm_i_vm_mark_stack=E2=80=99 marks the stack precisely, but =
contrary to
> what I suspected, precise marking is not at fault.
>
> Instead, the problem has to do with the fact that some VM instructions
> change the frame pointer (vp->fp) before they have set up the dynamic
> link for that new frame.
>
> As a consequence, if a stop-the-world GC is triggered after vp->fp has
> been changed and before its dynamic link has been set, the stack-walking
> loop in =E2=80=98scm_i_vm_mark_stack=E2=80=99 could stop very early, leav=
ing a lot of
> objects unmarked.
>
> The patch below fixes the problem for me.  \o/

That's great news!  Thanks for investigating.

> I=E2=80=99m thinking we could perhaps add a compiler barrier before =E2=
=80=98vp->fp =3D new_fp=E2=80=99
> statements, but in practice it=E2=80=99s not necessary here (x86_64, gcc =
7).
>
> Thoughts?

Indeed, we need something to ensure that the compiler won't reorder
these writes.  My recommendation would be to use the 'volatile'
qualifier in the declarations of both the 'fp' field of 'struct scm_vm'
and the stack element modified by SCM_FRAME_SET_DYNAMIC_LINK.

Maybe something like this:

--8<---------------cut here---------------start------------->8---
diff --git a/libguile/frames.h b/libguile/frames.h
index ef2db3df5..8554f886b 100644
--- a/libguile/frames.h
+++ b/libguile/frames.h
@@ -89,6 +89,7 @@
 union scm_vm_stack_element
 {
   scm_t_uintptr as_uint;
+  volatile scm_t_uintptr as_volatile_uint;
   scm_t_uint32 *as_ip;
   SCM as_scm;
   double as_f64;
@@ -104,7 +105,7 @@ union scm_vm_stack_element
 #define SCM_FRAME_RETURN_ADDRESS(fp)    ((fp)[0].as_ip)
 #define SCM_FRAME_SET_RETURN_ADDRESS(fp, ra) ((fp)[0].as_ip =3D (ra))
 #define SCM_FRAME_DYNAMIC_LINK(fp)      ((fp) + (fp)[1].as_uint)
-#define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl) ((fp)[1].as_uint =3D ((dl) - (f=
p)))
+#define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl) ((fp)[1].as_volatile_uint =3D (=
(dl) - (fp)))
 #define SCM_FRAME_SLOT(fp,i)            ((fp) - (i) - 1)
 #define SCM_FRAME_LOCAL(fp,i)           (SCM_FRAME_SLOT (fp, i)->as_scm)
 #define SCM_FRAME_NUM_LOCALS(fp, sp)    ((fp) - (sp))
diff --git a/libguile/vm.h b/libguile/vm.h
index a1cac391f..0a6179c19 100644
--- a/libguile/vm.h
+++ b/libguile/vm.h
@@ -38,7 +38,7 @@ enum {
 struct scm_vm {
   scm_t_uint32 *ip;		/* instruction pointer */
   union scm_vm_stack_element *sp; /* stack pointer */
-  union scm_vm_stack_element *fp; /* frame pointer */
+  union scm_vm_stack_element *volatile fp; /* frame pointer */
   union scm_vm_stack_element *stack_limit; /* stack limit address */
   int trace_level;              /* traces enabled if trace_level > 0 */
   union scm_vm_stack_element *sp_min_since_gc; /* deepest sp since last gc=
 */
--8<---------------cut here---------------end--------------->8---

> I=E2=80=99d like to push this real soon.  I=E2=80=99ll also do more testi=
ng on real
> workloads from Guix, and then I=E2=80=99d like to release 2.2.4, hopefully
> within a few days.

Sounds good to me.

     Thanks,
       Mark




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 29 Jun 2018 15:03:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 29 11:03:56 2018
Received: from localhost ([127.0.0.1]:40001 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fYuwG-00044V-Bn
	for submit <at> debbugs.gnu.org; Fri, 29 Jun 2018 11:03:56 -0400
Received: from eggs.gnu.org ([208.118.235.92]:45976)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1fYuwE-00044J-BV
 for 28211 <at> debbugs.gnu.org; Fri, 29 Jun 2018 11:03:54 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1fYuw5-0003oc-A3
 for 28211 <at> debbugs.gnu.org; Fri, 29 Jun 2018 11:03:49 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42185)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1fYuw5-0003o9-5P; Fri, 29 Jun 2018 11:03:45 -0400
Received: from [193.50.110.150] (port=54910 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1fYuw4-0000Cx-PT; Fri, 29 Jun 2018 11:03:45 -0400
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: Andy Wingo <wingo@HIDDEN>
Subject: Stack marking issue in multi-threaded code
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
 <871sel6vnq.fsf@HIDDEN> <87fu30dmx3.fsf@HIDDEN>
 <87tvrg3q1d.fsf@HIDDEN>
Date: Fri, 29 Jun 2018 17:03:42 +0200
In-Reply-To: <87tvrg3q1d.fsf@HIDDEN> (Andy Wingo's message of "Thu, 10 May
 2018 09:53:18 +0200")
Message-ID: <87a7rdvdm9.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 28211
Cc: Mark H Weaver <mhw@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hey hey, comrades!

I have a fix for some (most?) of the crashes we were seeing while
running multi-threaded code such as (guix build compile), and,
presumably, the grafting code mentioned at the beginning of this bug
report, although I haven=E2=80=99t checked yet.

So, =E2=80=98scm_i_vm_mark_stack=E2=80=99 marks the stack precisely, but co=
ntrary to
what I suspected, precise marking is not at fault.

Instead, the problem has to do with the fact that some VM instructions
change the frame pointer (vp->fp) before they have set up the dynamic
link for that new frame.

As a consequence, if a stop-the-world GC is triggered after vp->fp has
been changed and before its dynamic link has been set, the stack-walking
loop in =E2=80=98scm_i_vm_mark_stack=E2=80=99 could stop very early, leavin=
g a lot of
objects unmarked.

The patch below fixes the problem for me.  \o/

I=E2=80=99m thinking we could perhaps add a compiler barrier before =E2=80=
=98vp->fp =3D new_fp=E2=80=99
statements, but in practice it=E2=80=99s not necessary here (x86_64, gcc 7).

Thoughts?

I=E2=80=99d like to push this real soon.  I=E2=80=99ll also do more testing=
 on real
workloads from Guix, and then I=E2=80=99d like to release 2.2.4, hopefully
within a few days.

Thank you and thanks Andy for the discussions on IRC!

Ludo=E2=80=99, who=E2=80=99s going to party all night long.  :-)


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline

diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 1aa4e9699..19ff3e498 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -548,7 +548,7 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
   VM_DEFINE_OP (1, call, "call", OP2 (X8_F24, X8_C24))
     {
       scm_t_uint32 proc, nlocals;
-      union scm_vm_stack_element *old_fp;
+      union scm_vm_stack_element *old_fp, *new_fp;
 
       UNPACK_24 (op, proc);
       UNPACK_24 (ip[1], nlocals);
@@ -556,9 +556,10 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
       PUSH_CONTINUATION_HOOK ();
 
       old_fp = vp->fp;
-      vp->fp = SCM_FRAME_SLOT (old_fp, proc - 1);
-      SCM_FRAME_SET_DYNAMIC_LINK (vp->fp, old_fp);
-      SCM_FRAME_SET_RETURN_ADDRESS (vp->fp, ip + 2);
+      new_fp = SCM_FRAME_SLOT (old_fp, proc - 1);
+      SCM_FRAME_SET_DYNAMIC_LINK (new_fp, old_fp);
+      SCM_FRAME_SET_RETURN_ADDRESS (new_fp, ip + 2);
+      vp->fp = new_fp;
 
       RESET_FRAME (nlocals);
 
@@ -586,7 +587,7 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
     {
       scm_t_uint32 proc, nlocals;
       scm_t_int32 label;
-      union scm_vm_stack_element *old_fp;
+      union scm_vm_stack_element *old_fp, *new_fp;
 
       UNPACK_24 (op, proc);
       UNPACK_24 (ip[1], nlocals);
@@ -595,9 +596,10 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
       PUSH_CONTINUATION_HOOK ();
 
       old_fp = vp->fp;
-      vp->fp = SCM_FRAME_SLOT (old_fp, proc - 1);
-      SCM_FRAME_SET_DYNAMIC_LINK (vp->fp, old_fp);
-      SCM_FRAME_SET_RETURN_ADDRESS (vp->fp, ip + 3);
+      new_fp = SCM_FRAME_SLOT (old_fp, proc - 1);
+      SCM_FRAME_SET_DYNAMIC_LINK (new_fp, old_fp);
+      SCM_FRAME_SET_RETURN_ADDRESS (new_fp, ip + 3);
+      vp->fp = new_fp;
 
       RESET_FRAME (nlocals);
 
@@ -3893,7 +3895,7 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
         NEXT (1);
 
       {
-        union scm_vm_stack_element *old_fp;
+        union scm_vm_stack_element *old_fp, *new_fp;
         size_t old_frame_size = FRAME_LOCALS_COUNT ();
         SCM proc = scm_i_async_pop (thread);
 
@@ -3907,9 +3909,10 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
            handle-interrupts opcode to handle any additional
            interrupts.  */
         old_fp = vp->fp;
-        vp->fp = SCM_FRAME_SLOT (old_fp, old_frame_size + 1);
-        SCM_FRAME_SET_DYNAMIC_LINK (vp->fp, old_fp);
-        SCM_FRAME_SET_RETURN_ADDRESS (vp->fp, ip);
+        new_fp = SCM_FRAME_SLOT (old_fp, old_frame_size + 1);
+        SCM_FRAME_SET_DYNAMIC_LINK (new_fp, old_fp);
+        SCM_FRAME_SET_RETURN_ADDRESS (new_fp, ip);
+        vp->fp = new_fp;
 
         SP_SET (0, proc);
 
diff --git a/libguile/vm.c b/libguile/vm.c
index c8ec6e1b2..7749159e5 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -1011,6 +1011,18 @@ scm_i_vm_mark_stack (struct scm_vm *vp, struct GC_ms_entry *mark_stack_ptr,
       slot_map = find_slot_map (SCM_FRAME_RETURN_ADDRESS (fp), &cache);
     }
 
+  size_t extra = 0;
+  for (; sp < vp->stack_top; sp++)
+    {
+      if (GC_is_heap_ptr (sp->as_ptr))
+        extra++;
+    }
+  if (extra)
+    {
+      printf ("%s extra: %zi\n", __func__, extra);
+      abort ();
+    }
+
   return_unused_stack_to_os (vp);
 
   return mark_stack_ptr;

--=-=-=--




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 10 May 2018 16:02:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 10 12:02:19 2018
Received: from localhost ([127.0.0.1]:56678 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGo1K-0006FT-VP
	for submit <at> debbugs.gnu.org; Thu, 10 May 2018 12:02:19 -0400
Received: from world.peace.net ([64.112.178.59]:42706)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fGo1J-0006FE-IC
 for 28211 <at> debbugs.gnu.org; Thu, 10 May 2018 12:02:17 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fGo1C-0005TX-W6; Thu, 10 May 2018 12:02:11 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <878t8reckg.fsf@HIDDEN>
Date: Thu, 10 May 2018 12:01:15 -0400
In-Reply-To: <878t8reckg.fsf@HIDDEN> (Mark H. Weaver's message of "Thu, 10
 May 2018 11:48:47 -0400")
Message-ID: <874ljfebzo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Mark H Weaver <mhw@HIDDEN> writes:
> From these facts, I believe we can conclude that the error is happening
> within the body of 'begin-thread' in 'n-par-for-each', but outside of
> the body of 'proc' passed to 'n-par-for-each'.

It could also be happening within the 'call-with-backtrace', used here:

  https://git.savannah.gnu.org/cgit/guile.git/tree/module/ice-9/threads.scm?h=v2.2.3#n159

More investigation is needed, but it's unlikely that I'll be able to
spend more time on this today.

       Mark




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 10 May 2018 15:49:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 10 11:49:53 2018
Received: from localhost ([127.0.0.1]:56658 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGnpJ-0005uz-6c
	for submit <at> debbugs.gnu.org; Thu, 10 May 2018 11:49:53 -0400
Received: from world.peace.net ([64.112.178.59]:42662)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fGnpG-0005uj-TJ
 for 28211 <at> debbugs.gnu.org; Thu, 10 May 2018 11:49:51 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fGnp9-0005Ny-Ta; Thu, 10 May 2018 11:49:43 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN>
Date: Thu, 10 May 2018 11:48:47 -0400
In-Reply-To: <87fu3124nt.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Tue, 08 May 2018 23:55:50 +0200")
Message-ID: <878t8reckg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

I've been studying the backtrace provided by Ludovic, trying to
determine where, in the Scheme code, this error happened in thread 1.

ludo@HIDDEN (Ludovic Court=C3=A8s) writes:
> Thread 1 (Thread 0x7f6fe6f5d700 (LWP 2856)):
> #0  0x00007f7019db0d79 in scm_is_pair (x=3D<error reading variable: ERROR=
: Cannot access memory at address 0x0>0x0) at ../libguile/pairs.h:159
> #1  scm_ilength (sx=3D<optimized out>) at list.c:190
> #2  0x00007f7019e0e2f6 in vm_regular_engine (thread=3D0x1425670, vp=3D0x1=
44e6c0, registers=3D0x0, resume=3D16) at vm-engine.c:909
> #3  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1555f=
e0>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
> #4  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1555f=
e0>) at eval.c:481
> #5  0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<progra=
m 1555fe0>) at async.c:400
> #6  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1425670, vp=3D0x1=
44e6c0, registers=3D0x0, resume=3D16) at vm-engine.c:784
> #7  0x00007f7019e117da in scm_call_n (proc=3D#<program 13717c0>, argv=3Da=
rgv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
> #8  0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:4=
81
> #9  0x00007f7019dff496 in really_launch (d=3D0x149e520) at threads.c:794

The call to 'scm_call_with_unblocked_asyncs' in frame #5 is an important
clue, because it is used in very few places.  I see only two such places
in Guile (and none in Guix):

  https://git.savannah.gnu.org/cgit/guile.git/tree/module/ice-9/scm-style-r=
epl.scm?h=3Dv2.2.3#n80
  https://git.savannah.gnu.org/cgit/guile.git/tree/module/ice-9/threads.scm=
?h=3Dv2.2.3#n158

I assume that it must be the second one in this case.  So, I believe
frames 5-9 correspond to lines 147 through 158 of ice-9/threads.scm:

  https://git.savannah.gnu.org/cgit/guile.git/tree/module/ice-9/threads.scm=
?h=3Dv2.2.3#n147

which is within 'call-with-new-thread', called via the 'begin-thread'
macro used by 'n-par-for-each', here:

  https://git.savannah.gnu.org/cgit/guile.git/tree/module/ice-9/threads.scm=
?h=3Dv2.2.3#n320

However, I would expect to see a 'catch' frame deeper in the stack,
since the procedure passed to 'n-par-for-each' by graft.scm is wrapped
by 'exit-on-exception'.

From these facts, I believe we can conclude that the error is happening
within the body of 'begin-thread' in 'n-par-for-each', but outside of
the body of 'proc' passed to 'n-par-for-each'.

There's not a lot of code in there.  My best guess at the moment is that
this error is happening within the (apply proc args) on line 335,
although I do not yet have an explanation of how that could happen.

To be continued...

       Mark




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 10 May 2018 07:53:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 10 03:53:32 2018
Received: from localhost ([127.0.0.1]:55899 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGgOJ-0001Jn-Qc
	for submit <at> debbugs.gnu.org; Thu, 10 May 2018 03:53:32 -0400
Received: from pb-sasl2.pobox.com ([64.147.108.67]:61318
 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <wingo@HIDDEN>) id 1fGgOH-0001Jc-6c
 for 28211 <at> debbugs.gnu.org; Thu, 10 May 2018 03:53:30 -0400
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1])
 by pb-sasl2.pobox.com (Postfix) with ESMTP id A664EBBF09;
 Thu, 10 May 2018 03:53:28 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=sasl; bh=I3hlac/o9cjgXtaD0KuPSBpq5DU=; b=Ofpj5p
 2ArAknyPgW6E39iR5YXzOuUf1oZqvqARQ+ZLzpTgHW9O5nQqLzQP+I0K8TGamqgw
 LN/Zp+5MNrSBWsDLKv2n6huNJdu8vWGzX1WTKkiX5cPJHMSiZH1s1O0Wnva3G18o
 /PnKYJJ0KlNvh3vCIH/9QAJ1tLlHZJPp3RUSc=
Received: from pb-sasl2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-sasl2.pobox.com (Postfix) with ESMTP id 9F71BBBF08;
 Thu, 10 May 2018 03:53:28 -0400 (EDT)
Received: from sparrow (unknown [88.160.190.192])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by pb-sasl2.pobox.com (Postfix) with ESMTPSA id AD8C5BBF07;
 Thu, 10 May 2018 03:53:26 -0400 (EDT)
From: Andy Wingo <wingo@HIDDEN>
To: Mark H Weaver <mhw@HIDDEN>
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
 <871sel6vnq.fsf@HIDDEN> <87fu30dmx3.fsf@HIDDEN>
Date: Thu, 10 May 2018 09:53:18 +0200
In-Reply-To: <87fu30dmx3.fsf@HIDDEN> (Mark H. Weaver's message of "Thu, 10
 May 2018 02:50:32 -0400")
Message-ID: <87tvrg3q1d.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Pobox-Relay-ID: 38E43AD4-5427-11E8-8726-B479894C8D7C-02397024!pb-sasl2.pobox.com
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 28211
Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.3 (/)

On Thu 10 May 2018 08:50, Mark H Weaver <mhw@HIDDEN> writes:

> Andy Wingo <wingo@HIDDEN> writes:
>
>> On Wed 09 May 2018 02:32, Mark H Weaver <mhw@HIDDEN> writes:
>>
>>> However, I think it's _far_ more likely that the NULL argument on the
>>> stack was copied from memory shared by multiple threads without proper
>>> thread synchronization.
>>
>> I think this is unlikely on x86 given its total-store-ordering memory
>> model.  I agree with you about the value of barriers, but I don't think
>> they are part of this bug that Ludo is seeing.
>
> I think you're forgetting about the C compiler.  It's true that x86
> machine code has a TSO memory model, but C does not.  In the absence of
> barriers, the C compiler may freely reorder stores to non-volatile,
> non-atomic objects.  In particular, it is free to reorder the
> initialization of an object with the write of that object's address.
>
> I admit that I haven't checked whether GCC 5.5.0 does this in practice.
> Do you have reason to believe that it never does so?

Oh I agree with you here as well, and compiler reordering could well be
happening here.  My suspicions are however that it's not happening.  In
libguile, we rarely mutate shared state, and in that case it's usually
within mutexes.  The main source of mutation in libguile is
initialization -- but there that's on a fresh object local to a thread,
and we try to avoid publishing that object to other threads without a
barrier (atomic or mutex), and in any case such publishing is usually
outside of the region that a compiler can work on.

There is the possibility of mutation via e.g. vector-set!, but hopefully
we aren't doing that on shared data; likewise in Scheme there are
barriers (the atomic box instructions and mutexes, both of which are
compiler barriers as well).  It's still possible to write Scheme
programs with races, of course, but I don't think that's what's
happening here.

I could be misunderstanding things of course!

Andy




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 10 May 2018 06:51:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 10 02:51:45 2018
Received: from localhost ([127.0.0.1]:55872 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGfQX-0008H7-83
	for submit <at> debbugs.gnu.org; Thu, 10 May 2018 02:51:45 -0400
Received: from world.peace.net ([64.112.178.59]:39836)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fGfQU-0008Gs-6I
 for 28211 <at> debbugs.gnu.org; Thu, 10 May 2018 02:51:43 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fGfQN-0000zc-6U; Thu, 10 May 2018 02:51:35 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: Andy Wingo <wingo@HIDDEN>
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
 <871sel6vnq.fsf@HIDDEN>
Date: Thu, 10 May 2018 02:50:32 -0400
In-Reply-To: <871sel6vnq.fsf@HIDDEN> (Andy Wingo's message of "Wed, 09 May
 2018 11:11:21 +0200")
Message-ID: <87fu30dmx3.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28211
Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Andy,

Andy Wingo <wingo@HIDDEN> writes:

> On Wed 09 May 2018 02:32, Mark H Weaver <mhw@HIDDEN> writes:
>
>> However, I think it's _far_ more likely that the NULL argument on the
>> stack was copied from memory shared by multiple threads without proper
>> thread synchronization.
>
> I think this is unlikely on x86 given its total-store-ordering memory
> model.  I agree with you about the value of barriers, but I don't think
> they are part of this bug that Ludo is seeing.

I think you're forgetting about the C compiler.  It's true that x86
machine code has a TSO memory model, but C does not.  In the absence of
barriers, the C compiler may freely reorder stores to non-volatile,
non-atomic objects.  In particular, it is free to reorder the
initialization of an object with the write of that object's address.

I admit that I haven't checked whether GCC 5.5.0 does this in practice.
Do you have reason to believe that it never does so?

     Thanks,
       Mark




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 9 May 2018 09:11:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 09 05:11:36 2018
Received: from localhost ([127.0.0.1]:54807 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGL8I-0002u4-RT
	for submit <at> debbugs.gnu.org; Wed, 09 May 2018 05:11:36 -0400
Received: from pb-sasl1.pobox.com ([64.147.108.66]:64955
 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <wingo@HIDDEN>) id 1fGL8G-0002tu-VJ
 for 28211 <at> debbugs.gnu.org; Wed, 09 May 2018 05:11:33 -0400
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1])
 by pb-sasl1.pobox.com (Postfix) with ESMTP id A1699D3A4A;
 Wed,  9 May 2018 05:11:32 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=sasl; bh=Wg4bEWUSnwltBllWBLf5KYoeytE=; b=OUYesZ
 QBZDXJ7vv5+EzsBOummVwlD/zrH958rn7qVyunRoULnN4az4huML0oSm9A3JQEEP
 DZjgtegLRb7eXcgP1XRmicSGePtPxxkFJpz02lWMFVGZktVKyhcZOm0Jdp0S00li
 5dcT87OMuTPyX5DmXf3KlTjeZnrsEkXrRWmUA=
Received: from pb-sasl1.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-sasl1.pobox.com (Postfix) with ESMTP id 864DAD3A48;
 Wed,  9 May 2018 05:11:32 -0400 (EDT)
Received: from sparrow (unknown [151.127.12.20])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by pb-sasl1.pobox.com (Postfix) with ESMTPSA id 08933D3A47;
 Wed,  9 May 2018 05:11:30 -0400 (EDT)
From: Andy Wingo <wingo@HIDDEN>
To: Mark H Weaver <mhw@HIDDEN>
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
Date: Wed, 09 May 2018 11:11:21 +0200
In-Reply-To: <87d0y5k6sl.fsf@HIDDEN> (Mark H. Weaver's message of "Tue, 08
 May 2018 20:32:26 -0400")
Message-ID: <871sel6vnq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Pobox-Relay-ID: F6A2CA32-5368-11E8-94E5-07CBD5707B88-02397024!pb-sasl1.pobox.com
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: 28211
Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.3 (/)

On Wed 09 May 2018 02:32, Mark H Weaver <mhw@HIDDEN> writes:

> However, I think it's _far_ more likely that the NULL argument on the
> stack was copied from memory shared by multiple threads without proper
> thread synchronization.

I think this is unlikely on x86 given its total-store-ordering memory
model.  I agree with you about the value of barriers, but I don't think
they are part of this bug that Ludo is seeing.

>> I commented out the MADV_DONTNEED call to be sure, but I can still
>> reproduce the bug.
>
> I strongly doubt that the MADV_DONTNEED is relevant to this issue.

It could be.  It would zero out VM stack frames, and if GC is called
when/if vp->sp is out of date, then that would be possible.  However I
think vp->sp is never out of date, so that's probably not it.  The
things that can be out of date are the on-heap copy of the IP (vp->ip)
and the local register copy of the sp (sp).  It's more likely for the
local "sp" cache to be out of date -- if we recursed through Scheme in a
call out from the VM, eventualy causing stack expansion and relocation,
then on the return forgot to re-cache the sp value, that could be it.

Similarly, forgetting to set vp->ip before calling out to something that
could GC could likewise cause a problem because the stack map wouldn't
be right and the precise stack marker could clear a value by mistake.
This only happens for non-innermost frames though; the innermost frame
is marked conservatively.

The rules are: update vp->ip before something that can allocate, and
update local "sp" after returning from a C function that could have
recursively called Scheme.

I did find a couple places in the VM where we forgot to do one of these,
e.g. 07b7490f73fb4a6cb0c9577d082d37c8d9cee7b0 and just now
9a72e212622fa3bd118d7c02c4386601285b3224.  These two patches aren't
shipped yet fwiw.

Andy




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 9 May 2018 07:18:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 09 03:18:30 2018
Received: from localhost ([127.0.0.1]:54747 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGJMs-0000KH-Gy
	for submit <at> debbugs.gnu.org; Wed, 09 May 2018 03:18:30 -0400
Received: from eggs.gnu.org ([208.118.235.92]:42685)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1fGJMq-0000Jz-DU
 for 28211 <at> debbugs.gnu.org; Wed, 09 May 2018 03:18:28 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1fGJMj-0007JS-5I
 for 28211 <at> debbugs.gnu.org; Wed, 09 May 2018 03:18:23 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34062)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1fGJM2-0006Kh-Um; Wed, 09 May 2018 03:17:38 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44762 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1fGJM2-0004LI-HK; Wed, 09 May 2018 03:17:38 -0400
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: Mark H Weaver <mhw@HIDDEN>
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN> <87d0y5k6sl.fsf@HIDDEN>
Date: Wed, 09 May 2018 09:17:35 +0200
In-Reply-To: <87d0y5k6sl.fsf@HIDDEN> (Mark H. Weaver's message of "Tue, 08
 May 2018 20:32:26 -0400")
Message-ID: <87zi19z4a8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

Hi Mark,

Mark H Weaver <mhw@HIDDEN> skribis:

> ludo@HIDDEN (Ludovic Court=C3=A8s) writes:
> [...]
>> Thread 1 (Thread 0x7f6fe6f5d700 (LWP 2856)):
>> #0  0x00007f7019db0d79 in scm_is_pair (x=3D<error reading variable: ERRO=
R: Cannot access memory at address 0x0>0x0) at ../libguile/pairs.h:159
>> #1  scm_ilength (sx=3D<optimized out>) at list.c:190
> [...]
>> What this means is that Thread 1 gets NULL instead of a list as its
>> on-stack argument (vm-engine.c:909 is =E2=80=98tail-apply=E2=80=99).
>>
>> How can arguments on the VM stack be zeroed?
>
> I doubt that's what happened, because I expect that each VM stack is
> dedicated to a single hardware thread.  In theory, if a single VM stack
> is used by one thread, and then later used by another thread,
> thread-safety issues on the VM stack could arise in the absense of
> proper thread synchronization.
>
> However, I think it's _far_ more likely that the NULL argument on the
> stack was copied from memory shared by multiple threads without proper
> thread synchronization.

It could be this, but this particular case is an =E2=80=9Cembarrassingly
parallel=E2=80=9D program where threads work on independent data sets witho=
ut
any inter-thread communication whatsoever.

What you describe could nevertheless be happening at a lower level,
within libguile, though it=E2=80=99s not clear to me where that could be.

>> I commented out the MADV_DONTNEED call to be sure, but I can still
>> reproduce the bug.
>
> I strongly doubt that the MADV_DONTNEED is relevant to this issue.

I thought about it because that=E2=80=99s one way part of the VM stack coul=
d be
zeroed out.

>> Then I thought vp->sp might be out-of-sync compared to the local
>> variable =E2=80=98sp=E2=80=99, which in turn could cause =E2=80=98scm_i_=
vm_mark_stack=E2=80=99 to not
>> mark a few items on the tip of the stack.  So I did this:
>>
>> diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
>> index 9509cd643..1136b2271 100644
>> --- a/libguile/vm-engine.c
>> +++ b/libguile/vm-engine.c
>> @@ -151,7 +151,8 @@
>>     code, or otherwise push anything on the stack, you will need to
>>     CACHE_SP afterwards to restore the possibly-changed stack pointer.  =
*/
>>=20=20
>> -#define SYNC_IP() vp->ip =3D (ip)
>> +#define SYNC_IP()                                       \
>> +  do { vp->ip =3D (ip); vp->sp =3D (sp); } while (0)
>
> I don't see how a change like this could be useful for any thread safety
> problem.

I witnessed situations where the local =E2=80=98sp=E2=80=99 seemed to be di=
fferent from
=E2=80=98vp->sp=E2=80=99, though it=E2=80=99s hard to tell because I=E2=80=
=99m unsure where gcc stores
=E2=80=98sp=E2=80=99.  Here=E2=80=99s an example:

--8<---------------cut here---------------start------------->8---
(gdb) frame
#16 0x00007fabf30af2ca in vm_regular_engine (thread=3D0x24e6000, vp=3D0x22d=
e6c0, registers=3D0x0, resume=3D40) at vm-engine.c:785
785	      ret =3D scm_apply_subr (sp, FRAME_LOCALS_COUNT ());
(gdb) p vp->sp
$5 =3D (union scm_vm_stack_element *) 0x7fabec158718
(gdb) p (union scm_vm_stack_element *) $r13
$6 =3D (union scm_vm_stack_element *) 0x7fabec158e30
(gdb) p $6 - $5
$7 =3D 227
(gdb) p vp->fp
$8 =3D (union scm_vm_stack_element *) 0x7fabec158730
(gdb) p vp->stack_top
$9 =3D (union scm_vm_stack_element *) 0x7fabec159000
(gdb) p vp->stack_bottom
$10 =3D (union scm_vm_stack_element *) 0x7fabec158000
(gdb) p vp->sp_min_since_gc
$11 =3D (union scm_vm_stack_element *) 0x7fabec158620
(gdb) info registers
rax            0x1	1
rbx            0xa	10
rcx            0x28	40
rdx            0x0	0
rsi            0x23f1920	37689632
rdi            0x24e6000	38690816
rbp            0x22de6c0	0x22de6c0
rsp            0x7fabcce18660	0x7fabcce18660
r8             0x1	1
r9             0x1	1
r10            0x100	256
r11            0x23f1920	37689632
r12            0x7fabf330b8c0	140376496191680
r13            0x7fabec158e30	140376376970800
r14            0x7fabf30c6d7c	140376493813116
r15            0x7fabf0fa7f28	140376459083560
rip            0x7fabf30af2ca	0x7fabf30af2ca <vm_regular_engine+14058>
eflags         0x10246	[ PF ZF IF RF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
--8<---------------cut here---------------end--------------->8---

My hypothesis was that such a bug could lead heap elements to be
reclaimed too early.  This is more likely to happen in a multi-threaded
context because one thread could be allocating memory and triggering a
GC while another thread is invoking a subr with an out-of-sync =E2=80=98vp-=
>sp=E2=80=99.

Does that make sense?

> For now, I would suggest avoiding multi-threaded code in Guix, or at
> least to avoid loading any Scheme code from multiple threads.
>
> How about using multiple processes instead?

We could do that, but with my Guile maintainer hat on (a hat I don=E2=80=99t
wear that often as you might have noticed ;-)) I think it would be nice
to fix the issue.

Thanks,
Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 9 May 2018 00:33:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 08 20:33:39 2018
Received: from localhost ([127.0.0.1]:54636 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGD35-0005Z9-L7
	for submit <at> debbugs.gnu.org; Tue, 08 May 2018 20:33:39 -0400
Received: from world.peace.net ([64.112.178.59]:34088)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1fGD33-0005Yx-Dq
 for 28211 <at> debbugs.gnu.org; Tue, 08 May 2018 20:33:37 -0400
Received: from mhw by world.peace.net with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89)
 (envelope-from <mhw@HIDDEN>)
 id 1fGD2x-0007fr-Dx; Tue, 08 May 2018 20:33:31 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
 <87fu3124nt.fsf@HIDDEN>
Date: Tue, 08 May 2018 20:32:26 -0400
In-Reply-To: <87fu3124nt.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Tue, 08 May 2018 23:55:50 +0200")
Message-ID: <87d0y5k6sl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Ludovic,

ludo@HIDDEN (Ludovic Court=C3=A8s) writes:
[...]
> Thread 1 (Thread 0x7f6fe6f5d700 (LWP 2856)):
> #0  0x00007f7019db0d79 in scm_is_pair (x=3D<error reading variable: ERROR=
: Cannot access memory at address 0x0>0x0) at ../libguile/pairs.h:159
> #1  scm_ilength (sx=3D<optimized out>) at list.c:190
[...]
> What this means is that Thread 1 gets NULL instead of a list as its
> on-stack argument (vm-engine.c:909 is =E2=80=98tail-apply=E2=80=99).
>
> How can arguments on the VM stack be zeroed?

I doubt that's what happened, because I expect that each VM stack is
dedicated to a single hardware thread.  In theory, if a single VM stack
is used by one thread, and then later used by another thread,
thread-safety issues on the VM stack could arise in the absense of
proper thread synchronization.

However, I think it's _far_ more likely that the NULL argument on the
stack was copied from memory shared by multiple threads without proper
thread synchronization.

On modern weakly-ordered memory architectures, writes by one thread may
be seen in a different order by another thread.  For example, if one
thread allocates a pair, initializes its CAR and CDR to non-NULL values,
and then writes the address of the pair somewhere, another thread could
first read the address of the pair, and then read NULL from its CAR or
CDR, unless proper thread synchronization is used.  At best, this
requires memory barriers in both the reader and writer which are
typically quite expensive.  On x86 processors the read barrier could
expand into a no-op in typical cases, but the write barrier cannot be
avoided, and must be placed after initializing the structure and before
writing its pointer.

I think it's most likely that something like this is happening, because
NULL is not a valid SCM value.  The only code that should normally write
a NULL to an SCM slot is Boehm GC, which clears memory before handing it
to the user.  So, if you read a NULL from a memory location that's meant
to hold an SCM, then it's most likely because the reading thread does
not yet see the writes that initialized it, because of the
weakly-ordered memory architecture.

> I commented out the MADV_DONTNEED call to be sure, but I can still
> reproduce the bug.

I strongly doubt that the MADV_DONTNEED is relevant to this issue.

> Then I thought vp->sp might be out-of-sync compared to the local
> variable =E2=80=98sp=E2=80=99, which in turn could cause =E2=80=98scm_i_v=
m_mark_stack=E2=80=99 to not
> mark a few items on the tip of the stack.  So I did this:
>
> diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
> index 9509cd643..1136b2271 100644
> --- a/libguile/vm-engine.c
> +++ b/libguile/vm-engine.c
> @@ -151,7 +151,8 @@
>     code, or otherwise push anything on the stack, you will need to
>     CACHE_SP afterwards to restore the possibly-changed stack pointer.  */
>=20=20
> -#define SYNC_IP() vp->ip =3D (ip)
> +#define SYNC_IP()                                       \
> +  do { vp->ip =3D (ip); vp->sp =3D (sp); } while (0)

I don't see how a change like this could be useful for any thread safety
problem.  Since stores by one thread may be seen in a different order by
other threads, the memory write corresponding to "vp->sp =3D (sp)" might
be delayed for some arbitrarily long period of time after the writes
that follow it, up until the next appropriate memory barrier.

For now, I would suggest avoiding multi-threaded code in Guix, or at
least to avoid loading any Scheme code from multiple threads.

How about using multiple processes instead?

      Mark




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 8 May 2018 21:57:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 08 17:57:20 2018
Received: from localhost ([127.0.0.1]:54588 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fGAbm-0008Mn-5d
	for submit <at> debbugs.gnu.org; Tue, 08 May 2018 17:57:20 -0400
Received: from eggs.gnu.org ([208.118.235.92]:47191)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1fGAbi-0008MT-7V
 for 28211 <at> debbugs.gnu.org; Tue, 08 May 2018 17:57:16 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1fGAbV-0007PA-JR
 for 28211 <at> debbugs.gnu.org; Tue, 08 May 2018 17:57:09 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54654)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1fGAaP-0006JM-AV; Tue, 08 May 2018 17:55:53 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43328 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1fGAaO-0005jm-2u; Tue, 08 May 2018 17:55:53 -0400
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: 28211 <at> debbugs.gnu.org
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN> <87d0yo1tie.fsf@HIDDEN>
Date: Tue, 08 May 2018 23:55:50 +0200
In-Reply-To: <87d0yo1tie.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Tue, 24 Apr 2018 18:03:37 +0200")
Message-ID: <87fu3124nt.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, Mark H Weaver <mhw@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello Andy & Mark,

ludo@HIDDEN (Ludovic Court=C3=A8s) skribis:

> ludo@HIDDEN (Ludovic Court=C3=A8s) skribis:
>
>> On current =E2=80=98core-updates=E2=80=99, the code in (guix build graft=
) triggers
>> random Guile crashes (GC issue? thread-safety issue?) when running on
>> Guile 2.2.2, as initially reported by Marius at
>> <https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00013.html>:
>
> The problem still shows up with Guile 2.2.3+.

Here=E2=80=99s a clearer backtrace:

--8<---------------cut here---------------start------------->8---
Core was generated by `/gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.=
2.3/bin/guile t.scm'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f7019db0d79 in scm_is_pair (x=3D0x0) at ../libguile/pairs.h:159
159	../libguile/pairs.h: Dosiero a=C5=AD dosierujo ne ekzistas.
[Current thread is 1 (Thread 0x7f6fe6f5d700 (LWP 2856))]
(gdb) thread apply all bt

Thread 18 (Thread 0x7f7015859700 (LWP 2845)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x12715a0) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x1271578) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x1271578, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x1271=
578, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x1271540, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x12715a0, vp=3D0x144=
ecf0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1423960=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1423960=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1423960>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x12715a0, vp=3D0x144=
ecf0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371a80>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x1633240) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f7015858e60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x12715a0, vp=3D0x144=
ecf0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1423d60>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1423d60>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1423d60>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x1423ce0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x1423c60) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7015858e60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7015858e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7015858e60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7015858e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7015858ec8, d=
ata=3Ddata@entry=3D0x7f7015858ef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7015858ef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x1633240, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x1633240) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f7015859700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 17 (Thread 0x7f701714f700 (LWP 2842)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x1271ae0) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x1271ab8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x1271ab8, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x1271=
ab8, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x1271a80, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271ae0, vp=3D0x144=
eea0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 163cfc0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 163cfc0=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
163cfc0>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271ae0, vp=3D0x144=
eea0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371b40>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x16333c0) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f701714ee60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271ae0, vp=3D0x144=
eea0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 141e400>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 141e400>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 141e400>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x141e380,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x141e300) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f701714ee60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f701714ee60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f701714ee60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f701714ee60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f701714eec8, d=
ata=3Ddata@entry=3D0x7f701714eef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f701714eef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x16333c0, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x16333c0) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f701714f700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 16 (Thread 0x7f7006f5d700 (LWP 2849)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x14e4ca0) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x14e4c78) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x14e4c78, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x14e4=
c78, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x14e4c40, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4ca0, vp=3D0x144=
eab0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1513fe0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1513fe0=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1513fe0>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4ca0, vp=3D0x144=
eab0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371980>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x149ed00) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f7006f5ce60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4ca0, vp=3D0x144=
eab0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 141f440>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 141f440>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 141f440>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x141f400,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x141f380) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7006f5ce60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7006f5ce60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7006f5ce60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7006f5ce60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7006f5cec8, d=
ata=3Ddata@entry=3D0x7f7006f5cef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7006f5cef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149ed00, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x149ed00) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f7006f5d700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 15 (Thread 0x7f7007fff700 (LWP 2847)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x1271220) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x12711f8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x12711f8, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x1271=
1f8, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x12711c0, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271220, vp=3D0x144=
ebd0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 146fe80=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 146fe80=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
146fe80>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271220, vp=3D0x144=
ebd0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371a00>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x1633100) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f7007ffee60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271220, vp=3D0x144=
ebd0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 146fa00>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 146fa00>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 146fa00>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x146f8e0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x146f8a0) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7007ffee60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7007ffee60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7007ffee60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7007ffee60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7007ffeec8, d=
ata=3Ddata@entry=3D0x7f7007ffeef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7007ffeef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x1633100, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x1633100) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f7007fff700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 14 (Thread 0x7f70160ab700 (LWP 2844)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x1271764) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x1271738) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x1271738, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x1271=
738, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x1271700, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271764, vp=3D0x144=
ed80, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 12b5be0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 12b5be0=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
12b5be0>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271764, vp=3D0x144=
ed80, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371ac0>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x16332c0) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f70160aae60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271764, vp=3D0x144=
ed80, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1642e40>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1642e40>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1642e40>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x1642e20,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x1642e00) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f70160aae60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f70160aae60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f70160aae60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f70160aae60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f70160aaec8, d=
ata=3Ddata@entry=3D0x7f70160aaef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f70160aaef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x16332c0, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x16332c0) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f70160ab700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 13 (Thread 0x7f6fe77ae700 (LWP 2855)):
#0  vm_regular_engine (thread=3D0x2, vp=3D0x144e750, registers=3D0xa, resum=
e=3D343596440) at vm-engine.c:1982
#1  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1428720=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#2  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1428720=
>) at eval.c:481
#3  0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1428720>) at async.c:400
#4  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x2, vp=3D0x144e750, =
registers=3D0xa, resume=3D343596440) at vm-engine.c:784
#5  0x00007f7019e117da in scm_call_n (proc=3D#<program 1371800>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#6  0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#7  0x00007f7019dff496 in really_launch (d=3D0x149e620) at threads.c:794
#8  0x00007f7019d8ec5a in c_body (d=3D0x7f6fe77ade60) at continuations.c:422
#9  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x2, vp=3D0x144e750, =
registers=3D0xa, resume=3D343596440) at vm-engine.c:784
#10 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 14289c0>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#11 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 14289c0>) at eval.c:481
#12 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 14289c0>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x1428860,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x14287e0) at throw.c:137
#13 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#14 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe77ade60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe77ade60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#15 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe77ade60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe77ade60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#16 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#17 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f6fe77adec8, d=
ata=3Ddata@entry=3D0x7f6fe77adef0) at threads.c:661
#18 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f6fe77adef0) at misc.c:1935
#19 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149e620, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#20 launch_thread (d=3D0x149e620) at threads.c:803
#21 0x00007f70198c14d5 in start_thread (arg=3D0x7f6fe77ae700) at pthread_cr=
eate.c:465
#22 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 12 (Thread 0x7f700670c700 (LWP 2850)):
#0  0x00007f70181785c6 in __GI___sigsuspend (set=3Dset@entry=3D0x7f7019d197=
20 <suspend_handler_mask>) at ../sysdeps/unix/sysv/linux/sigsuspend.c:26
#1  0x00007f7019afb65a in GC_suspend_handler_inner (dummy=3Ddummy@entry=3D0=
x0, context=3Dcontext@entry=3D0x7f700670ad80) at pthread_stop_world.c:322
#2  0x00007f7019afb70f in GC_suspend_handler (sig=3D30, info=3D<optimized o=
ut>, context=3D0x7f700670ad80) at pthread_stop_world.c:235
#3  <signal handler called>
#4  __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:=
133
#5  0x00007f70198c3c65 in __GI___pthread_mutex_lock (mutex=3D0x7f7019d19240=
 <GC_allocate_ml>) at ../nptl/pthread_mutex_lock.c:80
#6  0x00007f7019af00d9 in GC_generic_malloc_many (lb=3Dlb@entry=3D128, k=3D=
k@entry=3D0, result=3Dresult@entry=3D0x1530b20) at mallocx.c:308
#7  0x00007f7019af82ce in GC_malloc_kind (bytes=3Dbytes@entry=3D118, knd=3D=
knd@entry=3D0) at thread_local_alloc.c:178
#8  0x00007f7019aef3e7 in GC_malloc_atomic (lb=3Dlb@entry=3D118) at malloc.=
c:284
#9  0x00007f7019da3271 in do_gc_malloc_atomic (what=3Dwhat@entry=3D0x7f7019=
e305f3 "string", size=3Dsize@entry=3D118) at gc-malloc.c:219
#10 scm_gc_malloc_pointerless (size=3Dsize@entry=3D118, what=3Dwhat@entry=
=3D0x7f7019e305f3 "string") at gc-malloc.c:220
#11 0x00007f7019df71c6 in make_stringbuf (len=3D101) at strings.c:123
#12 scm_i_make_string (len=3Dlen@entry=3D101, charsp=3Dcharsp@entry=3D0x7f7=
00670b5b8, read_only_p=3Dread_only_p@entry=3D0) at strings.c:290
#13 0x00007f7019df82c7 in scm_string_append (args=3D("/gnu/store/w3hxb7hraf=
khxplcf5qzvsc0fbipqb3i-perl-5.XX.X" "/lib/perl5/5.26.1/TAP/Parser/Result/Un=
known.pm")) at strings.c:1395
#14 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x7f7019d19240 <GC_al=
locate_ml>, vp=3D0x144ea20, registers=3D0x0, resume=3D428649196) at vm-engi=
ne.c:784
#15 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 148fec0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#16 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 148fec0=
>) at eval.c:481
#17 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
148fec0>) at async.c:400
#18 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x7f7019d19240 <GC_al=
locate_ml>, vp=3D0x144ea20, registers=3D0x0, resume=3D428649196) at vm-engi=
ne.c:784
#19 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371940>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#20 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#21 0x00007f7019dff496 in really_launch (d=3D0x149ec40) at threads.c:794
#22 0x00007f7019d8ec5a in c_body (d=3D0x7f700670be60) at continuations.c:422
#23 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x7f7019d19240 <GC_al=
locate_ml>, vp=3D0x144ea20, registers=3D0x0, resume=3D428649196) at vm-engi=
ne.c:784
#24 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 151cf20>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#25 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 151cf20>) at eval.c:481
#26 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 151cf20>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x151cee0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x151cea0) at throw.c:137
#27 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#28 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f700670be60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f700670be60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#29 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f700670be60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f700670be60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#30 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#31 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f700670bec8, d=
ata=3Ddata@entry=3D0x7f700670bef0) at threads.c:661
#32 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f700670bef0) at misc.c:1935
#33 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149ec40, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#34 launch_thread (d=3D0x149ec40) at threads.c:803
#35 0x00007f70198c14d5 in start_thread (arg=3D0x7f700670c700) at pthread_cr=
eate.c:465
#36 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 11 (Thread 0x7f6fe670c700 (LWP 2857)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x152bca0) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x152bc78) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x152bc78, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x152b=
c78, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x152bc40, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x152bca0, vp=3D0x144=
e630, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1526ca0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1526ca0=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1526ca0>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x152bca0, vp=3D0x144=
e630, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371780>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x149e360) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f6fe670be60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x152bca0, vp=3D0x144=
e630, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 14837e0>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 14837e0>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 14837e0>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x14836a0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x1483640) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe670be60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe670be60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe670be60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe670be60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f6fe670bec8, d=
ata=3Ddata@entry=3D0x7f6fe670bef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f6fe670bef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149e360, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x149e360) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f6fe670c700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 10 (Thread 0x7f70077ae700 (LWP 2848)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x14e4e64) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x14e4e38) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x14e4e38, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x14e4=
e38, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x14e4e00, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4e64, vp=3D0x144=
eb40, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1428ac0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1428ac0=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1428ac0>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4e64, vp=3D0x144=
eb40, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 13719c0>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x1633040) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f70077ade60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4e64, vp=3D0x144=
eb40, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1479360>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1479360>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1479360>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x14792e0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x14791c0) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f70077ade60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f70077ade60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f70077ade60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f70077ade60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f70077adec8, d=
ata=3Ddata@entry=3D0x7f70077adef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f70077adef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x1633040, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x1633040) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f70077ae700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 9 (Thread 0x7f7015007700 (LWP 2846)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x12713e4) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x12713b8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x12713b8, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x1271=
3b8, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x1271380, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x12713e4, vp=3D0x144=
ec60, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1428a00=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1428a00=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1428a00>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x12713e4, vp=3D0x144=
ec60, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371a40>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x1633180) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f7015006e60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x12713e4, vp=3D0x144=
ec60, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1428140>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1428140>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1428140>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x14799e0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x1479960) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7015006e60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7015006e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7015006e60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7015006e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7015006ec8, d=
ata=3Ddata@entry=3D0x7f7015006ef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7015006ef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x1633180, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x1633180) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f7015007700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 8 (Thread 0x7f6fe7fff700 (LWP 2854)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x14e43e0) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x14e43b8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x14e43b8, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x14e4=
3b8, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x14e4380, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e43e0, vp=3D0x144=
e7e0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 146faa0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 146faa0=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
146faa0>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e43e0, vp=3D0x144=
e7e0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371840>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x149e740) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f6fe7ffee60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e43e0, vp=3D0x144=
e7e0, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 147bd20>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 147bd20>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 147bd20>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x147bb00,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x147baa0) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe7ffee60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe7ffee60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe7ffee60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe7ffee60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f6fe7ffeec8, d=
ata=3Ddata@entry=3D0x7f6fe7ffeef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f6fe7ffeef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149e740, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x149e740) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f6fe7fff700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 7 (Thread 0x7f7004e19700 (LWP 2853)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x14e45a0) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x14e4578) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x14e4578, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x14e4=
578, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x14e4540, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e45a0, vp=3D0x144=
e870, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 149bf20=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 149bf20=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
149bf20>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e45a0, vp=3D0x144=
e870, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371880>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x149e880) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f7004e18e60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e45a0, vp=3D0x144=
e870, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 146fea0>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 146fea0>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 146fea0>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x146fe60,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x146fb80) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7004e18e60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7004e18e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7004e18e60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7004e18e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7004e18ec8, d=
ata=3Ddata@entry=3D0x7f7004e18ef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7004e18ef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149e880, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x149e880) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f7004e19700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 6 (Thread 0x7f70168fd700 (LWP 2843)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x1271924) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x12718f8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x12718f8, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x1271=
8f8, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x12718c0, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271924, vp=3D0x144=
ee10, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 12b0ac0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 12b0ac0=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
12b0ac0>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271924, vp=3D0x144=
ee10, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371b00>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x1633340) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f70168fce60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271924, vp=3D0x144=
ee10, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1642fe0>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1642fe0>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1642fe0>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x1642fc0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x1642fa0) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f70168fce60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f70168fce60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f70168fce60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f70168fce60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f70168fcec8, d=
ata=3Ddata@entry=3D0x7f70168fcef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f70168fcef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x1633340, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x1633340) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f70168fd700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 5 (Thread 0x7f7005ebb700 (LWP 2851)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x14e4924) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x14e48f8) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x14e48f8, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x14e4=
8f8, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x14e48c0, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4924, vp=3D0x144=
e990, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1526f60=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1526f60=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1526f60>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4924, vp=3D0x144=
e990, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 1371900>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x149ea20) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f7005ebae60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4924, vp=3D0x144=
e990, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 151ce20>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 151ce20>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 151ce20>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x151cde0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x151cda0) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7005ebae60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7005ebae60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7005ebae60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7005ebae60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7005ebaec8, d=
ata=3Ddata@entry=3D0x7f7005ebaef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7005ebaef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149ea20, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x149ea20) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f7005ebb700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 4 (Thread 0x7f701a292480 (LWP 2838)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x1271e60) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129b980, cond=3Dco=
nd@entry=3D0x1271e38) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x1271e38, mutex=3Dmutex@entry=
=3D0x129b980) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x1271=
e38, mutex=3Dmutex@entry=3D0x129b980) at threads.c:1621
#4  0x00007f7019e0000b in block_self (queue=3D((#<smob thread 12a8e90>) #<s=
mob thread 12a8e90>), mutex=3Dmutex@entry=3D0x129b980, waittime=3Dwaittime@=
entry=3D0x0) at threads.c:316
#5  0x00007f7019e004f0 in timed_wait (c=3D0x14581e0, current_thread=3D0x127=
1e00, current_thread=3D0x1271e00, waittime=3D0x0, m=3D0x129b980, kind=3DSCM=
_MUTEX_STANDARD) at threads.c:1347
#6  scm_timed_wait_condition_variable (cond=3D#<smob condition-variable 155=
2540>, mutex=3D#<smob mutex 1552510>, timeout=3D#<undefined 904>) at thread=
s.c:1440
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271e60, vp=3D0x131=
6f30, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3D#<program 7f701a0fe030>, argv=
=3Dargv@entry=3D0x7ffd630e8c58, nargs=3Dnargs@entry=3D1) at vm.c:1257
#9  0x00007f7019d95977 in scm_primitive_eval (exp=3Dexp@entry=3D((@ (ice-9 =
control) %) (begin ((@@ (ice-9 command-line) load/lang) "t.scm") (quit)))) =
at eval.c:662
#10 0x00007f7019d959d3 in scm_eval (exp=3D((@ (ice-9 control) %) (begin ((@=
@ (ice-9 command-line) load/lang) "t.scm") (quit))),=20
    module_or_state=3Dmodule_or_state@entry=3D"#<struct module>" =3D {...})=
 at eval.c:696
#11 0x00007f7019de0a30 in scm_shell (argc=3D2, argv=3D0x7ffd630e92c8) at sc=
ript.c:454
#12 0x00007f7019dac45d in invoke_main_func (body_data=3D0x7ffd630e9170) at =
init.c:340
#13 0x00007f7019d8ec5a in c_body (d=3D0x7ffd630e90b0) at continuations.c:422
#14 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1271e60, vp=3D0x131=
6f30, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#15 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1317c80>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#16 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1317c80>) at eval.c:481
#17 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1317c80>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x1317c60,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x1317c20) at throw.c:137
#18 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#19 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7ffd630e90b0=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7ffd630e90b0,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#20 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7ffd630e90b0,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7ffd630e90b0,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#21 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#22 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7ffd630e9118, d=
ata=3Ddata@entry=3D0x7ffd630e9140) at threads.c:661
#23 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7ffd630e9140) at misc.c:1935
#24 0x00007f7019dff958 in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3Ddata@entry=3D0x7ffd630e9140, func=3Dfunc@entry=3D0x7f7019dac440 <i=
nvoke_main_func>) at threads.c:704
#25 scm_with_guile (func=3Dfunc@entry=3D0x7f7019dac440 <invoke_main_func>, =
data=3Ddata@entry=3D0x7ffd630e9170) at threads.c:710
#26 0x00007f7019dac5f2 in scm_boot_guile (argc=3Dargc@entry=3D2, argv=3Darg=
v@entry=3D0x7ffd630e92c8, main_func=3Dmain_func@entry=3D0x400cc0 <inner_mai=
n>, closure=3Dclosure@entry=3D0x0)
    at init.c:323
#27 0x0000000000400b60 in main (argc=3D2, argv=3D0x7ffd630e92c8) at guile.c=
:101

Thread 3 (Thread 0x7f700566a700 (LWP 2852)):
#0  0x00007f70198c77af in futex_wait_cancelable (private=3D<optimized out>,=
 expected=3D0, futex_word=3D0x14e4764) at ../sysdeps/unix/sysv/linux/futex-=
internal.h:88
#1  __pthread_cond_wait_common (abstime=3D0x0, mutex=3D0x129bd80, cond=3Dco=
nd@entry=3D0x14e4738) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=3Dcond@entry=3D0x14e4738, mutex=3Dmutex@entry=
=3D0x129bd80) at pthread_cond_wait.c:655
#3  0x00007f7019dffe45 in scm_pthread_cond_wait (cond=3Dcond@entry=3D0x14e4=
738, mutex=3Dmutex@entry=3D0x129bd80) at threads.c:1621
#4  0x00007f7019e0000b in block_self (
    queue=3D((#<smob thread 1425d50>) #<smob thread 1404cf0> #<smob thread =
1554c70> #<smob thread 1554ff0> #<smob thread 1425db0> #<smob thread 1554de=
0> #<smob thread 1404a60> #<smob thread 1425e10> #<smob thread 1404fe0> #<s=
mob thread 1425aa0> #<smob thread 1404a00> #<smob thread 1404c20> #<smob th=
read 1425d50>), mutex=3Dmutex@entry=3D0x129bd80,=20
    waittime=3Dwaittime@entry=3D0x0) at threads.c:316
#5  0x00007f7019e00157 in lock_mutex (current_thread=3D0x14e4700, waittime=
=3D0x0, m=3D0x129bd80, kind=3DSCM_MUTEX_STANDARD) at threads.c:1037
#6  scm_timed_lock_mutex (mutex=3D#<smob mutex 1552b70>, timeout=3D<optimiz=
ed out>) at threads.c:1098
#7  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4764, vp=3D0x144=
e900, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#8  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 149bf40=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#9  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 149bf40=
>) at eval.c:481
#10 0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
149bf40>) at async.c:400
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4764, vp=3D0x144=
e900, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3D#<program 13718c0>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#14 0x00007f7019dff496 in really_launch (d=3D0x149e9a0) at threads.c:794
#15 0x00007f7019d8ec5a in c_body (d=3D0x7f7005669e60) at continuations.c:422
#16 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x14e4764, vp=3D0x144=
e900, registers=3D0x0, resume=3D428636079) at vm-engine.c:784
#17 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1428660>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#18 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1428660>) at eval.c:481
#19 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1428660>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x1428620,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x14285e0) at throw.c:137
#20 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#21 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7005669e60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7005669e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#22 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7005669e60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7005669e60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#23 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#24 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7005669ec8, d=
ata=3Ddata@entry=3D0x7f7005669ef0) at threads.c:661
#25 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7005669ef0) at misc.c:1935
#26 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149e9a0, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#27 launch_thread (d=3D0x149e9a0) at threads.c:803
#28 0x00007f70198c14d5 in start_thread (arg=3D0x7f700566a700) at pthread_cr=
eate.c:465
#29 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 2 (Thread 0x7f7017a70700 (LWP 2841)):
#0  0x00007f70198cad4d in __libc_read (fd=3D5, buf=3Dbuf@entry=3D0x7f7017a6=
fa40, nbytes=3Dnbytes@entry=3D1) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f7019d9de57 in read_finalization_pipe_data (data=3D0x7f7017a6fa4=
0) at finalizers.c:199
#2  0x00007f7019afa663 in GC_do_blocking_inner (data=3D0x7f7017a6fa00 "@\33=
6\331\031p\177", context=3Dcontext@entry=3D0x7f7017a6f640) at pthread_suppo=
rt.c:1299
#3  0x00007f7019aeec3c in GC_with_callee_saves_pushed (fn=3D0x7f7019afa620 =
<GC_do_blocking_inner>, arg=3Darg@entry=3D0x7f7017a6fa00 "@\336\331\031p\17=
7") at mach_dep.c:303
#4  0x00007f7019af478c in GC_do_blocking (fn=3Dfn@entry=3D0x7f7019d9de40 <r=
ead_finalization_pipe_data>, client_data=3Dclient_data@entry=3D0x7f7017a6fa=
40) at misc.c:2041
#5  0x00007f7019dff9aa in scm_without_guile (func=3D0x7f7019d9de40 <read_fi=
nalization_pipe_data>, data=3D0x7f7017a6fa40) at threads.c:722
#6  0x00007f7019d9e207 in finalization_thread_proc (unused=3D<optimized out=
>) at finalizers.c:212
#7  0x00007f7019d8ec5a in c_body (d=3D0x7f7017a6fe60) at continuations.c:422
#8  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x5, vp=3D0x144ef30, =
registers=3D0x1, resume=3D428649805) at vm-engine.c:784
#9  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 140d960>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#10 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 140d960>) at eval.c:481
#11 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 140d960>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x140d920,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x140d8e0) at throw.c:137
#12 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#13 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7017a6fe60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7017a6fe60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#14 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f7017a6fe60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f7017a6fe60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#15 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#16 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f7017a6fec8, d=
ata=3Ddata@entry=3D0x7f7017a6fef0) at threads.c:661
#17 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f7017a6fef0) at misc.c:1935
#18 0x00007f7019dff958 in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D<optimized out>, func=3D<optimized out>) at threads.c:704
#19 scm_with_guile (func=3D<optimized out>, data=3D<optimized out>) at thre=
ads.c:710
#20 0x00007f70198c14d5 in start_thread (arg=3D0x7f7017a70700) at pthread_cr=
eate.c:465
#21 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95

Thread 1 (Thread 0x7f6fe6f5d700 (LWP 2856)):
#0  0x00007f7019db0d79 in scm_is_pair (x=3D<error reading variable: ERROR: =
Cannot access memory at address 0x0>0x0) at ../libguile/pairs.h:159
#1  scm_ilength (sx=3D<optimized out>) at list.c:190
#2  0x00007f7019e0e2f6 in vm_regular_engine (thread=3D0x1425670, vp=3D0x144=
e6c0, registers=3D0x0, resume=3D16) at vm-engine.c:909
#3  0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<program 1555fe0=
>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#4  0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<program 1555fe0=
>) at eval.c:481
#5  0x00007f7019d85eb8 in scm_call_with_unblocked_asyncs (proc=3D#<program =
1555fe0>) at async.c:400
#6  0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1425670, vp=3D0x144=
e6c0, registers=3D0x0, resume=3D16) at vm-engine.c:784
#7  0x00007f7019e117da in scm_call_n (proc=3D#<program 13717c0>, argv=3Darg=
v@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#8  0x00007f7019d94879 in scm_call_0 (proc=3D<optimized out>) at eval.c:481
#9  0x00007f7019dff496 in really_launch (d=3D0x149e520) at threads.c:794
#10 0x00007f7019d8ec5a in c_body (d=3D0x7f6fe6f5ce60) at continuations.c:422
#11 0x00007f7019e0e17d in vm_regular_engine (thread=3D0x1425670, vp=3D0x144=
e6c0, registers=3D0x0, resume=3D16) at vm-engine.c:784
#12 0x00007f7019e117da in scm_call_n (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1483b20>, argv=3Dargv@entry=3D0x0, nargs=3Dnargs@entry=3D0) at vm.c:1257
#13 0x00007f7019d94879 in scm_call_0 (proc=3Dproc@entry=3D#<smob catch-clos=
ure 1483b20>) at eval.c:481
#14 0x00007f7019e009a6 in catch (tag=3Dtag@entry=3D#t, thunk=3D#<smob catch=
-closure 1483b20>,=20
    handler=3D<error reading variable: ERROR: Cannot access memory at addre=
ss 0x100000000>0x1483ae0,=20
    pre_unwind_handler=3D<error reading variable: ERROR: Cannot access memo=
ry at address 0x100000000>0x1483a80) at throw.c:137
#15 0x00007f7019e00ce5 in scm_catch_with_pre_unwind_handler (key=3Dkey@entr=
y=3D#t, thunk=3D<optimized out>, handler=3D<optimized out>, pre_unwind_hand=
ler=3D<optimized out>) at throw.c:254
#16 0x00007f7019e00e9f in scm_c_catch (tag=3Dtag@entry=3D#t, body=3Dbody@en=
try=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe6f5ce60=
,=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe6f5ce60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at throw.c:377
#17 0x00007f7019d8f240 in scm_i_with_continuation_barrier (body=3Dbody@entr=
y=3D0x7f7019d8ec50 <c_body>, body_data=3Dbody_data@entry=3D0x7f6fe6f5ce60,=
=20
    handler=3Dhandler@entry=3D0x7f7019d8eee0 <c_handler>, handler_data=3Dha=
ndler_data@entry=3D0x7f6fe6f5ce60,=20
    pre_unwind_handler=3Dpre_unwind_handler@entry=3D0x7f7019d8ed40 <pre_unw=
ind_handler>, pre_unwind_handler_data=3D0x1311bc0) at continuations.c:360
#18 0x00007f7019d8f2d5 in scm_c_with_continuation_barrier (func=3D<optimize=
d out>, data=3D<optimized out>) at continuations.c:456
#19 0x00007f7019dff5bc in with_guile (base=3Dbase@entry=3D0x7f6fe6f5cec8, d=
ata=3Ddata@entry=3D0x7f6fe6f5cef0) at threads.c:661
#20 0x00007f7019af4758 in GC_call_with_stack_base (fn=3Dfn@entry=3D0x7f7019=
dff570 <with_guile>, arg=3Darg@entry=3D0x7f6fe6f5cef0) at misc.c:1935
#21 0x00007f7019dfec8d in scm_i_with_guile (dynamic_state=3D<optimized out>=
, data=3D0x149e520, func=3D0x7f7019dff420 <really_launch>) at threads.c:704
#22 launch_thread (d=3D0x149e520) at threads.c:803
#23 0x00007f70198c14d5 in start_thread (arg=3D0x7f6fe6f5d700) at pthread_cr=
eate.c:465
#24 0x00007f70182342cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clo=
ne.S:95
--8<---------------cut here---------------end--------------->8---

What this means is that Thread 1 gets NULL instead of a list as its
on-stack argument (vm-engine.c:909 is =E2=80=98tail-apply=E2=80=99).

How can arguments on the VM stack be zeroed?

I commented out the MADV_DONTNEED call to be sure, but I can still
reproduce the bug.

Then I thought vp->sp might be out-of-sync compared to the local
variable =E2=80=98sp=E2=80=99, which in turn could cause =E2=80=98scm_i_vm_=
mark_stack=E2=80=99 to not
mark a few items on the tip of the stack.  So I did this:


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline

diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index 9509cd643..1136b2271 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -151,7 +151,8 @@
    code, or otherwise push anything on the stack, you will need to
    CACHE_SP afterwards to restore the possibly-changed stack pointer.  */
 
-#define SYNC_IP() vp->ip = (ip)
+#define SYNC_IP()                                       \
+  do { vp->ip = (ip); vp->sp = (sp); } while (0)
 
 #define CACHE_SP() sp = vp->sp
 #define CACHE_REGISTER()                        \

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


That seemed to help but I eventually got another similar crash.

FWIW I managed to reduce (guix build graft) to just the code below, and
it=E2=80=99s enough to trigger a crash after a dozen of runs:

--8<---------------cut here---------------start------------->8---
(define-module (guix build graft)
  #:use-module (guix build utils)
  #:use-module (rnrs bytevectors)
  #:use-module (ice-9 vlist)
  #:use-module (ice-9 match)
  #:use-module (ice-9 threads)
  #:use-module (ice-9 binary-ports)
  #:use-module (ice-9 iconv)
  #:use-module (srfi srfi-1)   ; list library
  #:use-module (srfi srfi-26)  ; cut and cute
  #:export (replace-store-references
            rewrite-directory))

(define (exit-on-exception proc)
  "Return a procedure that wraps PROC so that 'primitive-exit' is called wh=
en
an exception is caught."
  (lambda (arg)
    (catch #t
      (lambda ()
        (proc arg))
      (const #t)
      (lambda (key . args)
        ;; Since ports are not thread-safe as of Guile 2.0, reopen stderr.
        (let ((port (fdopen 2 "w0")))
          (print-exception port #f key args)
          (display-backtrace (make-stack #t) port)
          (dynamic-call "abort" (dynamic-link))
          (sleep 1000)
          (primitive-exit 1))))))

(define* (rewrite-directory directory output mapping)
  (define prefix-len
    (string-length directory))

  (define (destination file)
    (string-append output (string-drop file prefix-len)))

  (define (rewrite-leaf file)
    (let (#;(stat (lstat file))
          (dest (destination file)))
      (catch 'foo
        (lambda ()
          (throw 'foo (dirname (string-append "/tmp/x" dest))))
        (lambda (key file)
          (call-with-output-string
            (lambda (output)
              (make-bytevector (expt 2 10) #x77)
              (string->bytevector file "UTF-8")
              (open-input-string file)
              (make-bytevector (expt 2 20) #x77)))))))

  (n-par-for-each (pk 'jobs (parallel-job-count))
                  (exit-on-exception rewrite-leaf)
                  (find-files directory (const #t)
                              #:directories? #t)))

;;; graft.scm ends here
--8<---------------cut here---------------end--------------->8---


Thoughts?  Whatever ideas you have could be helpful.  :-)

Cheers,
Ludo=E2=80=99.

--=-=-=--




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 24 Apr 2018 16:03:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 24 12:03:47 2018
Received: from localhost ([127.0.0.1]:38371 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fB0Px-0003lV-PA
	for submit <at> debbugs.gnu.org; Tue, 24 Apr 2018 12:03:47 -0400
Received: from hera.aquilenet.fr ([185.233.100.1]:40422)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1fB0Pu-0003lL-2q
 for 28211 <at> debbugs.gnu.org; Tue, 24 Apr 2018 12:03:44 -0400
Received: from localhost (localhost [127.0.0.1])
 by hera.aquilenet.fr (Postfix) with ESMTP id F154B125AF
 for <28211 <at> debbugs.gnu.org>; Tue, 24 Apr 2018 18:03:40 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at aquilenet.fr
Received: from hera.aquilenet.fr ([127.0.0.1])
 by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ecPhPgrWCjGM for <28211 <at> debbugs.gnu.org>;
 Tue, 24 Apr 2018 18:03:38 +0200 (CEST)
Received: from ribbon (unknown [193.50.110.139])
 by hera.aquilenet.fr (Postfix) with ESMTPSA id 3C9D0124C3
 for <28211 <at> debbugs.gnu.org>; Tue, 24 Apr 2018 18:03:38 +0200 (CEST)
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: 28211 <at> debbugs.gnu.org
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN>
Date: Tue, 24 Apr 2018 18:03:37 +0200
In-Reply-To: <877exuj58y.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Thu, 24 Aug 2017 00:20:29 +0200")
Message-ID: <87d0yo1tie.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 28211
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

ludo@HIDDEN (Ludovic Court=C3=A8s) skribis:

> On current =E2=80=98core-updates=E2=80=99, the code in (guix build graft)=
 triggers
> random Guile crashes (GC issue? thread-safety issue?) when running on
> Guile 2.2.2, as initially reported by Marius at
> <https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00013.html>:

The problem still shows up with Guile 2.2.3+.  Some raw notes on clues I
have so far.

When running the grafting code under Helgrind, we get things like this:

--8<---------------cut here---------------start------------->8---
=3D=3D30263=3D=3D ---------------------------------------------------------=
-------
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D  Lock at 0x5168F60 was first observed
=3D=3D30263=3D=3D    at 0x4C34943: pthread_mutex_init (in /gnu/store/yiiz2c=
dfsx6rqvp1gvlz34pvrl0cjf5c-valgrind-3.13.0/lib/valgrind/vgpreload_helgrind-=
amd64-linux.so)
=3D=3D30263=3D=3D    by 0x4EF36C3: scm_threads_prehistory (in /gnu/store/b9=
0y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E9F64D: scm_i_init_guile (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF2557: scm_i_init_thread_for_guile (in /gnu/sto=
re/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF2588: with_guile (in /gnu/store/b90y3swxlx3vw2=
yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x5185757: GC_call_with_stack_base (in /gnu/store/c=
4jrwbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x4EF2957: scm_with_guile (in /gnu/store/b90y3swxlx=
3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E9F5F1: scm_boot_guile (in /gnu/store/b90y3swxlx=
3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x400B5F: main (in /gnu/store/b90y3swxlx3vw2yyacs8c=
z59b8cbpbw5-guile-2.2.3/bin/guile)
=3D=3D30263=3D=3D  Address 0x5168f60 is 0 bytes inside data symbol "scm_i_m=
isc_mutex"
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D  Lock at 0x53AA240 was first observed
=3D=3D30263=3D=3D    at 0x4C30D6D: mutex_trylock_WRK (in /gnu/store/yiiz2cd=
fsx6rqvp1gvlz34pvrl0cjf5c-valgrind-3.13.0/lib/valgrind/vgpreload_helgrind-a=
md64-linux.so)
=3D=3D30263=3D=3D    by 0x4C349E6: pthread_mutex_trylock (in /gnu/store/yii=
z2cdfsx6rqvp1gvlz34pvrl0cjf5c-valgrind-3.13.0/lib/valgrind/vgpreload_helgri=
nd-amd64-linux.so)
=3D=3D30263=3D=3D    by 0x517C9C3: GC_register_disappearing_link_inner (in =
/gnu/store/c4jrwbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x4F0585D: weak_set_add_x (in /gnu/store/b90y3swxlx=
3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F05E1F: scm_c_weak_set_add_x (in /gnu/store/b90y=
3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF0964: scm_i_str2symbol (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF1162: scm_from_utf8_symboln (in /gnu/store/b90=
y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EAA950: scm_c_public_ref (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4ED39BF: scm_compile_shell_switches (in /gnu/stor=
e/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4ED3A24: scm_shell (in /gnu/store/b90y3swxlx3vw2y=
yacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E9F45C: invoke_main_func (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E81C59: c_body (in /gnu/store/b90y3swxlx3vw2yyac=
s8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D  Address 0x53aa240 is 0 bytes inside data symbol "GC_allo=
cate_ml"
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D Possible data race during write of size 8 at 0xB349528 by=
 thread #8
=3D=3D30263=3D=3D Locks held: 1, at address 0x5168F60
=3D=3D30263=3D=3D    at 0x4E85E65: scm_strerror (in /gnu/store/b90y3swxlx3v=
w2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4573E4F: ???
=3D=3D30263=3D=3D    by 0x4E85F12: scm_syserror (in /gnu/store/b90y3swxlx3v=
w2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E8F228: scm_mkdir (in /gnu/store/b90y3swxlx3vw2y=
yacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F0117C: vm_regular_engine (in /gnu/store/b90y3sw=
xlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F047D9: scm_call_n (in /gnu/store/b90y3swxlx3vw2=
yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E78EB7: scm_call_with_unblocked_asyncs (in /gnu/=
store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.=
0)
=3D=3D30263=3D=3D    by 0x4F0117C: vm_regular_engine (in /gnu/store/b90y3sw=
xlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F047D9: scm_call_n (in /gnu/store/b90y3swxlx3vw2=
yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF2495: really_launch (in /gnu/store/b90y3swxlx3=
vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E81C59: c_body (in /gnu/store/b90y3swxlx3vw2yyac=
s8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F0117C: vm_regular_engine (in /gnu/store/b90y3sw=
xlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D This conflicts with a previous read of size 8 by thread #9
=3D=3D30263=3D=3D Locks held: 1, at address 0x53AA240
=3D=3D30263=3D=3D    at 0x5182F70: GC_push_all_eager (in /gnu/store/c4jrwbv=
7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x518CA2C: GC_push_all_stacks (in /gnu/store/c4jrwb=
v7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x51834AC: GC_mark_some (in /gnu/store/c4jrwbv7qckv=
nqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x5178F7C: GC_stopped_mark (in /gnu/store/c4jrwbv7q=
ckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x5179A68: GC_try_to_collect_inner (in /gnu/store/c=
4jrwbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x517A43B: GC_collect_or_expand (in /gnu/store/c4jr=
wbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x517FD6A: GC_alloc_large (in /gnu/store/c4jrwbv7qc=
kvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x5180182: GC_generic_malloc (in /gnu/store/c4jrwbv=
7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D  Address 0xb349528 is on thread #8's stack
=3D=3D30263=3D=3D  in frame #0, created by scm_strerror (???:)
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D ---------------------------------------------------------=
-------
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D  Lock at 0x5168F60 was first observed
=3D=3D30263=3D=3D    at 0x4C34943: pthread_mutex_init (in /gnu/store/yiiz2c=
dfsx6rqvp1gvlz34pvrl0cjf5c-valgrind-3.13.0/lib/valgrind/vgpreload_helgrind-=
amd64-linux.so)
=3D=3D30263=3D=3D    by 0x4EF36C3: scm_threads_prehistory (in /gnu/store/b9=
0y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E9F64D: scm_i_init_guile (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF2557: scm_i_init_thread_for_guile (in /gnu/sto=
re/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF2588: with_guile (in /gnu/store/b90y3swxlx3vw2=
yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x5185757: GC_call_with_stack_base (in /gnu/store/c=
4jrwbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x4EF2957: scm_with_guile (in /gnu/store/b90y3swxlx=
3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E9F5F1: scm_boot_guile (in /gnu/store/b90y3swxlx=
3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x400B5F: main (in /gnu/store/b90y3swxlx3vw2yyacs8c=
z59b8cbpbw5-guile-2.2.3/bin/guile)
=3D=3D30263=3D=3D  Address 0x5168f60 is 0 bytes inside data symbol "scm_i_m=
isc_mutex"
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D  Lock at 0x53AA240 was first observed
=3D=3D30263=3D=3D    at 0x4C30D6D: mutex_trylock_WRK (in /gnu/store/yiiz2cd=
fsx6rqvp1gvlz34pvrl0cjf5c-valgrind-3.13.0/lib/valgrind/vgpreload_helgrind-a=
md64-linux.so)
=3D=3D30263=3D=3D    by 0x4C349E6: pthread_mutex_trylock (in /gnu/store/yii=
z2cdfsx6rqvp1gvlz34pvrl0cjf5c-valgrind-3.13.0/lib/valgrind/vgpreload_helgri=
nd-amd64-linux.so)
=3D=3D30263=3D=3D    by 0x517C9C3: GC_register_disappearing_link_inner (in =
/gnu/store/c4jrwbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x4F0585D: weak_set_add_x (in /gnu/store/b90y3swxlx=
3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F05E1F: scm_c_weak_set_add_x (in /gnu/store/b90y=
3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF0964: scm_i_str2symbol (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF1162: scm_from_utf8_symboln (in /gnu/store/b90=
y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EAA950: scm_c_public_ref (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4ED39BF: scm_compile_shell_switches (in /gnu/stor=
e/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4ED3A24: scm_shell (in /gnu/store/b90y3swxlx3vw2y=
yacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E9F45C: invoke_main_func (in /gnu/store/b90y3swx=
lx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E81C59: c_body (in /gnu/store/b90y3swxlx3vw2yyac=
s8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D  Address 0x53aa240 is 0 bytes inside data symbol "GC_allo=
cate_ml"
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D Possible data race during write of size 8 at 0xB3494F8 by=
 thread #8
=3D=3D30263=3D=3D Locks held: 1, at address 0x5168F60
=3D=3D30263=3D=3D    at 0x4EC2C2F: scm_i_default_port_conversion_strategy (=
in /gnu/store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2=
.so.1.3.0)
=3D=3D30263=3D=3D    by 0xC3F0D9F: ???
=3D=3D30263=3D=3D    by 0x4EEC5DE: scm_from_locale_stringn (in /gnu/store/b=
90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E85E69: scm_strerror (in /gnu/store/b90y3swxlx3v=
w2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E85F12: scm_syserror (in /gnu/store/b90y3swxlx3v=
w2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E8F228: scm_mkdir (in /gnu/store/b90y3swxlx3vw2y=
yacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F0117C: vm_regular_engine (in /gnu/store/b90y3sw=
xlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F047D9: scm_call_n (in /gnu/store/b90y3swxlx3vw2=
yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4E78EB7: scm_call_with_unblocked_asyncs (in /gnu/=
store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.=
0)
=3D=3D30263=3D=3D    by 0x4F0117C: vm_regular_engine (in /gnu/store/b90y3sw=
xlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4F047D9: scm_call_n (in /gnu/store/b90y3swxlx3vw2=
yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D    by 0x4EF2495: really_launch (in /gnu/store/b90y3swxlx3=
vw2yyacs8cz59b8cbpbw5-guile-2.2.3/lib/libguile-2.2.so.1.3.0)
=3D=3D30263=3D=3D=20
=3D=3D30263=3D=3D This conflicts with a previous read of size 8 by thread #9
=3D=3D30263=3D=3D Locks held: 1, at address 0x53AA240
=3D=3D30263=3D=3D    at 0x5182F70: GC_push_all_eager (in /gnu/store/c4jrwbv=
7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x518CA2C: GC_push_all_stacks (in /gnu/store/c4jrwb=
v7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x51834AC: GC_mark_some (in /gnu/store/c4jrwbv7qckv=
nqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x5178F7C: GC_stopped_mark (in /gnu/store/c4jrwbv7q=
ckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x5179A68: GC_try_to_collect_inner (in /gnu/store/c=
4jrwbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x517A43B: GC_collect_or_expand (in /gnu/store/c4jr=
wbv7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x517FD6A: GC_alloc_large (in /gnu/store/c4jrwbv7qc=
kvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D    by 0x5180182: GC_generic_malloc (in /gnu/store/c4jrwbv=
7qckvnqa7f3h7bd1hh8rbg72y-libgc-7.6.0/lib/libgc.so.1.0.3)
=3D=3D30263=3D=3D  Address 0xb3494f8 is on thread #8's stack
=3D=3D30263=3D=3D  in frame #0, created by scm_i_default_port_conversion_st=
rategy (???:)
--8<---------------cut here---------------end--------------->8---

I find it hard to draw any conclusions from this, though.

I was also able to gather backtraces at the time of one of these crashes
(here it=E2=80=99s =E2=80=9CWrong type to apply=E2=80=9D) with GDB:

--8<---------------cut here---------------start------------->8---
(gdb) catch syscall exit_group
Catchpoint 1 (syscall 'exit_group' [231])
(gdb) condition 1 ($rdi !=3D 0)
(gdb) r
Starting program: /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/b=
in/guile t.scm
ERROR: In procedure type-pointer:
ERROR: In procedure gdbscm_type_pointer: Wrong type argument in position 1 =
(expecting gdb:type): #f
Error while executing Scheme code.[Thread debugging using libthread_db enab=
led]
Using host libthread_db library "/gnu/store/4sqaib7c2dfjv62ivrg9b8wa7bh226l=
a-glibc-2.26.105-g0890d5379c/lib/libthread_db.so.1".
[New Thread 0x7ffff5ea5700 (LWP 8359)]
[New Thread 0x7ffff5654700 (LWP 8360)]
[New Thread 0x7ffff4e03700 (LWP 8361)]
[New Thread 0x7ffff3ecd700 (LWP 8362)]
grafting '/gnu/store/w3hxb7hrafkhxplcf5qzvsc0fbipqb3i-perl-5.26.1' -> '/gnu=
/store/w3hxb7hrafkhxplcf5qzvsc0fbipqb3i-perl-5.XX.X'...

;;; (jobs 8)
[New Thread 0x7ffff35ac700 (LWP 8363)]
[New Thread 0x7fffead5b700 (LWP 8364)]
[New Thread 0x7ffff2d5b700 (LWP 8365)]
[New Thread 0x7ffff24f8700 (LWP 8366)]
[New Thread 0x7ffff1ca7700 (LWP 8367)]
[New Thread 0x7ffff1456700 (LWP 8368)]
[New Thread 0x7ffff0c05700 (LWP 8369)]
[New Thread 0x7fffebfff700 (LWP 8370)]
Wrong type to apply: "lib"
[Switching to Thread 0x7ffff2d5b700 (LWP 8365)]

Thread 8 "guile" hit Catchpoint 1 (call to syscall exit_group), 0x00007ffff=
5f65a88 in _exit ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
(gdb) thread apply all bt

Thread 13 (Thread 0x7fffebfff700 (LWP 8370)):
#0  0x00007ffff5eda5c6 in sigsuspend ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff785d65a in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff762caea in __lll_lock_wait ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff7625c65 in pthread_mutex_lock ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#6  0x00007ffff784f9ed in GC_notify_or_invoke_finalizers ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#7  0x00007ffff7851dcd in GC_generic_malloc_many ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#8  0x00007ffff785a2ce in GC_malloc_kind ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#9  0x00007ffff7b591c6 in scm_i_make_string ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b5b4d6 in scm_from_stringn ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7b5b76e in scm_take_locale_stringn ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7aff4b3 in scm_i_relativize_path ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b041f7 in scm_open_file_with_encoding ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7b04333 in scm_i_open_file ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#21 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#23 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#24 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#25 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#26 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#27 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#28 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#29 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#30 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#31 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 12 (Thread 0x7ffff0c05700 (LWP 8369)):
#0  0x00007ffff762c0b7 in do_futex_wait.constprop ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#1  0x00007ffff762c164 in __new_sem_wait_slow.constprop.0 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#2  0x00007ffff785dd62 in GC_stop_world ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  0x00007ffff7849f0e in GC_stopped_mark ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#4  0x00007ffff784aa69 in GC_try_to_collect_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#5  0x00007ffff784b43c in GC_collect_or_expand ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#6  0x00007ffff7850d6b in GC_alloc_large ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#7  0x00007ffff7851183 in GC_generic_malloc ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#8  0x00007ffff7851398 in GC_malloc_kind_global ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#9  0x00007ffff7aedabf in scm_make_bytevector ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#21 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#23 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#24 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#25 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#26 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 11 (Thread 0x7ffff1456700 (LWP 8368)):
#0  0x00007ffff5eda5c6 in sigsuspend ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff785d65a in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff5ecbc3e in __gconv_transform_internal_utf8 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#5  0x00007ffff43b09b0 in gconv ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/gconv/ISO8859-1.so
#6  0x00007ffff5ec7da7 in __gconv ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#7  0x00007ffff5ec7677 in iconv ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#8  0x00007ffff7b8155e in mem_cd_iconveh_internal ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7b8238c in mem_iconveh ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b5bd14 in scm_to_stringn ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7aff4e8 in scm_i_relativize_path ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b041f7 in scm_open_file_with_encoding ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b04333 in scm_i_open_file ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#21 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#23 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#24 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#25 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#26 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#27 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#28 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#29 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#30 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 10 (Thread 0x7ffff1ca7700 (LWP 8367)):
#0  0x00007ffff5eda5c6 in sigsuspend ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff785d65a in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff5f87ed5 in _lxstat ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#5  0x00007ffff5ee70bb in realpath@@GLIBC_2.3 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#6  0x00007ffff7aff4f3 in scm_i_relativize_path ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#7  0x00007ffff7b041f7 in scm_open_file_with_encoding ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#8  0x00007ffff7b04333 in scm_i_open_file ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#21 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#23 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#24 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#25 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 9 (Thread 0x7ffff24f8700 (LWP 8366)):
#0  0x00007ffff5eda5c6 in sigsuspend ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff785d65a in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff5f87ed5 in _lxstat ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#5  0x00007ffff5ee70bb in realpath@@GLIBC_2.3 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#6  0x00007ffff7aff4f3 in scm_i_relativize_path ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#7  0x00007ffff7b041f7 in scm_open_file_with_encoding ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#8  0x00007ffff7b04333 in scm_i_open_file ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#21 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#23 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#24 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#25 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 8 (Thread 0x7ffff2d5b700 (LWP 8365)):
#0  0x00007ffff5f65a88 in _exit ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff5edcab3 in __run_exit_handlers ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#2  0x00007ffff5edcb5a in exit ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#3  0x00007ffff7b42b9b in scm_primitive_exit ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#4  0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#5  0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#6  0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#7  0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#8  0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#18 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#20 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 7 (Thread 0x7fffead5b700 (LWP 8364)):
#0  0x00007ffff5eda5c6 in sigsuspend ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff785d65a in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff762caea in __lll_lock_wait ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff7625c65 in pthread_mutex_lock ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#6  0x00007ffff78513b5 in GC_malloc_kind_global ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#7  0x00007ffff7b591c6 in scm_i_make_string ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#8  0x00007ffff7b5b4d6 in scm_from_stringn ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7aff50b in scm_i_relativize_path ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b041f7 in scm_open_file_with_encoding ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7b04333 in scm_i_open_file ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#21 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#23 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#24 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#25 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#26 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#27 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#28 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 6 (Thread 0x7ffff35ac700 (LWP 8363)):
#0  0x00007ffff5eda5c6 in sigsuspend ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff785d65a in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff762caec in __lll_lock_wait ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff7625c65 in pthread_mutex_lock ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#6  0x00007ffff78513b5 in GC_malloc_kind_global ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#7  0x00007ffff7b591c6 in scm_i_make_string ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#8  0x00007ffff7b5b4d6 in scm_from_stringn ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7aff50b in scm_i_relativize_path ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b041f7 in scm_open_file_with_encoding ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7b04333 in scm_i_open_file ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7ae7eb8 in scm_call_with_unblocked_asyncs ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7b61496 in really_launch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#21 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#23 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#24 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#25 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#26 0x00007ffff7b60c8d in launch_thread ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#27 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#28 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 5 (Thread 0x7ffff3ecd700 (LWP 8362)):
#0  0x00007ffff762c48c in sem_post@@GLIBC_2.2.5 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#1  0x00007ffff785d638 in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff762caea in __lll_lock_wait ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff7625c65 in pthread_mutex_lock ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#6  0x00007ffff784f7bd in GC_invoke_finalizers ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#7  0x00007ffff7b001d9 in scm_run_finalizers ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#8  0x00007ffff7b00235 in finalization_thread_proc ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#17 0x00007ffff7b61958 in scm_with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#19 0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 4 (Thread 0x7ffff4e03700 (LWP 8361)):
#0  0x00007ffff76297af in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#1  0x00007ffff785d3f7 in GC_wait_marker ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff78538fa in GC_help_marker ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  0x00007ffff785d3cc in GC_mark_thread ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#4  0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 3 (Thread 0x7ffff5654700 (LWP 8360)):
#0  0x00007ffff76297af in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#1  0x00007ffff785d3f7 in GC_wait_marker ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff78538fa in GC_help_marker ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  0x00007ffff785d3cc in GC_mark_thread ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#4  0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 2 (Thread 0x7ffff5ea5700 (LWP 8359)):
#0  0x00007ffff76297af in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#1  0x00007ffff785d3f7 in GC_wait_marker ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff78538fa in GC_help_marker ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  0x00007ffff785d3cc in GC_mark_thread ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#4  0x00007ffff76234d5 in start_thread ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff5f962cf in clone ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6

Thread 1 (Thread 0x7ffff7fef480 (LWP 8355)):
#0  0x00007ffff5eda5c6 in sigsuspend ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libc.so.6
#1  0x00007ffff785d65a in GC_suspend_handler_inner ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#2  0x00007ffff785d70f in GC_suspend_handler ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#3  <signal handler called>
#4  0x00007ffff76297ad in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d53=
79c/lib/libpthread.so.0
#5  0x00007ffff7b6200b in block_self ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#6  0x00007ffff7b624f0 in scm_timed_wait_condition_variable ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#7  0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#8  0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#9  0x00007ffff7af7977 in scm_primitive_eval ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#10 0x00007ffff7af79d3 in scm_eval ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#11 0x00007ffff7b42a30 in scm_shell ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#12 0x00007ffff7b0e45d in invoke_main_func ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#13 0x00007ffff7af0c5a in c_body ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#14 0x00007ffff7b7017d in vm_regular_engine ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#15 0x00007ffff7b737da in scm_call_n ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#16 0x00007ffff7b629a6 in catch ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#17 0x00007ffff7af1240 in scm_i_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#18 0x00007ffff7af12d5 in scm_c_with_continuation_barrier ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#19 0x00007ffff7b615bc in with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#20 0x00007ffff7856758 in GC_call_with_stack_base ()
   from /gnu/store/7ivzka4by2casz1p65l8pm9vjnis0zjw-libgc-7.6.0/lib/libgc.s=
o.1
#21 0x00007ffff7b61958 in scm_with_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#22 0x00007ffff7b0e5f2 in scm_boot_guile ()
   from /gnu/store/38553wfz0jwlgbw13pk99xl79pbfx58d-guile-2.2.3/lib/libguil=
e-2.2.so.1
#23 0x0000000000400b60 in main ()
--8<---------------cut here---------------end--------------->8---

To be continued=E2=80=A6

Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 24 Aug 2017 04:57:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 24 00:57:02 2017
Received: from localhost ([127.0.0.1]:51991 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1dkkCU-0000xy-58
	for submit <at> debbugs.gnu.org; Thu, 24 Aug 2017 00:57:02 -0400
Received: from world.peace.net ([50.252.239.5]:57265)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mhw@HIDDEN>) id 1dkkCS-0000xQ-K3
 for 28211 <at> debbugs.gnu.org; Thu, 24 Aug 2017 00:57:01 -0400
Received: from pool-72-93-33-39.bstnma.east.verizon.net ([72.93.33.39]
 helo=jojen)
 by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <mhw@HIDDEN>)
 id 1dkkCM-0000gq-Gj; Thu, 24 Aug 2017 00:56:54 -0400
From: Mark H Weaver <mhw@HIDDEN>
To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
Subject: Re: bug#28211: Grafting fails for latest Go release candidate
References: <20170731143925.GA19814@HIDDEN> <87wp6kuzrp.fsf@HIDDEN>
 <87wp6fb0p7.fsf@HIDDEN> <87efsljb63.fsf@HIDDEN>
 <87378lszri.fsf@HIDDEN> <87h8x04qky.fsf@HIDDEN>
 <87wp5v2ylv.fsf@HIDDEN> <87lgm9j3q9.fsf@HIDDEN>
Date: Thu, 24 Aug 2017 00:56:30 -0400
In-Reply-To: <87lgm9j3q9.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Thu, 24 Aug 2017 00:53:18 +0200")
Message-ID: <878ti9o96p.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, guix-devel@HIDDEN,
 Marius Bakke <mbakke@HIDDEN>, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.0 (/)

ludo@HIDDEN (Ludovic Court=C3=A8s) writes:

> Marius Bakke <mbakke@HIDDEN> skribis:
>
>> Most likely just lucky, new grafting failure today.
>>
>> I've noticed they are more likely to occur when the host system is busy.
>> Grafting a large package such as 'texlive' is almost guaranteed to fail
>> on a fully-utilized machine.
>>
>> Maybe we should switch back to 2.0 for the time being?
>
> Yes, done: <https://bugs.gnu.org/28211>.
>
> I took a look: the code in (guix build graft) is multi-threaded but
> there=E2=80=99s no shared state among threads (except for the current
> output/error ports,

In Guile, port operations do not include built-in thread
synchronization, so it's not safe for multiple threads to write to the
current output/error ports concurrently.  Those writes should be
protected by a mutex.

However, we had agreed that in 2.2, the port operations should be
implemented in such a way that the worst that could happen on typical
hardware in practice was for the output to be garbled.  I didn't review
the new 2.2 ports code, so I'm not sure whether this was accomplished.

      Mark




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 23 Aug 2017 22:53:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 23 18:53:33 2017
Received: from localhost ([127.0.0.1]:51840 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1dkeWh-0000vV-Q0
	for submit <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:53:33 -0400
Received: from eggs.gnu.org ([208.118.235.92]:49194)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1dkeWf-0000vI-N0
 for 28211 <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:53:30 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1dkeWZ-0006FV-I7
 for 28211 <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:53:24 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57851)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1dkeWZ-0006FQ-EN; Wed, 23 Aug 2017 18:53:23 -0400
Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=52290 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1dkeWY-0000zq-K6; Wed, 23 Aug 2017 18:53:23 -0400
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: Marius Bakke <mbakke@HIDDEN>
Subject: Re: Grafting fails for latest Go release candidate
References: <20170731143925.GA19814@HIDDEN> <87wp6kuzrp.fsf@HIDDEN>
 <87wp6fb0p7.fsf@HIDDEN> <87efsljb63.fsf@HIDDEN>
 <87378lszri.fsf@HIDDEN> <87h8x04qky.fsf@HIDDEN>
 <87wp5v2ylv.fsf@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 7 Fructidor an 225 de la =?utf-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-unknown-linux-gnu
Date: Thu, 24 Aug 2017 00:53:18 +0200
In-Reply-To: <87wp5v2ylv.fsf@HIDDEN> (Marius Bakke's message of "Tue, 22
 Aug 2017 21:26:04 +0200")
Message-ID: <87lgm9j3q9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 28211
Cc: Andy Wingo <wingo@HIDDEN>, guix-devel@HIDDEN, 28211 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

Marius Bakke <mbakke@HIDDEN> skribis:

> Most likely just lucky, new grafting failure today.
>
> I've noticed they are more likely to occur when the host system is busy.
> Grafting a large package such as 'texlive' is almost guaranteed to fail
> on a fully-utilized machine.
>
> Maybe we should switch back to 2.0 for the time being?

Yes, done: <https://bugs.gnu.org/28211>.

I took a look: the code in (guix build graft) is multi-threaded but
there=E2=80=99s no shared state among threads (except for the current
output/error ports, which may partly explain the error messages that
suggest memory corruption.)  So it may be that the problem is in
libguile.

Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.

Message received at 28211 <at> debbugs.gnu.org:


Received: (at 28211) by debbugs.gnu.org; 23 Aug 2017 22:48:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 23 18:48:36 2017
Received: from localhost ([127.0.0.1]:51836 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1dkeRw-0000ow-7G
	for submit <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:48:36 -0400
Received: from eggs.gnu.org ([208.118.235.92]:46737)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1dkeRu-0000oj-6Y
 for 28211 <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:48:34 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1dkeRo-0001t9-3e
 for 28211 <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:48:29 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57710)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1dkeRo-0001t4-08
 for 28211 <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:48:28 -0400
Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=52278 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1dkeRn-0000E0-Hd
 for 28211 <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:48:27 -0400
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: 28211 <at> debbugs.gnu.org
Subject: Re: bug#28211: Grafting code triggers GC/thread-safety issue on Guile
 2.2.2
References: <877exuj58y.fsf@HIDDEN>
Date: Thu, 24 Aug 2017 00:48:25 +0200
In-Reply-To: <877exuj58y.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Thu, 24 Aug 2017 00:20:29 +0200")
Message-ID: <87ziapj3ye.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 28211
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

ludo@HIDDEN (Ludovic Court=C3=A8s) skribis:

> On current =E2=80=98core-updates=E2=80=99, the code in (guix build graft)=
 triggers
> random Guile crashes (GC issue? thread-safety issue?) when running on
> Guile 2.2.2, as initially reported by Marius at
> <https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00013.html>:

Commit e4925e00ca420737556e2039b4fa1c40121ee567 works around it by using
Guile 2.0 for these derivations.

Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.
Severity set to 'serious' from 'normal' Request was from ludo@HIDDEN (Ludovic Courtès) to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Aug 2017 22:20:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 23 18:20:47 2017
Received: from localhost ([127.0.0.1]:51825 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1dke10-0006mc-Mh
	for submit <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:20:46 -0400
Received: from eggs.gnu.org ([208.118.235.92]:41550)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1dke0y-0006mP-Ki
 for submit <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:20:45 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1dke0r-00078Y-UX
 for submit <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:20:39 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:37671)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <ludo@HIDDEN>) id 1dke0r-00078D-LX
 for submit <at> debbugs.gnu.org; Wed, 23 Aug 2017 18:20:37 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:60744)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1dke0o-0001Dw-Hy
 for bug-guix@HIDDEN; Wed, 23 Aug 2017 18:20:37 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <ludo@HIDDEN>) id 1dke0n-00074A-7F
 for bug-guix@HIDDEN; Wed, 23 Aug 2017 18:20:34 -0400
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57496)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1dke0n-000740-3P
 for bug-guix@HIDDEN; Wed, 23 Aug 2017 18:20:33 -0400
Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=51550 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1dke0m-0000R1-LH
 for bug-guix@HIDDEN; Wed, 23 Aug 2017 18:20:32 -0400
From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=)
To: bug-guix@HIDDEN
Subject: Grafting code triggers GC/thread-safety issue on Guile 2.2.2
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 7 Fructidor an 225 de la =?utf-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-unknown-linux-gnu
Date: Thu, 24 Aug 2017 00:20:29 +0200
Message-ID: <877exuj58y.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

On current =E2=80=98core-updates=E2=80=99, the code in (guix build graft) t=
riggers
random Guile crashes (GC issue? thread-safety issue?) when running on
Guile 2.2.2, as initially reported by Marius at
<https://lists.gnu.org/archive/html/guix-devel/2017-08/msg00013.html>:

--8<---------------cut here---------------start------------->8---
grafting '/gnu/store/i71kkrch1asnwvm0vm71w9aaza0n2m9q-icecat-52.1.0-gnu1' -=
> '/gnu/store/7w92kgcdcmf7lsc9nvs6b2ca7mk9422s-icecat-52.1.0-gnu1'...
ERROR: In procedure put-bytevector: Wrong type argument in position 1 (expe=
cting open output port): #<closed: file 8f1930>
builder for `/gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gnu1=
.drv' failed with exit code 1

[...]

ludo@ribbon ~/src/guix/+core-updates$ guix gc --clear-failures $(guix gc --=
list-failures)
ludo@ribbon ~/src/guix/+core-updates$ guix build /gnu/store/3crrls3ms9m3g86=
0yvqib02rnm7akhf8-icecat-52.1.0-gnu1.drv
La jena derivo estos konstruata:
   /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gnu1.drv
@ build-started /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-g=
nu1.drv - x86_64-linux /var/log/guix/drvs/3c//rrls3ms9m3g860yvqib02rnm7akhf=
8-icecat-52.1.0-gnu1.drv.bz2
grafting '/gnu/store/i71kkrch1asnwvm0vm71w9aaza0n2m9q-icecat-52.1.0-gnu1' -=
> '/gnu/store/7w92kgcdcmf7lsc9nvs6b2ca7mk9422s-icecat-52.1.0-gnu1'...
ERROR: In procedure put-bytevector: Wrong type argument in position 1 (expe=
cting open output port): #<closed: file 7517e0>
builder for `/gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gnu1=
.drv' failed with exit code 1
@ build-failed /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gn=
u1.drv - 1 builder for `/gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-=
52.1.0-gnu1.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/3crrls3ms9m3g860yvqib=
02rnm7akhf8-icecat-52.1.0-gnu1.drv' failed
ludo@ribbon ~/src/guix/+core-updates$ guix gc --clear-failures $(guix gc --=
list-failures)
ludo@ribbon ~/src/guix/+core-updates$ guix build /gnu/store/3crrls3ms9m3g86=
0yvqib02rnm7akhf8-icecat-52.1.0-gnu1.drv
La jena derivo estos konstruata:
   /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gnu1.drv
@ build-started /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-g=
nu1.drv - x86_64-linux /var/log/guix/drvs/3c//rrls3ms9m3g860yvqib02rnm7akhf=
8-icecat-52.1.0-gnu1.drv.bz2
grafting '/gnu/store/i71kkrch1asnwvm0vm71w9aaza0n2m9q-icecat-52.1.0-gnu1' -=
> '/gnu/store/7w92kgcdcmf7lsc9nvs6b2ca7mk9422s-icecat-52.1.0-gnu1'...
ERROR: In procedure variable-ref: Not a variable: (194 195 196 197 198 199 =
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218=
 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 23=
7 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255)
builder for `/gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gnu1=
.drv' failed with exit code 1
@ build-failed /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gn=
u1.drv - 1 builder for `/gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-=
52.1.0-gnu1.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

The problem does not show up when running on a single thread:

--8<---------------cut here---------------start------------->8---
guix build: error: build failed: build of `/gnu/store/3crrls3ms9m3g860yvqib=
02rnm7akhf8-icecat-52.1.0-gnu1.drv' failed
ludo@ribbon ~/src/guix/+core-updates$ guix gc --clear-failures $(guix gc --=
list-failures)
ludo@ribbon ~/src/guix/+core-updates$ guix build /gnu/store/3crrls3ms9m3g86=
0yvqib02rnm7akhf8-icecat-52.1.0-gnu1.drv --cores=3D1
La jena derivo estos konstruata:
   /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-gnu1.drv
@ build-started /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0-g=
nu1.drv - x86_64-linux /var/log/guix/drvs/3c//rrls3ms9m3g860yvqib02rnm7akhf=
8-icecat-52.1.0-gnu1.drv.bz2
grafting '/gnu/store/i71kkrch1asnwvm0vm71w9aaza0n2m9q-icecat-52.1.0-gnu1' -=
> '/gnu/store/7w92kgcdcmf7lsc9nvs6b2ca7mk9422s-icecat-52.1.0-gnu1'...
@ build-succeeded /gnu/store/3crrls3ms9m3g860yvqib02rnm7akhf8-icecat-52.1.0=
-gnu1.drv -
/gnu/store/7w92kgcdcmf7lsc9nvs6b2ca7mk9422s-icecat-52.1.0-gnu1
--8<---------------cut here---------------end--------------->8---

Ludo=E2=80=99.




Acknowledgement sent to ludo@HIDDEN (Ludovic Courtès):
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#28211; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 29 Jun 2018 23:30:02 UTC

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