GNU bug report logs - #34112
Guix 0.16.0-8 FTBFS: ">>= (bind) used outside of 'with-monad'"

Previous Next

Package: guile;

Reported by: Mark H Weaver <mhw <at> netris.org>

Date: Wed, 16 Jan 2019 23:35:02 UTC

Severity: serious

Tags: unreproducible

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

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34112 in the body.
You can then email your comments to 34112 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#34112; Package guix. (Wed, 16 Jan 2019 23:35:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mark H Weaver <mhw <at> netris.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 16 Jan 2019 23:35:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: bug-guix <at> gnu.org
Subject: Guix 0.16.0-8 FTBFS: ">>= (bind) used outside of 'with-monad'"
Date: Wed, 16 Jan 2019 18:33:35 -0500
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:

--8<---------------cut here---------------start------------->8---
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)))))
--8<---------------cut here---------------end--------------->8---

I suspect that this error is non-deterministic, so I restarted the build
after saving a copy of the failed build log.  See below for the tail of
the build log.

      Mark

--8<---------------cut here---------------start------------->8---
  LOAD     gnu/tests/security-token.scm
  LOAD     gnu/tests/ssh.scm
  LOAD     gnu/tests/version-control.scm
  LOAD     gnu/tests/virtualization.scm
  LOAD     gnu/tests/web.scm
  LOAD     guix/ssh.scm
  LOAD     guix/scripts/copy.scm
  LOAD     guix/store/ssh.scm
  LOAD     guix/scripts/offload.scm
  LOAD     guix/store/database.scm
  LOAD     guix/store/deduplication.scm
  LOAD     guix/config.scm
  LOAD     guix/tests.scm
  LOAD     guix/tests/http.scm
  GUILEC   guix/base16.go
  GUILEC   guix/base32.go
  GUILEC   guix/base64.go
  GUILEC   guix/ci.go
  GUILEC   guix/cpio.go
  GUILEC   guix/docker.go
  GUILEC   guix/records.go
  GUILEC   guix/pki.go
  GUILEC   guix/progress.go
  GUILEC   guix/combinators.go
  GUILEC   guix/memoization.go
  GUILEC   guix/utils.go
  GUILEC   guix/sets.go
  GUILEC   guix/modules.go
  GUILEC   guix/download.go
  GUILEC   guix/discovery.go
  GUILEC   guix/git-download.go
  GUILEC   guix/hg-download.go
  GUILEC   guix/swh.go
  GUILEC   guix/monads.go
  GUILEC   guix/monad-repl.go
In system/base/compile.scm:
   183:32 19 (compile-fold (#<procedure compile-tree-il (x e opts)>) …)
In ice-9/boot-9.scm:
   2312:4 18 (save-module-excursion #<procedure 15c77ec0 at language…>)
In language/scheme/compile-tree-il.scm:
    31:15 17 (_)
In ice-9/psyntax.scm:
  1234:22 16 (expand-top-sequence ((define* (hg-fetch ref # # …) …)) …)
In ice-9/boot-9.scm:
   222:17 15 (map1 (#<procedure 160f9720 at ice-9/psyntax.scm:1151:…>))
In ice-9/psyntax.scm:
  1409:12 14 (_)
  2260:30 13 (_ _ _ _)
  1882:14 12 (_ _ _ _ () () ())
  1945:21 11 (_ _ _)
  1696:61 10 (parse _ _ _ _ _ _ _)
In ice-9/boot-9.scm:
   222:17  9 (map1 (((("placeholder" placeholder) ("l-2c…" . #) …) …)))
In ice-9/psyntax.scm:
  1612:33  8 (parse (((("placeholder" placeholder) ((#) . #) …) . #)) …)
  1348:32  7 (syntax-type (#<syntax >>=> #<syntax (package->deri…> …) …)
  1559:32  6 (expand-macro #<procedure 1493fa00 at ice-9/eval.scm:3…> …)
I  GUILEC   guix/gexp.go
n ice-9/boot-9.scm:
   752:25  5 (dispatch-exception _ _ _)
   751:25  4 (dispatch-exception 1 syntax-error (>>= ">>= (bind) …" …))
In ice-9/eval.scm:
    619:8  3 (_ #(#(#<directory (guix build compile) 5f58c0>) # (…)))
In ice-9/boot-9.scm:
    GUILEC   guix/profiles.go
  829:9  2 (catch #t #<procedure 14ab9120 at ice-9/eval.scm:330:1…> …)
In ice-9/eval.scm:
   293:34  1 (_ #(#(#(#<directory (guix build compile) 5f58c0> …)) #))
In unknown file:
           0 (make-stack #t)
ice-9/eval.scm:293:34: Syntax 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)))))
random seed for tests: 1547587378

Some deprecated features have been used.  Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information.  Set it to "no" to suppress
this message.
make[2]: *** [Makefile:5574: make-go] Error 1
make[2]: Leaving directory '/tmp/guix-build-guix-0.16.0-8.7ba2b27.drv-0/source'
make[1]: *** [Makefile:4655: all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-guix-0.16.0-8.7ba2b27.drv-0/source'
make: *** [Makefile:3271: all] Error 2
Backtrace:
           4 (primitive-load "/gnu/store/lz5zwvd999nw24qv0vnia608iaz…")
In ice-9/eval.scm:
   191:35  3 (_ _)
In srfi/srfi-1.scm:
   863:16  2 (every1 #<procedure 823420 at /gnu/store/gfprsx2m62cvq…> …)
In /gnu/store/gfprsx2m62cvqbh7ysc9ay9slhijvmal-module-import/guix/build/gnu-build-system.scm:
   799:28  1 (_ _)
In /gnu/store/gfprsx2m62cvqbh7ysc9ay9slhijvmal-module-import/guix/build/utils.scm:
    616:6  0 (invoke _ . _)

/gnu/store/gfprsx2m62cvqbh7ysc9ay9slhijvmal-module-import/guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "make" arguments: ("-j" "8") exit-status: 2 term-signal: #f stop-signal: #f] 5d3b80>)'.
builder for `/gnu/store/gxb0dhg3zifxc9mjl8pmdra1w13nnk0p-guix-0.16.0-8.7ba2b27.drv' failed with exit code 1
@ build-failed /gnu/store/gxb0dhg3zifxc9mjl8pmdra1w13nnk0p-guix-0.16.0-8.7ba2b27.drv - 1 builder for `/gnu/store/gxb0dhg3zifxc9mjl8pmdra1w13nnk0p-guix-0.16.0-8.7ba2b27.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---




Information forwarded to bug-guix <at> gnu.org:
bug#34112; Package guix. (Thu, 17 Jan 2019 04:05:02 GMT) Full text and rfc822 format available.

Message #8 received at 34112 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: 34112 <at> debbugs.gnu.org
Subject: Re: bug#34112: Guix 0.16.0-8 FTBFS: ">>= (bind) used outside of
 'with-monad'"
Date: Wed, 16 Jan 2019 23:03:46 -0500
Mark H Weaver <mhw <at> netris.org> writes:

> 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)))))
>
>
> I suspect that this error is non-deterministic, so I restarted the build
> after saving a copy of the failed build log.

The error is indeed non-deterministic.  However, the second attempt also
failed, due to a failed test.  <https://hydra.gnu.org/build/3338940>

  FAIL: tests/processes
  =====================

  random seed for tests: 1547688217
  substitute: warning: authentication and authorization of substitutes disabled!
  substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
  building path(s) `/tmp/guix-tests/store/9zba58k4br08dvfy9f1djwy49gh03d8z-foo'
  test-name: not a client
  location: /tmp/guix-build-guix-0.16.0-8.7ba2b27.drv-0/source/tests/processes.scm:37
  source:
  + (test-assert
  +   "not a client"
  +   (not (find (lambda (session)
  +                (= (getpid)
  +                   (process-id (daemon-session-client session))))
  +              (daemon-sessions))))
  actual-value: #f
  actual-error:
  + (wrong-type-arg
  +   "struct_vtable"
  +   "Wrong type argument in position ~A (expecting ~A): ~S"
  +   (1 "struct" #f)
  +   (#f))
  result: FAIL

I'll restart it again, in hope that the third attempt will succeed.

       Mark




Information forwarded to bug-guix <at> gnu.org:
bug#34112; Package guix. (Thu, 17 Jan 2019 12:21:01 GMT) Full text and rfc822 format available.

Message #11 received at 34112 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 34112 <at> debbugs.gnu.org
Subject: Re: bug#34112: Guix 0.16.0-8 FTBFS: ">>= (bind) used outside of
 'with-monad'"
Date: Thu, 17 Jan 2019 13:20:34 +0100
Hi Mark,

Mark H Weaver <mhw <at> 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

which I think is the same as the “info-dir bug”:

  https://issues.guix.info/issue/28144

I had come to believe Guile 2.2.4 addressed these, but lately people
have been reporting similar issues quite frequently, so I guess we have
a problem.

Thoughts?

Ludo’.




Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 22 Jan 2019 16:53:02 GMT) Full text and rfc822 format available.

Severity set to 'serious' from 'important' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 22 Jan 2019 21:00:02 GMT) Full text and rfc822 format available.

Merged 27476 27652 31740 34112. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 22 Jan 2019 21:00:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#34112; Package guix. (Tue, 22 Jan 2019 21:11:02 GMT) Full text and rfc822 format available.

Message #20 received at 34112 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 34112 <at> debbugs.gnu.org
Subject: Re: bug#34112: Guix 0.16.0-8 FTBFS: ">>= (bind) used outside of
 'with-monad'"
Date: Tue, 22 Jan 2019 22:10:23 +0100
Hi Mark,

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

> Mark H Weaver <mhw <at> 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’.




Merged 27476 27652 31740 34112 34319. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 06 Feb 2019 13:21:02 GMT) Full text and rfc822 format available.

Merged 27476 27652 28144 31294 31367 31740 32385 34112 34319. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 06 Feb 2019 20:58:03 GMT) Full text and rfc822 format available.

bug reassigned from package 'guix' to 'guile'. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Sat, 09 Feb 2019 22:12:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 15 Jan 2021 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 102 days ago.

Previous Next


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