GNU bug report logs - #27476
Multi-threaded compilation of 'syntax-parameterize' forms crashes

Previous Next

Package: guile;

Reported by: Leo Famulari <leo <at> famulari.name>

Date: Sat, 24 Jun 2017 16:33:01 UTC

Severity: serious

Tags: unreproducible

Merged with 27652, 28144, 31294, 31367, 31740, 32385, 34112, 34319

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Fis Trivial <ybbs.daans <at> hotmail.com>
Subject: bug#31740: closed (Re: bug#27476: libguile/memoize.c is not
 thread safe, so syntax parameter expansion is not thread-safe)
Date: Thu, 17 Dec 2020 15:13:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#27476: guix pull failed with syntax error.

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 31740 <at> debbugs.gnu.org.

-- 
27476: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27476
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Andy Wingo <wingo <at> igalia.com>
Cc: 27476-done <at> debbugs.gnu.org
Subject: Re: bug#27476: libguile/memoize.c is not thread safe, so syntax
 parameter expansion is not thread-safe
Date: Thu, 17 Dec 2020 16:12:17 +0100
Hi!

For the record, this was fixed in
61a8c9300daeb730fe5094f889bf13241942be84, which made it into 2.9/3.0,
and 2dccec9f553776656d9378e2315ad32d2e55286b, which made it into 2.2.5.

Closing!  :-)

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Fis Trivial <ybbs.daans <at> hotmail.com>
To: "bug-guix <at> gnu.org" <bug-guix <at> gnu.org>
Subject: guix pull failed with syntax error.
Date: Wed, 6 Jun 2018 21:15:49 +0000
$guix --version

guix (GNU Guix) 909301591d21d3879276e4ede3cebdcc867184f2
Copyright (C) 2018 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


Actually this is the second time I bumped into this bug. It seems
non-deterministic, try it a few times might make it right. Here is the
the error message with downloading and substituting stripped out:

Updating from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from Git commit 116ca65b583ba4e404289f1481dc3a3ffef1c3dd...
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/r195brsmnb3jgqicj7ma681yaschgyaj-compute-guix-derivation.drv
   /gnu/store/facfypp0m3g948fxzs9xg07fa45kckvk-module-import.drv
   /gnu/store/ghsnz9qn4ycg906a14glcxmxmmmh44vx-module-import-compiled.drv
;;; Failed to autoload make-session in (gnutls):
;;; missing interface for module (gnutls)
;;; Failed to autoload connection-end/client in (gnutls):
;;; missing interface for module (gnutls)
;;; ./gnu/packages.scm:92:33: warning: non-literal format string
;;; ./gnu/packages.scm:108:16: warning: non-literal format string
;;; Failed to autoload make-session in (gnutls):
;;; missing interface for module (gnutls)
;;; Failed to autoload connection-end/client in (gnutls):
;;; missing interface for module (gnutls)
;;; Failed to autoload make-session in (gnutls):
;;; missing interface for module (gnutls)
;;; Failed to autoload make-session in (gnutls):
;;; missing interface for module (gnutls)
;;; Failed to autoload connection-end/client in (gnutls):
;;; missing interface for module (gnutls)
;;; ./guix/build/download.scm:176:4: warning: possibly unbound variable `set-certificate-credentials-x509-trust-data!'
;;; ./guix/build/download.scm:182:15: warning: possibly unbound variable `make-certificate-credentials'
;;; ./guix/build/download.scm:191:20: warning: possibly unbound variable `x509-certificate-format/pem'
;;; ./guix/build/download.scm:199:2: warning: possibly unbound variable `session-peer-certificate-chain'
;;; ./guix/build/download.scm:201:5: warning: possibly unbound variable `import-x509-certificate'
;;; ./guix/build/download.scm:201:5: warning: possibly unbound variable `x509-certificate-format/der'
;;; ./guix/build/download.scm:210:10: warning: possibly unbound variable `x509-certificate-matches-hostname?'
;;; ./guix/build/download.scm:215:2: warning: possibly unbound variable `peer-certificate-status'
;;; ./guix/build/download.scm:234:13: warning: possibly unbound variable `certificate-status->string'
;;; ./guix/build/download.scm:229:20: warning: possibly unbound variable `x509-certificate-dn'
;;; ./guix/build/download.scm:246:18: warning: possibly unbound variable `make-session'
;;; ./guix/build/download.scm:246:18: warning: possibly unbound variable `connection-end/client'
;;; ./guix/build/download.scm:255:8: warning: possibly unbound variable `set-session-server-name!'
;;; ./guix/build/download.scm:255:8: warning: possibly unbound variable `server-name-type/dns'
;;; ./guix/build/download.scm:259:4: warning: possibly unbound variable `set-session-transport-fd!'
;;; ./guix/build/download.scm:260:4: warning: possibly unbound variable `set-session-default-priority!'
;;; ./guix/build/download.scm:266:4: warning: possibly unbound variable `set-session-priorities!'
;;; ./guix/build/download.scm:268:4: warning: possibly unbound variable `set-session-credentials!'
;;; ./guix/build/download.scm:272:34: warning: possibly unbound variable `make-certificate-credentials'
;;; ./guix/build/download.scm:280:8: warning: possibly unbound variable `handshake'
;;; ./guix/build/download.scm:282:15: warning: possibly unbound variable `error/warning-alert-received'
;;; ./guix/build/download.scm:287:23: warning: possibly unbound variable `alert-description->string'
;;; ./guix/build/download.scm:287:50: warning: possibly unbound variable `alert-get'
;;; ./guix/build/download.scm:288:15: warning: possibly unbound variable `handshake'
;;; ./guix/build/download.scm:303:18: warning: possibly unbound variable `session-record-port'
;;; Failed to autoload make-session in (gnutls):
;;; missing interface for module (gnutls)
;;; Failed to autoload make-session in (gnutls):
;;; missing interface for module (gnutls)
;;; Failed to autoload connection-end/client in (gnutls):
;;; missing interface for module (gnutls)
;;; ./guix/discovery.scm:89:22: warning: non-literal format string
;;; ./guix/ui.scm:168:5: warning: non-literal format string
;;; ./guix/ui.scm:313:2: warning: non-literal format string
;;; ./guix/ui.scm:331:22: warning: non-literal format string
;;; ./guix/ui.scm:359:13: warning: non-literal format string
;;; ./guix/ui.scm:352:7: warning: non-literal format string
;;; ./guix/ui.scm:347:11: warning: non-literal format string
;;; ./guix/ui.scm:383:7: warning: non-literal format string
;;; ./guix/ui.scm:467:2: warning: non-literal format string
;;; ./guix/ui.scm:469:2: warning: non-literal format string
;;; ./guix/ui.scm:577:22: warning: non-literal format string
;;; ./guix/ui.scm:580:22: warning: non-literal format string
;;; ./guix/ui.scm:690:13: warning: non-literal format string
;;; ./guix/ui.scm:865:14: warning: non-literal format string
;;; ./guix/ui.scm:885:14: warning: non-literal format string
;;; ./guix/ui.scm:1389:18: warning: non-literal format string
;;; ./guix/ui.scm:1399:10: warning: non-literal format string
;;; ./guix/ui.scm:1442:2: warning: non-literal format string
;;; ./guix/ui.scm:1458:2: warning: non-literal format string
;;; ./guix/ui.scm:1488:2: warning: non-literal format string
;;; ./guix/ui.scm:1517:2: warning: non-literal format string
;;; ./guix/ui.scm:1520:2: warning: non-literal format string
;;; ./guix/ui.scm:1539:8: warning: non-literal format string
;;; ./guix/ui.scm:1577:5: warning: non-literal format string
;;; ./guix/ui.scm:1569:5: warning: non-literal format string
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%%

........ (stripped out) ...........

[ 1/ 6] Compiling './guix/build/compile.scm'...
[ 2/ 6] Compiling './guix/build/utils.scm'...
[ 3/ 6] Compiling './guix/memoization.scm'...
[ 4/ 6] Compiling './guix/modules.scm'...
[ 5/ 6] Compiling './guix/profiling.scm'...
[ 6/ 6] Compiling './guix/sets.scm'...
compiling...	100.0% of 1 files
compiling...	 10.0% of 40 filesIn ice-9/psyntax.scm:
  1679:45 19 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17 18 (map1 (((("l-10a3c941d34314a1-35bb" macro . #<procedure 197b840 at ice-9/eval.scm:333:13 (a)>) ("placeholder" placeholder) ("l-10a3c941d34314a1-35b7" lexical . #) ("l-10?" . #) ?) . #)))
In ice-9/psyntax.scm:
  2338:44 17 (expand-let _ _ _ ((line . 1347) (column . 0) (filename . "guix/store.scm")) (hygiene guix store) #<procedure build-let (src ids vars val-exps body-exp)> _ _ ((#<syntax match-drop?> ?)))
  1679:45 16 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17 15 (map1 (((("placeholder" placeholder) ("l-10a3c941d34314a1-35d3" lexical . tail-10a3c941d34314a1-35d4) ("l-10a3c941d34314a1-35bb" macro . #<procedure 197b840 at ice-9/eval.scm:?>) ?) ?)))
In ice-9/psyntax.scm:
  1484:23 14 (_ _ _)
In ice-9/boot-9.scm:
   222:29 13 (map1 (#<syntax (#<syntax mproc> #<syntax head>)> #<syntax (#<syntax lambda> (#<syntax result>) (#<syntax if> #<syntax result> (#<syntax return> #<syntax result>) (#<syntax loop> #<?>))
   222:17 12 (map1 (#<syntax (#<syntax lambda> (#<syntax result>) (#<syntax if> #<syntax result> (#<syntax return> #<syntax result>) (#<syntax loop> #<syntax tail>)))>))
In ice-9/psyntax.scm:
  1789:11 11 (lp ((#<syntax if> #<syntax result> (#<syntax return> #<syntax result>) (#<syntax loop> #<syntax tail>))) ())
  1679:45 10 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17  9 (map1 (((("placeholder" placeholder) ("l-10a3c941d34314a1-35f3" lexical . result-10a3c941d34314a1-35f2) ("placeholder" placeholder) ("l-10a3c941d34314a1-35d3" lexical . #) # # ?) . #)))
In ice-9/psyntax.scm:
  1407:23  8 (_ _ (#<syntax return> #<syntax result>) (#<syntax loop> #<syntax tail>))
  1348:32  7 (syntax-type (#<syntax return> #<syntax result>) (("placeholder" placeholder) ("l-10a3c941d34314a1-35f3" lexical . result-10a3c941d34314a1-35f2) ("placeholder" placeholder) (# . #) ?) ?)
compiling...	 12.5% of 40 files  1559:32  6 (expand-macro #<procedure 1a53c00 at ice-9/eval.scm:333:13 (a)> _ _ _ _ _ _)
In ice-9/boot-9.scm:
   752:25  5 (dispatch-exception _ _ _)
   751:25  4 (dispatch-exception 1 syntax-error (return "return used outside of 'with-monad'" ((line . 1347) (column . 0) (filename . "guix/store.scm")) (return result) #f))
In ./guix/build/compile.scm:
    129:6  3 (_ _ . _)
In ice-9/boot-9.scm:
    829:9  2 (catch #t #<procedure 1ae6e80 at ./guix/build/compile.scm:129:6 ()> #<procedure 7ffff2315810 at ./guix/build/compile.scm:129:6 args> _)
In ./guix/build/compile.scm:
   132:21  1 (_)
In unknown file:
           0 (make-stack #t)
./guix/build/compile.scm:132:21: Syntax error:
guix/store.scm:1348:0: return: return used outside of 'with-monad' in form (return result)
builder for `/gnu/store/9qm694macj2s9a528nshbzgqca19njdx-guix-core.drv' failed with exit code 1
cannot build derivation `/gnu/store/fjvfl5d1v6jwlf9r8ajaifxp3zn7a4w1-guix-116ca65b5.drv': 1 dependencies couldn't be built
guix pull: error: build failed: build of `/gnu/store/fjvfl5d1v6jwlf9r8ajaifxp3zn7a4w1-guix-116ca65b5.drv' failed


----------------------------------------------------------------------

A second pull succeeded:

$ guix pull
Updating from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from Git commit 116ca65b583ba4e404289f1481dc3a3ffef1c3dd...
Computing Guix derivation for 'x86_64-linux'... |
The following derivations will be built:
   /gnu/store/fjvfl5d1v6jwlf9r8ajaifxp3zn7a4w1-guix-116ca65b5.drv
   /gnu/store/9qm694macj2s9a528nshbzgqca19njdx-guix-core.drv
   /gnu/store/g04imaadhllvb0qp7s0h68nzy47h62pn-guix-system.drv
   /gnu/store/ggc1i9irm2qqkkqnari31hah0i3x2syy-guix-extra.drv
   /gnu/store/hgp4i9sq96j94hlblqiamdsg5h4dhxdc-guix-packages-base.drv
   /gnu/store/jacwncra81r180xmvxhda8hlaifnga1p-guix-packages.drv
   /gnu/store/x6wd9ny8r4pg73hmbv2p2m1m1qp711rq-guix-cli.drv
compiling...	100.0% of 40 files
loading...	 97.2% of 109 filesrandom seed for tests: 1528319365
compiling...	100.0% of 109 files
compiling...	100.0% of 229 files
compiling...	100.0% of 179 files
compiling...	100.0% of 66 files
compiling...	100.0% of 37 files
updated GNU Guix successfully deployed under `/home/fis/.config/guix/latest'



This bug report was last modified 4 years and 153 days ago.

Previous Next


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