guix copy fails

  • Open
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Mark H Weaver
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Ricardo Wurmus
Severity
normal
R
R
Ricardo Wurmus wrote on 17 Dec 2018 19:40
(address . bug-guix@gnu.org)
87imzsuhdf.fsf@elephly.net
I’m trying to copy a system to my weak i686 system on which I couldn’t
build it. Here’s the command I tried along with the backtrace I get:

Toggle snippet (23 lines)
~/dev/gx/branches/master/pre-inst-env guix copy --to=elephly.net:1022 /gnu/store/b10q1d2hks78i6vbjwrf71xxsyc1xb95-system
Backtrace:
8 (apply-smob/1 #<catch-closure 1194140>)
In ice-9/boot-9.scm:
705:2 7 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
619:8 6 (_ #(#(#<directory (guile-user) 1226140>)))
In guix/ui.scm:
1603:12 5 (run-guix-command _ . _)
In ice-9/boot-9.scm:
829:9 4 (catch srfi-34 #<procedure 147d040 at guix/ui.scm:615:2 ()> #<procedure 7f4939f53498 at guix/ui.scm:6…> …)
829:9 3 (catch system-error #<procedure 147d0e0 at guix/scripts/copy.scm:163:2 ()> #<procedure 7f4939f534b0 a…> …)
In guix/scripts/copy.scm:
80:27 2 (send-to-remote-host _ _)
In guix/ssh.scm:
281:18 1 (send-files #<build-daemon 256.99 1803f50> _ _ #:recursive? _ #:log-port _)
In unknown file:
0 (length #<unspecified>)

ERROR: In procedure length:
In procedure length: Wrong type argument in position 1: #<unspecified>

--
Ricardo
L
L
Ludovic Courtès wrote on 17 Dec 2018 23:10
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 33778@debbugs.gnu.org)
8736qv24an.fsf@gnu.org
Hi,

Ricardo Wurmus <rekado@elephly.net> skribis:

Toggle quote (22 lines)
> ~/dev/gx/branches/master/pre-inst-env guix copy --to=elephly.net:1022 /gnu/store/b10q1d2hks78i6vbjwrf71xxsyc1xb95-system
> Backtrace:
> 8 (apply-smob/1 #<catch-closure 1194140>)
> In ice-9/boot-9.scm:
> 705:2 7 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
> In ice-9/eval.scm:
> 619:8 6 (_ #(#(#<directory (guile-user) 1226140>)))
> In guix/ui.scm:
> 1603:12 5 (run-guix-command _ . _)
> In ice-9/boot-9.scm:
> 829:9 4 (catch srfi-34 #<procedure 147d040 at guix/ui.scm:615:2 ()> #<procedure 7f4939f53498 at guix/ui.scm:6…> …)
> 829:9 3 (catch system-error #<procedure 147d0e0 at guix/scripts/copy.scm:163:2 ()> #<procedure 7f4939f534b0 a…> …)
> In guix/scripts/copy.scm:
> 80:27 2 (send-to-remote-host _ _)
> In guix/ssh.scm:
> 281:18 1 (send-files #<build-daemon 256.99 1803f50> _ _ #:recursive? _ #:log-port _)
> In unknown file:
> 0 (length #<unspecified>)
>
> ERROR: In procedure length:
> In procedure length: Wrong type argument in position 1: #<unspecified>

The #<unspecified> comes from the ‘node-eval’ code right above line 281
of guix/ssh.scm.

Could it be that the (guix …) modules were not found on the target
machine, or that guix-daemon was not running there?

Thanks,
Ludo’.
M
M
Mark H Weaver wrote on 18 Dec 2018 22:20
(name . Ludovic Courtès)(address . ludo@gnu.org)
87pntyjzva.fsf@netris.org
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (30 lines)
> Ricardo Wurmus <rekado@elephly.net> skribis:
>
>> ~/dev/gx/branches/master/pre-inst-env guix copy --to=elephly.net:1022 /gnu/store/b10q1d2hks78i6vbjwrf71xxsyc1xb95-system
>> Backtrace:
>> 8 (apply-smob/1 #<catch-closure 1194140>)
>> In ice-9/boot-9.scm:
>> 705:2 7 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
>> In ice-9/eval.scm:
>> 619:8 6 (_ #(#(#<directory (guile-user) 1226140>)))
>> In guix/ui.scm:
>> 1603:12 5 (run-guix-command _ . _)
>> In ice-9/boot-9.scm:
>> 829:9 4 (catch srfi-34 #<procedure 147d040 at guix/ui.scm:615:2 ()> #<procedure 7f4939f53498 at guix/ui.scm:6…> …)
>> 829:9 3 (catch system-error #<procedure 147d0e0 at guix/scripts/copy.scm:163:2 ()> #<procedure 7f4939f534b0 a…> …)
>> In guix/scripts/copy.scm:
>> 80:27 2 (send-to-remote-host _ _)
>> In guix/ssh.scm:
>> 281:18 1 (send-files #<build-daemon 256.99 1803f50> _ _ #:recursive? _ #:log-port _)
>> In unknown file:
>> 0 (length #<unspecified>)
>>
>> ERROR: In procedure length:
>> In procedure length: Wrong type argument in position 1: #<unspecified>
>
> The #<unspecified> comes from the ‘node-eval’ code right above line 281
> of guix/ssh.scm.
>
> Could it be that the (guix …) modules were not found on the target
> machine, or that guix-daemon was not running there?

FYI, about 5 days ago I saw the same error occur on Hydra, during a
build offloaded to guix.sjd.se. I reported it as bug #33722.


The relevant build aborted due to the error, but was later retried and
succeeded. It's the only time I've ever seen this error, so I guess
the bug is relatively new.

Mark
R
R
Ricardo Wurmus wrote on 19 Dec 2018 21:17
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 33778@debbugs.gnu.org)
875zvptgoc.fsf@elephly.net
Hi,

Toggle quote (3 lines)
> Could it be that the (guix …) modules were not found on the target
> machine[…]?

That’s it! The /etc/environment file does not contain lines for
GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH. I added them manually,
killed the listening Guile process, and tried again — with success.

I remembered that I added these variables to /etc/environment on all
build nodes for berlin.guix.info via a service like this:

Toggle snippet (9 lines)
(simple-service 'guile-load-path-in-global-env
session-environment-service-type
`(("GUILE_LOAD_PATH"
. "/run/current-system/profile/share/guile/site/2.2")
("GUILE_LOAD_COMPILED_PATH"
. ,(string-append "/run/current-system/profile/lib/guile/2.2/site-ccache:"
"/run/current-system/profile/share/guile/site/2.2"))))

Should this be done by default?

--
Ricardo
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 33778@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 33778
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch