GNU bug report logs - #20163
substitute-binary fails when attempting to reconfigure

Previous Next

Package: guix;

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

Date: Sun, 22 Mar 2015 02:53:02 UTC

Severity: normal

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

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 20163 in the body.
You can then email your comments to 20163 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#20163; Package guix. (Sun, 22 Mar 2015 02:53: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. (Sun, 22 Mar 2015 02:53: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: substitute-binary fails when attempting to reconfigure
Date: Sat, 21 Mar 2015 22:53:02 -0400
Running "guix system reconfigure" with substitutes enabled now
consistently fails for me with the following backtrace:

--8<---------------cut here---------------start------------->8---
root:~# ~mhw/bin/guix system reconfigure ~mhw/jojen.scm
substitute-binary: Backtrace:
substitute-binary: In ice-9/boot-9.scm:
substitute-binary:  157: 17 [catch #t #<catch-closure 9a45950> ...]
substitute-binary: In unknown file:
substitute-binary:    ?: 16 [apply-smob/1 #<catch-closure 9a45950>]
substitute-binary: In ice-9/boot-9.scm:
substitute-binary:   63: 15 [call-with-prompt prompt0 ...]
substitute-binary: In ice-9/eval.scm:
substitute-binary:  432: 14 [eval # #]
substitute-binary: In ice-9/boot-9.scm:
substitute-binary: 2401: 13 [save-module-excursion #<procedure 9a56ca0 at ice-9/boot-9.scm:4045:3 ()>]
substitute-binary: 4050: 12 [#<procedure 9a56ca0 at ice-9/boot-9.scm:4045:3 ()>]
substitute-binary: 1724: 11 [%start-stack load-stack ...]
substitute-binary: 1729: 10 [#<procedure 9a5b708 ()>]
substitute-binary: In unknown file:
substitute-binary:    ?: 9 [primitive-load "/gnu/store/lhwsnbq2h05m604zpw9wvglkaif8y41h-guix-0.8.1.07157e8/bin/guix"]
substitute-binary: In guix/ui.scm:
substitute-binary:  838: 8 [run-guix-command substitute-binary "--query"]
substitute-binary: In ice-9/boot-9.scm:
substitute-binary:  157: 7 [catch misc-error #<procedure 9e141f0 at guix/ui.scm:839:6 ()> ...]
substitute-binary: 2864: 6 [resolve-interface (guix scripts substitute-binary) #:select ...]
substitute-binary: 2789: 5 [#<procedure 99da000 at ice-9/boot-9.scm:2777:4 (name #:optional autoload version #:key ensure)> # ...]
substitute-binary: 3065: 4 [try-module-autoload (guix scripts substitute-binary) #f]
substitute-binary: 2401: 3 [save-module-excursion #<procedure 9e17870 at ice-9/boot-9.scm:3066:17 ()>]
substitute-binary: 3085: 2 [#<procedure 9e17870 at ice-9/boot-9.scm:3066:17 ()>]
substitute-binary: In unknown file:
substitute-binary:    ?: 1 [primitive-load-path "guix/scripts/substitute-binary" ...]
substitute-binary: In guix/scripts/substitute-binary.scm:
substitute-binary:  634: 0 [#<procedure 9e74470 ()>]
substitute-binary: 
substitute-binary: guix/scripts/substitute-binary.scm:634:2: In procedure #<procedure 9e74470 ()>:
substitute-binary: guix/scripts/substitute-binary.scm:634:2: Throw to key `match-error' with args `("match" "no matching pattern" ())'.
guix system: error: build failed: unexpected end-of-file
root:~#
--8<---------------cut here---------------end--------------->8---

Running the same command with --no-substitutes works:

--8<---------------cut here---------------start------------->8---
root:~# ~mhw/bin/guix system reconfigure ~mhw/jojen.scm --no-substitutes
The following derivations will be built:
   /gnu/store/zshpy31rx9bisi6w64hljrrysd0jqrk9-grub-2.00.drv
   /gnu/store/hm02q0iy3jjr995cgyy6pq0fjxkywm7i-grub.cfg.drv
   /gnu/store/gzylnn8kq40s9day9h3xassqv2jnbkck-grub-2.00.tar.xz.drv
   /gnu/store/ld352ranb4xl1x882zkl2ax8w4581xcl-xorriso-1.3.8.drv
   /gnu/store/pp5ci0lnd8ib9n3wkrpxj788zyrw6fla-qemu-headless-1.3.1.drv
   /gnu/store/5lhhp3ypph0vvdsp7fbfk07arr77c4ms-gtkmm-2.24.2.drv
   /gnu/store/vzxd6l9qxslnslgy538kxq6v7akbi25x-inkscape-0.91.drv
   /gnu/store/sdfydjqpbp2vr7p87cz35zxxhn7g25df-grub-image.png.drv
   /gnu/store/1y0xirbizfvj7p7ps2awlcb3vs35jsii-grub-image.resized.png.drv
grub-2.00/
grub-2.00/po/
grub-2.00/po/LINGUAS
grub-2.00/po/stamp-po
grub-2.00/po/grub.pot
[...]
--8<---------------cut here---------------end--------------->8---

Running other commands including "guix system build" and "guix package"
with substitutes enabled works properly.

The 'guix' command being run here is using 'pre-inst-env' within a git
checkout that's on 9d297fa but with some local commits added including
'wip-http-pipelining'.  The 'guix-daemon' being run is from
guix-0.8.1.07157e8, which I suppose is using its own copy of 'guix
substitute' (right?).

      Mark




Information forwarded to bug-guix <at> gnu.org:
bug#20163; Package guix. (Sun, 22 Mar 2015 14:04:02 GMT) Full text and rfc822 format available.

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

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw <at> netris.org>
Cc: 20163 <at> debbugs.gnu.org
Subject: Re: bug#20163: substitute-binary fails when attempting to reconfigure
Date: Sun, 22 Mar 2015 15:03:00 +0100
[Message part 1 (text/plain, inline)]
Mark H Weaver <mhw <at> netris.org> skribis:

> substitute-binary: In guix/scripts/substitute-binary.scm:
> substitute-binary:  634: 0 [#<procedure 9e74470 ()>]
> substitute-binary: 
> substitute-binary: guix/scripts/substitute-binary.scm:634:2: In procedure #<procedure 9e74470 ()>:
> substitute-binary: guix/scripts/substitute-binary.scm:634:2: Throw to key `match-error' with args `("match" "no matching pattern" ())'.

This sounds possibly related to commit 41c45e7.

> The 'guix' command being run here is using 'pre-inst-env' within a git
> checkout that's on 9d297fa but with some local commits added including
> 'wip-http-pipelining'.  The 'guix-daemon' being run is from
> guix-0.8.1.07157e8, which I suppose is using its own copy of 'guix
> substitute' (right?).

Yes, on GuixSD the daemon is using its own copy of ‘guix substitute’,
that is 07157e8.

So the problem could have to do with what the client passes with
‘set-build-options’, although I don’t know what’s going on.  Could you
try something like this:

[Message part 2 (text/x-patch, inline)]
diff --git a/guix/store.scm b/guix/store.scm
index 45c555b..35cb680 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -487,7 +487,7 @@ encoding conversion errors."
       (let ((pairs `(,@(if timeout
                            `(("build-timeout" . ,(number->string timeout)))
                            '())
-                     ("substitute-urls" . ,(string-join substitute-urls)))))
+                     ("substitute-urls" . ,(pk 'surls (string-join substitute-urls))))))
         (send (string-pairs pairs))))
     (let loop ((done? (process-stderr server)))
       (or done? (process-stderr server)))))
[Message part 3 (text/plain, inline)]
Thanks,
Ludo’.

Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Sun, 22 Mar 2015 22:46:01 GMT) Full text and rfc822 format available.

Notification sent to Mark H Weaver <mhw <at> netris.org>:
bug acknowledged by developer. (Sun, 22 Mar 2015 22:46:02 GMT) Full text and rfc822 format available.

Message #13 received at 20163-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw <at> netris.org>
Cc: 20163-done <at> debbugs.gnu.org
Subject: Re: bug#20163: substitute-binary fails when attempting to reconfigure
Date: Sun, 22 Mar 2015 23:45:46 +0100
This is fixed by commit 4d58122.

The problem was that for clients running as ‘root’, the
“substitute-urls” value that the client passes overrides that of the
daemon.  And the client’s default value was the empty list, which
‘substitute-binary’ currently rejects.

Thank you!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 20 Apr 2015 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 364 days ago.

Previous Next


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