GNU bug report logs -
#20163
substitute-binary fails when attempting to reconfigure
Previous Next
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.
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):
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):
[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):
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 10 years and 58 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.