Hi Ludo! > Do you remember exactly under what circumstances it hangs? I think > ‘guix offload’ should handle that situation gracefully and we should fix > it if it does not.
Yeah. It happens when I have a build machine configured like so and I disconnect it from the Ethernet connection: --8<---------------cut here---------------start------------->8--- (build-machines (list #~(build-machine (name "remote") (systems (list "x86_64-linux" "i686-linux")) (host-key %remote-host-key (private-key %local-key)))) --8<---------------cut here---------------end--------------->8--- With this configuration `guix offload test` will timeout after 30 seconds, as you describe. But this other command will hang indefinitely: --8<---------------cut here---------------start------------->8--- $ timeout 1m guix build imhex -M 0 The following derivation will be built: /gnu/store/9absqzdd4ak3pms2jw6rkhlmjvm8zzyv-imhex-1.35.1.drv process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host waiting for locks or build slots... process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' guix offload: error: failed to connect to 'bordercollie': No route to host process 12199 acquired build slot '/var/guix/offload/bordercollie:22/0' --8<---------------cut here---------------end--------------->8--- `imhex` is just a package that is not yet merged upstream so no substitutes are available and the offload happens. > Right now, it sets an initial connection timeout of 30s, which is quite > long but turned out to be necessary (see ‘open-ssh-session’ in (guix > scripts offload)). If that long timeout is required, I think the snippet I propose to document will be useful for other users. Have a good night! Sergio.