Guix commands broken

  • Done
  • quality assurance status badge
Details
3 participants
  • Andreas Enge
  • Leo Famulari
  • Ludovic Courtès
Owner
unassigned
Submitted by
Andreas Enge
Severity
normal

Debbugs page

Andreas Enge wrote 9 years ago
(address . bug-guix@gnu.org)
20160316154611.GA4049@solar
Hello,

sorry for the vague title; it looks as if one of the recent commits broke the
daemon for me.

$ ./pre-inst-env guix build font-forge --no-substitutes
substitute: Backtrace:
substitute: In ice-9/boot-9.scm:
substitute: 63: 19 [call-with-prompt prompt0 ...]
substitute: In ice-9/eval.scm:
substitute: 432: 18 [eval # #]
substitute: In ice-9/boot-9.scm:
substitute: 2401: 17 [save-module-excursion #<procedure 1d3f940 at ice-9/boot-9.scm:4045:3 ()>]
substitute: 4050: 16 [#<procedure 1d3f940 at ice-9/boot-9.scm:4045:3 ()>]
substitute: 1724: 15 [%start-stack load-stack ...]
substitute: 1729: 14 [#<procedure 1d57ea0 ()>]
substitute: In unknown file:
substitute: ?: 13 [primitive-load "/gnu/store/3lg5c1nidbj0kjdz5b63hn3vp29kzf0s-guix-0.9.0.c3f29bc/bin/.guix-real"]
substitute: In guix/ui.scm:
substitute: 1175: 12 [run-guix-command substitute "--query"]
substitute: In ice-9/boot-9.scm:
substitute: 157: 11 [catch getaddrinfo-error ...]
substitute: 157: 10 [catch srfi-34 #<procedure 2c14080 at guix/ui.scm:411:2 ()> ...]
substitute: 157: 9 [catch system-error ...]
substitute: In guix/scripts/substitute.scm:
substitute: 946: 8 [#<procedure 2c140a0 at guix/scripts/substitute.scm:939:3 ()>]
substitute: 804: 7 [process-query "info /gnu/store/qdz5fp0g0sic5vc8ysvkbdm6yilcbl0d-fontforge-20120731-b " ...]
substitute: 633: 6 [lookup-narinfos/diverse # #]
substitute: 617: 5 [lookup-narinfos "https://hydra.gnu.org" #]
substitute: 589: 4 [fetch-narinfos "https://hydra.gnu.org" #]
substitute: 222: 3 [download-cache-info "https://hydra.gnu.org"]
substitute: In guix/records.scm:
substitute: 331: 2 [recutils->alist #<unspecified>]
substitute: In ice-9/rdelim.scm:
substitute: 184: 1 [read-line #<unspecified> trim]
substitute: In unknown file:
substitute: ?: 0 [%read-line #<unspecified>]
substitute:
substitute: ERROR: In procedure %read-line:
substitute: ERROR: In procedure %read-line: Wrong type argument in position 1 (expecting open input port): #<unspecified>
guix build: error: corrupt input while restoring archive from #<closed: file 0>

This is with commit 23d60ba65c137abf472a25db7317154abfc4af4d, and I also just
reconfigured my system to profit from the most recent updates to the daemon,
which would allow me to drop typing the "--substitute-urls=..." over and over
again.

If I understood the commit messages correctly, a mirror should be used instead
of the above https://hydra.gnu.org.

Even "./pre-inst-env guix system reconfigure ... --no-substitutes" is broken
with the same message, even after doing a ./bootstrap and complete
recompilation.

Time to go back to a previous system...

Andreas
Leo Famulari wrote 9 years ago
(name . Andreas Enge)(address . andreas@enge.fr)(address . 23030@debbugs.gnu.org)
20160317054621.GA9075@jasmine
On Wed, Mar 16, 2016 at 04:46:11PM +0100, Andreas Enge wrote:
Toggle quote (42 lines)
> Hello,
>
> sorry for the vague title; it looks as if one of the recent commits broke the
> daemon for me.
>
> $ ./pre-inst-env guix build font-forge --no-substitutes
> substitute: Backtrace:
> substitute: In ice-9/boot-9.scm:
> substitute: 63: 19 [call-with-prompt prompt0 ...]
> substitute: In ice-9/eval.scm:
> substitute: 432: 18 [eval # #]
> substitute: In ice-9/boot-9.scm:
> substitute: 2401: 17 [save-module-excursion #<procedure 1d3f940 at ice-9/boot-9.scm:4045:3 ()>]
> substitute: 4050: 16 [#<procedure 1d3f940 at ice-9/boot-9.scm:4045:3 ()>]
> substitute: 1724: 15 [%start-stack load-stack ...]
> substitute: 1729: 14 [#<procedure 1d57ea0 ()>]
> substitute: In unknown file:
> substitute: ?: 13 [primitive-load "/gnu/store/3lg5c1nidbj0kjdz5b63hn3vp29kzf0s-guix-0.9.0.c3f29bc/bin/.guix-real"]
> substitute: In guix/ui.scm:
> substitute: 1175: 12 [run-guix-command substitute "--query"]
> substitute: In ice-9/boot-9.scm:
> substitute: 157: 11 [catch getaddrinfo-error ...]
> substitute: 157: 10 [catch srfi-34 #<procedure 2c14080 at guix/ui.scm:411:2 ()> ...]
> substitute: 157: 9 [catch system-error ...]
> substitute: In guix/scripts/substitute.scm:
> substitute: 946: 8 [#<procedure 2c140a0 at guix/scripts/substitute.scm:939:3 ()>]
> substitute: 804: 7 [process-query "info /gnu/store/qdz5fp0g0sic5vc8ysvkbdm6yilcbl0d-fontforge-20120731-b " ...]
> substitute: 633: 6 [lookup-narinfos/diverse # #]
> substitute: 617: 5 [lookup-narinfos "https://hydra.gnu.org" #]
> substitute: 589: 4 [fetch-narinfos "https://hydra.gnu.org" #]
> substitute: 222: 3 [download-cache-info "https://hydra.gnu.org"]
> substitute: In guix/records.scm:
> substitute: 331: 2 [recutils->alist #<unspecified>]
> substitute: In ice-9/rdelim.scm:
> substitute: 184: 1 [read-line #<unspecified> trim]
> substitute: In unknown file:
> substitute: ?: 0 [%read-line #<unspecified>]
> substitute:
> substitute: ERROR: In procedure %read-line:
> substitute: ERROR: In procedure %read-line: Wrong type argument in position 1 (expecting open input port): #<unspecified>
> guix build: error: corrupt input while restoring archive from #<closed: file 0>

This looks like the same error as in http://bugs.gnu.org/22937, which
I am also getting when I try to fetch substitutes over https.

Toggle quote (20 lines)
>
> This is with commit 23d60ba65c137abf472a25db7317154abfc4af4d, and I also just
> reconfigured my system to profit from the most recent updates to the daemon,
> which would allow me to drop typing the "--substitute-urls=..." over and over
> again.
>
> If I understood the commit messages correctly, a mirror should be used instead
> of the above https://hydra.gnu.org.
>
> Even "./pre-inst-env guix system reconfigure ... --no-substitutes" is broken
> with the same message, even after doing a ./bootstrap and complete
> recompilation.
>
> Time to go back to a previous system...
>
> Andreas
>
>
>
>
Ludovic Courtès wrote 9 years ago
(name . Leo Famulari)(address . leo@famulari.name)
874mc5v6ek.fsf@gnu.org
Leo Famulari <leo@famulari.name> skribis:

Toggle quote (3 lines)
> This looks like the same error as in http://bugs.gnu.org/22937, which
> I am also getting when I try to fetch substitutes over https.

Indeed. Commit df061d079b50111280aa7209b3b3c4cf21fde218 changes the
default substitute URLs to https.

For this to work, you need to make sure that guix-daemon is running
‘guix substitute’ with the fix for #22937.

On GuixSD, it’s a matter of reconfiguring (I updated the ‘guix-devel’
snapshot on master yesterday.)

HTH!

Ludo’.
Andreas Enge wrote 9 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)
20160317104401.GB11420@solar
On Thu, Mar 17, 2016 at 09:46:11AM +0100, Ludovic Courtès wrote:
Toggle quote (7 lines)
> Indeed. Commit df061d079b50111280aa7209b3b3c4cf21fde218 changes the
> default substitute URLs to https.
> For this to work, you need to make sure that guix-daemon is running
> ‘guix substitute’ with the fix for #22937.
> On GuixSD, it’s a matter of reconfiguring (I updated the ‘guix-devel’
> snapshot on master yesterday.)

I see! I am always assuming that when I reconfigure, the current copy of guix
(the one from guix pull, or the one from git) is used in the resulting system
to run guix and the daemon afterwards, while in reality it is the latest guix
snapshot before that. So reconfiguring does not work unless the snapshot is
also updated.

Now to make things work in this particular case, one also needs to give
"--substitute-urls=http://..." to the "guix system reconfigure" command
to turn off https.

Adding only "--no-substitutes" is not enough; I presume this is due to the
"feature" of grafts only partially honouring this parameter, as already
discussed.

Andreas
Andreas Enge wrote 9 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 23030@debbugs.gnu.org)
20160317130117.GA12587@solar
Things work for me now, thanks for the help!

However, I am still seeing this with latest git:
substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%


Andreas
Ludovic Courtès wrote 9 years ago
(name . Andreas Enge)(address . andreas@enge.fr)(address . 23030-done@debbugs.gnu.org)
87zitr5vzc.fsf@gnu.org
Andreas Enge <andreas@enge.fr> skribis:

Toggle quote (7 lines)
> Things work for me now, thanks for the help!
>
> However, I am still seeing this with latest git:
> substitute: updating list of substitutes from 'https://hydra.gnu.org'... 100.0%
>
> Should this not be https://mirror.hydra.gnu.org?

The daemon’s default setting is to use the two URLs: first mirror.*,
then hydra.*.

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 23030@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 23030
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help