guix dies on unreachable/problematic substitute server

  • Open
  • quality assurance status badge
Details
2 participants
  • Maxim Cournoyer
  • zimoun
Owner
unassigned
Submitted by
Maxim Cournoyer
Severity
normal
Merged with
M
M
Maxim Cournoyer wrote on 8 May 2017 17:40
`guix substitute --substitute' dies on unreachable substitute server
(name . bug-guix)(address . bug-guix@gnu.org)
87efvzz79y.fsf@gmail.com
Problem: When using multiple substitute servers, if one of the server is
temporarily unreachable, `guix substitute --substitute' will throw an
exception. Example (while bayfront server was down, attempting to build
a package only available locally (emacs-dvc)):

Toggle snippet (20 lines)
guix package -i emacs-dvc
;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
;;; newer than compiled /home/maxim/.config/guix/latest/gnu/packages/emacs.go
;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
;;; newer than compiled /gnu/store/nqy9m6hhnkkfwr5wyq5bac96v9s9hc9i-guix-0.12.0-9.25a4/lib/guile/2.0/site-ccache/gnu/packages/emacs.go
;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
;;; newer than compiled /run/current-system/profile/lib/guile/2.0/site-ccache/gnu/packages/emacs.go
;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
;;; newer than compiled /home/maxim/.cache/guile/ccache/2.0-LE-8-2.0/home/maxim/src/guix/gnu/packages/emacs.scm.go
The following package will be installed:
emacs-dvc trunk-1.591 /gnu/store/sraxmg5qz9i4338s4ks7asgy4v68dgqs-emacs-dvc-trunk-1.591
>
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
Downloading https://bayfront.guixsd.org/nar/gzip/6h7ym07plwxfn4zq53ld8zfpbx3a09al-at-spi2-core-2.22.0 (1.1MiB installed)...
guix substitute: error: connect: No route to host
killing process 13896
killing process 13896: No such process

Expected: Since multiple substitute servers are being used, rather than
bombing out on the first unavailable one, `guix substitute --substitute'
(or any other command implicated with substitute servers) should simply
warn about it before attempting the next one.

Bonus point: `guix substitute --query' should also print a warning
message that substitute server X couldn't be reached (it doesn't print
anything about that right now, just skips to the next one).
M
M
Maxim Cournoyer wrote on 28 Oct 2017 15:31
control message for bug #26833
(address . control@debbugs.gnu.org)
87bmkr1js6.fsf@gmail.com
retitle 26833 guix dies on unreachable/problematic substitute server
M
M
Maxim Cournoyer wrote on 29 Oct 2017 17:37
control message for bug #26035
(address . control@debbugs.gnu.org)
87r2tlzz8n.fsf@gmail.com
merge 26035 26833
Z
Z
zimoun wrote on 20 Aug 2021 13:04
Re: bug#26833: `guix substitute --substitute' dies on unreachable substitute server
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
86pmu8nzrt.fsf@gmail.com
Hi Maxim,

Your recent investigation bug#30290 [0] rings this bell:


If it appears the same issue, maybe we could merge them. WDYT?

On Mon, 08 May 2017 at 08:40, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
Toggle quote (34 lines)
> Problem: When using multiple substitute servers, if one of the server is
> temporarily unreachable, `guix substitute --substitute' will throw an
> exception. Example (while bayfront server was down, attempting to build
> a package only available locally (emacs-dvc)):
>
> guix package -i emacs-dvc
> ;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
> ;;; newer than compiled /home/maxim/.config/guix/latest/gnu/packages/emacs.go
> ;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
> ;;; newer than compiled /gnu/store/nqy9m6hhnkkfwr5wyq5bac96v9s9hc9i-guix-0.12.0-9.25a4/lib/guile/2.0/site-ccache/gnu/packages/emacs.go
> ;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
> ;;; newer than compiled /run/current-system/profile/lib/guile/2.0/site-ccache/gnu/packages/emacs.go
> ;;; note: source file /home/maxim/.config/guix/latest/gnu/packages/emacs.scm
> ;;; newer than compiled /home/maxim/.cache/guile/ccache/2.0-LE-8-2.0/home/maxim/src/guix/gnu/packages/emacs.scm.go
> The following package will be installed:
> emacs-dvc trunk-1.591 /gnu/store/sraxmg5qz9i4338s4ks7asgy4v68dgqs-emacs-dvc-trunk-1.591
>>
> substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
> Downloading https://bayfront.guixsd.org/nar/gzip/6h7ym07plwxfn4zq53ld8zfpbx3a09al-at-spi2-core-2.22.0 (1.1MiB installed)...
> guix substitute: error: connect: No route to host
> killing process 13896
> killing process 13896: No such process
>
> Expected: Since multiple substitute servers are being used, rather than
> bombing out on the first unavailable one, `guix substitute --substitute'
> (or any other command implicated with substitute servers) should simply
> warn about it before attempting the next one.
>
> Bonus point: `guix substitute --query' should also print a warning
> message that substitute server X couldn't be reached (it doesn't print
> anything about that right now, just skips to the next one).


?