Subject: bug#34015: guix copy error message is quite difficult to understand

From: Clément Lassieur <[email-masked]>
Date: Thu, 10 Jan 2019 10:49:10 +0100

Hi Ludovic,

Ludovic Courtès <[email-masked]> writes:

> Hello Clément,
>
> Clément Lassieur <[email-masked]> skribis:
>
>> This is what happens when /etc/profile isn't sourced in the remote
>> non-interactive shell on guix copy.
>
> Do you know specifically which environment variable was missing and what
> caused the backtrace?

I don't know.  (I can't test right now.)

> Also, what commit are you using?  I’m asking because commit
> ed7b44370f71126087eb953f36aad8dc4c44109f changed the way we talk to a
> remote Guix over SSH.

It was 627e6d8c116573e4d76a4548282532cfe3c97d54, so I had the recent
changes.

>> I find it difficult to understand.  I think the error message should
>> lead us to a way to fix the issue.
>>
>> sending 1 store item (0 MiB) to '192.168.0.51'...
>> ;;; [2019/01/08 16:48:31.587577, 0] write_to_channel_port: [GSSH ERROR] Remote channel is closed: #<input-output: channel (open) 16bba60>
>> Backtrace:
>>           10 (primitive-load "/home/clement/.config/guix/current/bin…")
>> In guix/ui.scm:
>>   1644:12  9 (run-guix-command _ . _)
>> In ice-9/boot-9.scm:
>>     829:9  8 (catch srfi-34 #<procedure 169c020 at guix/ui.scm:622:…> …)
>>     829:9  7 (catch system-error #<procedure 169c0c0 at guix/script…> …)
>> In guix/scripts/copy.scm:
>>     80:27  6 (send-to-remote-host _ _)
>> In guix/ssh.scm:
>>     313:4  5 (send-files #<build-daemon 256.99 1694f00> _ _ # _ # _)
>> In guix/store.scm:
>>   1466:12  4 (export-paths #<build-daemon 256.99 1694f00> _ #<input…> …)
>>   1446:22  3 (export-path #<build-daemon 256.99 1694f00> _ #<input-…> …)
>>    644:13  2 (process-stderr _ _)
>>    607:10  1 (dump-port #<input-output: socket 14> #<input-output: …> …)
>> In unknown file:
>>            0 (put-bytevector #<input-output: channel (open) 16bba60> …)
>>
>> ERROR: In procedure put-bytevector:
>> Throw to key `guile-ssh-error' with args `("write_to_channel_port" "Remote channel is closed" #<input-output: channel (open) 16bba60> #f)'.
>
> I agree the message could be… ahem… clearer.  :-)

:-)

Thanks,
Clément