Subject: Re: bug#53668: Updating substitutes on LAN hosts dies unexpectedly

From: Ludovic Courtès <[email-masked]>
Date: Wed, 11 May 2022 16:58:03 +0200

Hello!

Maxim Cournoyer <[email-masked]> skribis:

> Simon Streit <[email-masked]> writes:
>
>> Hello,
>>
>> quite often, and quite randomly I run into this situation that whenever
>> Guix tries to rebuild a profile, and sometimes while downloading from
>> local Guix hosts sharing their store items, the process will crash with
>> the following error:
>>
>> ~ $1 reconfigure
>> substitute: updating substitutes from 'http://192.168.0.157:3000'...  56.3%Backtrace:
>> substitute: In ice-9/boot-9.scm:
>> substitute:   1752:10 17 (with-exception-handler _ _ #:unwind? _ # _)
>> substitute: In unknown file:
>> substitute:           16 (apply-smob/0 #<thunk 7f309a1caf60>)
>> substitute: In ice-9/boot-9.scm:
>> substitute:     724:2 15 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
>> substitute: In ice-9/eval.scm:
>> substitute:     619:8 14 (_ #(#(#<directory (guile-user) 7f309a1c4c80>)))
>> substitute: In guix/ui.scm:
>> substitute:    2206:7 13 (run-guix . _)
>> substitute:   2169:10 12 (run-guix-command _ . _)
>> substitute: In ice-9/boot-9.scm:
>> substitute:   1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
>> substitute:   1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
>> substitute: In guix/scripts/substitute.scm:
>> substitute:    757:18  9 (_)
>> substitute:    348:26  8 (process-query #<output: file 4> _ #:cache-urls _ #:acl _)
>> substitute: In guix/substitutes.scm:
>> substitute:    365:27  7 (lookup-narinfos/diverse _ _ #<procedure 7f309690d320 …> …)
>> substitute:    322:31  6 (lookup-narinfos _ _ #:open-connection _ # _)
>> substitute:    245:26  5 (fetch-narinfos _ _ #:open-connection _ # _)
>> substitute: In ice-9/boot-9.scm:
>> substitute:   1685:16  4 (raise-exception _ #:continuable? _)
>> substitute:   1685:16  3 (raise-exception _ #:continuable? _)
>> substitute:   1780:13  2 (_ #<&compound-exception components: (#<&assertion-fail…>)
>> substitute:   1685:16  1 (raise-exception _ #:continuable? _)
>> substitute:   1685:16  0 (raise-exception _ #:continuable? _)
>> substitute:
>> substitute: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> substitute: Wrong type (expecting exact integer): #f
>> guix system: error: `/gnu/store/kcc8zh1fhp05wgw2m48w3gk228j39f5q-guix-1.3.0-21.e427593/bin/guix substitute' died unexpectedly
>
> I suffer from this routinely on my slow HDD machine.  I attribute the
> failure to some timeout that isn't reported correctly by guile-ssh.

Guile-SSH is not involved here though.

However, this may well be this ‘guix publish’ bug that was recently
fixed, whereby ‘guix publish’ without ‘--cache’ would send bogus HTTP
replies:

  https://issues.guix.gnu.org/54723

Could you confirm?

Ludo’.