guix copy error message is quite difficult to understand

  • Open
  • quality assurance status badge
Details
2 participants
  • Clément Lassieur
  • Ludovic Courtès
Owner
unassigned
Submitted by
Clément Lassieur
Severity
normal
C
C
Clément Lassieur wrote on 8 Jan 2019 17:02
(address . bug-guix@gnu.org)
87bm4rnnnf.fsf@lassieur.org
Hi,

This is what happens when /etc/profile isn't sourced in the remote
non-interactive shell on guix copy.

I find it difficult to understand. I think the error message should
lead us to a way to fix the issue.

Toggle snippet (25 lines)
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)'.

Cheers,
Clément
L
L
Ludovic Courtès wrote on 9 Jan 2019 22:22
(name . Clément Lassieur)(address . clement@lassieur.org)(address . 34015@debbugs.gnu.org)
87imyx1q7d.fsf@gnu.org
Hello Clément,

Clément Lassieur <clement@lassieur.org> skribis:

Toggle quote (3 lines)
> 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?

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

Toggle quote (27 lines)
> 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,
Ludo’.
C
C
Clément Lassieur wrote on 10 Jan 2019 10:49
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 34015@debbugs.gnu.org)
87h8egalm1.fsf@lassieur.org
Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (10 lines)
> Hello Clément,
>
> Clément Lassieur <clement@lassieur.org> 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.)

Toggle quote (4 lines)
> 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.

Toggle quote (29 lines)
>> 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
?