GNU bug report logs - #44442
‘guix publish --cache’ can lose its daemon connection

Previous Next

Package: guix;

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

Date: Wed, 4 Nov 2020 14:49:02 UTC

Severity: normal

Tags: fixed

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 44442 in the body.
You can then email your comments to 44442 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#44442; Package guix. (Wed, 04 Nov 2020 14:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludo <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 04 Nov 2020 14:49:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: <bug-guix <at> gnu.org>
Subject: ‘guix publish --cache’ can
 lose its daemon connection
Date: Wed, 04 Nov 2020 15:48:52 +0100
With the introduction of “cache bypass” for ‘guix publish --cache’ in
commit 2b2ab7796ac186d88060793b8873fc0e21462758, ‘guix publish’ can
crash like so:

--8<---------------cut here---------------start------------->8---
$ sudo guix publish -u ludo --cache=/tmp/cache --cache-bypass-threshold=30M
guix publish: publishing /gnu/store on 0.0.0.0, port 8080
guix publish: using 'gzip' compression method, level 3
  C-c C-z
[1]+  Haltigita               sudo guix publish -u ludo --cache=/tmp/cache --cache-bypass-threshold=30M
$ bg
[1]+ sudo guix publish -u ludo --cache=/tmp/cache --cache-bypass-threshold=30M &
$ wget -O - http://localhost:8080/nar/gzip/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-foo
--2020-11-04 15:42:50--  http://localhost:8080/nar/gzip/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-foo
Ni solvigas localhost (localhost)... 127.0.0.1
Konektado al localhost (localhost)|127.0.0.1|:8080... konektita.
HTTP peto sendita, ni atendas respondon... GET /nar/gzip/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-foo
404 Not Found
2020-11-04 15:42:50 ERARO 404: Not Found.

$ wget -O - http://localhost:8080/n8awazyldv9hbzb7pjcw76hiifmvrpvd.narinfo
--2020-11-04 15:43:13--  http://localhost:8080/n8awazyldv9hbzb7pjcw76hiifmvrpvd.narinfo
Ni solvigas localhost (localhost)... 127.0.0.1
Konektado al localhost (localhost)|127.0.0.1|:8080... konektita.
HTTP peto sendita, ni atendas respondon... GET /n8awazyldv9hbzb7pjcw76hiifmvrpvd.narinfo
In guix/scripts/publish.scm:
    455:4  5 (render-narinfo/cached #<store-connection 256.99 7f24e…> …)
   460:12  4 (_ . _)
In guix/store.scm:
   1020:9  3 (_ #<store-connection 256.99 7f24eff0e320> "n8awazyldv9…")
    916:4  2 (flush)
In unknown file:
           1 (put-bytevector #<input-output: socket 15> #vu8(29 0 …) …)
In ice-9/boot-9.scm:
  1669:16  0 (raise-exception _ #:continuable? _)
In procedure fport_write: Rompita dukto
500 Internal Server Error
2020-11-04 15:43:13 ERARO 500: Internal Server Error.

$ wget -O - http://localhost:8080/n8awazyldv9hbzb7pjcw76hiifmvrpvd.narinfo
--2020-11-04 15:43:15--  http://localhost:8080/n8awazyldv9hbzb7pjcw76hiifmvrpvd.narinfo
Ni solvigas localhost (localhost)... 127.0.0.1
Konektado al localhost (localhost)|127.0.0.1|:8080... konektita.
HTTP peto sendita, ni atendas respondon... GET /n8awazyldv9hbzb7pjcw76hiifmvrpvd.narinfo
In guix/scripts/publish.scm:
    455:4  5 (render-narinfo/cached #<store-connection 256.99 7f24e…> …)
   460:12  4 (_ . _)
In guix/store.scm:
   1020:9  3 (_ #<store-connection 256.99 7f24eff0e320> "n8awazyldv9…")
    916:4  2 (flush)
In unknown file:
           1 (put-bytevector #<input-output: socket 15> #vu8(29 0 …) …)
In ice-9/boot-9.scm:
  1669:16  0 (raise-exception _ #:continuable? _)
In procedure fport_write: Rompita dukto
500 Internal Server Error
2020-11-04 15:43:15 ERARO 500: Internal Server Error.

--8<---------------cut here---------------end--------------->8---

The first wget here, leads to this call in ‘render-nar/cached’:

  (hash-part->path store "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee")
  ⇒ ""

and in turn to:

  (bypass-cache? store "")
    (query-path-info store "")

at which point the daemon throws and closes the connection.

Further attempts to access the store all lead to EPIPE as shown above.
At this point, ‘guix publish’ can only serve what’s already cached.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#44442; Package guix. (Wed, 04 Nov 2020 15:07:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: 44442 <at> debbugs.gnu.org
Subject: Re: bug#44442: ‘guix publish --cache’ can lose its daemon connection
Date: Wed, 04 Nov 2020 16:06:46 +0100
Ludovic Courtès <ludo <at> gnu.org> skribis:

> With the introduction of “cache bypass” for ‘guix publish --cache’ in
> commit 2b2ab7796ac186d88060793b8873fc0e21462758, ‘guix publish’ can
> crash like so:

Fixed in 5e7cf66fb35780f930ad0bc5fe21ac330df4411d.

I’ll update the ‘guix’ package.

Ludo’.




Added tag(s) fixed. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 04 Nov 2020 15:08:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 44442 <at> debbugs.gnu.org and Ludovic Courtès <ludo <at> gnu.org> Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 04 Nov 2020 15:08: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. (Thu, 03 Dec 2020 12:24:06 GMT) Full text and rfc822 format available.

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

Previous Next


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