Subject: bug#19180: Weak tables harmful to GC?

From: [email-masked] (Ludovic Courtès)
Date: Mon, 30 Oct 2017 23:18:51 +0100

Hi,

Ricardo Wurmus <[email-masked]> skribis:

> 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:
>
> ./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

The error above is the other bug you reported, not related (but just as
serious): <https://bugs.gnu.org/27476>.

> I modified build-self.scm to use the modified Guile:
>
> 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]"))))))
>
> 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.

Your patch above should have led to the use of “guile-awesome” to
compile Guix; I’m not sure why it didn’t.

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

Oh?

Let’s put this on hold since Andy offers a different solution.

Thanks for testing!

Ludo’.