‘guix substitute’ poorly handles premature TLS termination

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 27 Mar 2023 10:14
‘guix substitute’ poorly handles premature TLS termination
(address . bug-guix@gnu.org)
87lejik3us.fsf@inria.fr
I got a report showing this:

Toggle quote (5 lines)
> $ guix shell …
> […]
> substitute: mise à jour des substituts depuis « https://ci.guix.gnu.org »... 0.0 %guix substitute: erreur : Erreur TLS dans la procédure « handshake » : La connexion TLS n’a pas été terminée correctement.
> guix shell: erreur : `/gnu/store/aca6i8lqgdfy0gwd4m8ql3kv5a0gp6c9-guix-command substitute' died unexpectedly

This corresponds to GnuTLS exception ‘error/premature-termination’ while
connecting to a substitute server, from ‘fetch-narinfos’.

Why ‘handshake’ fails, I don’t know, but at any rate ‘guix substitute’
shouldn’t error out when that happens; preferably, it should skip that
substitute server and keep going, like it does for other transient
networking errors in ‘call-with-connection-error-handling’.

Ludo’.
L
L
Ludovic Courtès wrote on 28 Mar 2023 17:24
(address . 62476-done@debbugs.gnu.org)
874jq4hpb6.fsf@gnu.org
Ludovic Courtès <ludovic.courtes@inria.fr> skribis:

Toggle quote (15 lines)
> I got a report showing this:
>
>> $ guix shell …
>> […]
>> substitute: mise à jour des substituts depuis « https://ci.guix.gnu.org »... 0.0 %guix substitute: erreur : Erreur TLS dans la procédure « handshake » : La connexion TLS n’a pas été terminée correctement.
>> guix shell: erreur : `/gnu/store/aca6i8lqgdfy0gwd4m8ql3kv5a0gp6c9-guix-command substitute' died unexpectedly
>
> This corresponds to GnuTLS exception ‘error/premature-termination’ while
> connecting to a substitute server, from ‘fetch-narinfos’.
>
> Why ‘handshake’ fails, I don’t know, but at any rate ‘guix substitute’
> shouldn’t error out when that happens; preferably, it should skip that
> substitute server and keep going, like it does for other transient
> networking errors in ‘call-with-connection-error-handling’.

Fixed in af91c2d540ef437e3f663b2c18c76dc2b94e13d2.

Ludo’.
Closed
?