Hi Ada,
On 2024-03-17 07:18, Ada Stevenson wrote:
Hi Guix,
I have this gripe with usability regarding using substitutes.
Sometimes, usually when I'm on an enterprise network like my
university's of library's wifi, the `guix substitute` process dies with
a "TLS error in procedure 'write_to_session_record_port': Error in the
push function" error message. My connection is rock-solid otherwise, and
sometimes it doesn't happen at all.
I'm not sure if this is a fault in the actual Guix code, or there's some
Guile library somewhere that has this bug. Anyway, I think it would be a
useful feature to have a way to automatically restart the `guix
substitute` process or otherwise recover from this error. Some sort of
`--restart=no.restarts.permitted` flag. Whenever I'm updating my system
I tend to leave and do something else, and when this happens I come back
and nothing's actually been done, and the error is transient so I don't
gain anything from seeing this message.
I workaround could potentially be wrapping `guix upgrade` and the like
in a script that keeps on restarting the commands until they exit with
0. This seems a little clunky and fragile, especially if there's an
actually fatal error, eg. my config is not valid.
What do you guys think? Would this be something that people would be
interested in? Or would it be better to try and find out why there's
these transient errors (a way more time-consuming effort, I fear). Does
anyone else have this issue?
Warmly,
Ada
Yes. I do have this error in the most inconvenient moments.
This is, if I'm not mistaken, a connection error. It has been randomly
happening for long time (months?).
We should do something about this, probably handling the case a little
bit better to at least give the user useful information about what
happened to be wrong. Or take a look to the substitute servers, I think
they are the problem, more than the users' guix code.
Rerunning things, sometimes several times, finally happens to work, but
yes, this is very annoying.
Cheers,
Ekaitz