guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error handling when 'guix substitute' dies


From: Lars Bilke
Subject: Re: Error handling when 'guix substitute' dies
Date: Tue, 02 Apr 2024 10:42:18 +0200

Dear Ludo,

I ran the command in a loop on 4 machines for around 2 hours doing 1 request 
per machine per second but no errors occured...

On 29 Mar 2024, at 16:10, Ludovic Courtès wrote:

> Hello,
>
> Ada Stevenson <adanskana@gmail.com> skribis:
>
>>> diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
>>> index 37cd08e289..3af0bf0019 100755
>>> --- a/guix/scripts/substitute.scm
>>> +++ b/guix/scripts/substitute.scm
>>> @@ -494,7 +494,9 @@ (define* (download-nar narinfo destination
>>>     (define (try-fetch choices)
>>>       (match choices
>>>         (((uri compression file-size) rest ...)
>>> -       (guard (c ((and (pair? rest) (http-get-error? c))
>>> +       (guard (c ((and (pair? rest)
>>> +                       (or (http-get-error? c)
>>> +                           (network-error? c)))
>>>                     (warning (G_ "download from '~a' failed, trying next 
>>> URL~%")
>>>                              (uri->string uri))
>>>                     (try-fetch rest)))
>>>
>>> I’ll go ahead with this change if there are no objections.
>> Looks good to me! Thanks for looking into this :)
>
> OK, I’ll push it shortly, but…
>
> Lars Bilke <lars.bilke@ufz.de> skribis:
>
>> thanks Ada for bringing this issue up again. I get the same error on
>> `guix pull` almost always when I am on my enterprise
>> network. Re-running `guix pull` a second time also almost always then
>> runs fine. I checked with our IT: nothing suspicious on the network,
>> i.e. no firewall blocking.
>>
>> I never experienced the error on my home network.
>
> … your reports make me think there’s a bug lurking somewhere that
> perhaps only manifests under some precise networking or timing
> conditions.
>
> Could the two of you run the following command in a loop to see whether
> it’s easy to reproduce that GnuTLS error?
>
>   guile -c '(use-modules (guix http-client) (ice-9 binary-ports))
>     (get-bytevector-all (http-fetch 
> "https://ci.guix.gnu.org/nix-cache-info";))'
>
> If you can reproduce it, could you capture the strace output of the
> process?  You would run the command above prefixed by:
>
>   strace -o log.strace -s 300 …
>
> Thanks in advance!
>
> Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]