Hi Mark, Ludovic Courtès <l...@gnu.org> skribis:
> Mark H Weaver <m...@netris.org> skribis: > >> In the most recent evaluation of 'master' on hydra.gnu.org (eval 110393, >> corresponding to git commit 5327e912a8a477e472da9ec03c99cdedcc04af75), >> the 'guix' package failed to build on x86_64, with the following error: >> >> guix/hg-download.scm:93:2: >>=: >>= (bind) used outside of 'with-monad' in >> form (>>= (package->derivation guile system) (lambda (t-2c116650a85e261-45a) >> (mlet* %store-monad () (let ((guile t-2c116650a85e261-45a)) >> (gexp->derivation (or name "hg-checkout") build #:system system >> #:local-build? #t #:hash-algo hash-algo #:hash hash #:recursive? #t >> #:guile-for-build guile))))) > > This is the dreaded syntax parameter bug: > > https://issues.guix.info/issue/27476 Today I noticed that building guix-core.drv on a 24-core machine would trigger the bug roughly 70% of the time, with backtraces like this: --8<---------------cut here---------------start------------->8--- building /gnu/store/rxx273f09jcxk72rjgl990k8191di0jw-guix-core.drv... compiling... 15.4% of 39 filesIn ice-9/psyntax.scm: 2338:44 19 (expand-let _ _ _ ((line . 1537) (column . 0) (filename . "guix/store.scm")) (hygiene guix store) #<procedure build-let (src ids vars val-exps body-exp)> _ _ ((#<syntax match-one> # ?))) compiling... 17.9% of 39 files 1679:45 18 (parse _ _ _ _ _ _ _) In ice-9/boot-9.scm: 222:17 17 (map1 (((("placeholder" placeholder) ("l-10a3c941d34314a1-4b93" lexical . failure-10a3c941d34314a1-4b94) ("placeholder" placeholder) ("placeholder" placeholder) ("l-10a3c9?" . #) ?) ?))) In ice-9/psyntax.scm: 1409:12 16 (_ _ _ #<syntax (#<syntax failure>)>) 2338:44 15 (expand-let _ _ _ ((line . 1537) (column . 0) (filename . "guix/store.scm")) (hygiene guix store) #<procedure build-let (src ids vars val-exps body-exp)> _ _ ((#<syntax match-one> # ?))) 1679:45 14 (parse _ _ _ _ _ _ _) In ice-9/boot-9.scm: 222:17 13 (map1 (((("l-10a3c941d34314a1-4b9e" macro . #<procedure 13ad6c0 at ice-9/eval.scm:333:13 (a)>) ("placeholder" placeholder) ("l-10a3c941d34314a1-4b99" lexical . #) ("l-10?" . #) ?) . #))) In ice-9/psyntax.scm: 2338:44 12 (expand-let _ _ _ ((line . 1537) (column . 0) (filename . "guix/store.scm")) (hygiene guix store) #<procedure build-let (src ids vars val-exps body-exp)> _ _ ((#<syntax match-one> # ?))) 1679:45 11 (parse _ _ _ _ _ _ _) In ice-9/boot-9.scm: 222:17 10 (map1 (((("l-10a3c941d34314a1-4bba" macro . #<procedure c1b240 at ice-9/eval.scm:333:13 (a)>) ("placeholder" placeholder) ("l-10a3c941d34314a1-4bb6" lexical . #) ("l-10a?" . #) ?) . #))) In ice-9/psyntax.scm: 2338:44 9 (expand-let _ _ _ ((line . 1537) (column . 0) (filename . "guix/store.scm")) (hygiene guix store) #<procedure build-let (src ids vars val-exps body-exp)> _ _ ((#<syntax match-drop?> ?))) 1612:33 8 (parse (((("placeholder" placeholder) ("l-10a3c941d34314a1-4bd2" lexical . tail-10a3c941d34314a1-4bd3) ("l-10a3c941d34314a1-4bba" macro . #<procedure c1b240 at ice-9/eval.s?>) ?) . #)) ?) 1348:32 7 (syntax-type (#<syntax >>=> (#<syntax mproc> #<syntax head> #<syntax result>) (#<syntax lambda> (#<syntax result>) (#<syntax loop> #<syntax tail> #<syntax result>))) (("placeho?" ?) ?) ?) 1559:32 6 (expand-macro #<procedure 136bbc0 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 (>>= ">>= (bind) used outside of 'with-monad'" ((line . 1537) (column . 0) (filename . "guix/store.scm")) (>>= (mproc head result) (lambda (#) ?)) #)) In guix/build/compile.scm: 123:6 3 (_ _ . _) In ice-9/boot-9.scm: 829:9 2 (catch #t #<procedure c3a4e0 at guix/build/compile.scm:123:6 ()> #<procedure 7fffefd02980 at guix/build/compile.scm:123:6 args> _) In guix/build/compile.scm: 126:21 1 (_) In unknown file: 0 (make-stack #t) guix/build/compile.scm:126:21: Syntax error: guix/store.scm:1538:0: >>=: >>= (bind) used outside of 'with-monad' in form (>>= (mproc head result) (lambda (result) (loop tail result))) builder for `/gnu/store/rxx273f09jcxk72rjgl990k8191di0jw-guix-core.drv' failed with exit code 1 --8<---------------cut here---------------end--------------->8--- This is as of d1dfcc7c1b38d816dddc2868917ba490db7e7c3b (a commit from today), where Guile 2.2.4 is used to build modules. The bug doesn’t seem to be triggered on my 4-core laptop nor on the 8-core build machines behind berlin: https://ci.guix.info/jobset/guix-modular-master Ludo’.