Subject: Re: Weak tables harmful to GC?

From: Ricardo Wurmus <[email-masked]>
Date: Mon, 30 Oct 2017 18:20:58 +0100

Hi again,

previously I wrote:

> The “guile-awesome” package finished compiling (after about 46 minutes).
> I’m now testing “guix pull” with a version of Guix that uses
> “guile-awesome”.

I’m sure I’m doing something wrong (see below for guesses).  Here’s what
I get:

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix pull
loading...       26.0% of 645 filesrandom seed for tests: 1509382171
compiling...     18.9% of 645 filesIn thread:
ERROR: In procedure return: return used outside of 'with-monad'Error while printing exception.
compiling...     54.7% of 645 files^C
--8<---------------cut here---------------end--------------->8---

I modified build-self.scm to use the modified Guile:

--8<---------------cut here---------------start------------->8---
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index ed8ff5f..9af6504 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -126,7 +126,7 @@ running Guile."
   (package->derivation (cond-expand
                          (guile-2.2
                           (canonical-package
-                           (specification->package "[email-masked]")))
+                           (specification->package "[email-masked]")))
                          (else
                           (canonical-package
                            (specification->package "[email-masked]"))))))
--8<---------------cut here---------------end--------------->8---

I also confirmed that the Guile process that is spawned as “bin/guile
--no-auto-compile /home/rwurmus/guix/scripts/guix pull” is indeed the
modified Guile, but I noticed that it spawns yet another Guile process
to load and compile Guix.

I guess that comes from the daemon?  If that’s the case I can’t really
test this on this big server, because the daemon is currently in use, so
I can’t just reconfigure it to use the modified Guile.

When compiling Guix from source with “make -j 32” using that version of
Guile I got a segfault.

--
Ricardo