Subject: bug#42250: offload test failure: guile bug?

From: Christopher Howard <[email-masked]>
Date: Tue, 07 Jul 2020 09:19:37 -0800

Hi, I carefully followed the instructions in "Using the Offload
Facility" section of the manual, but am getting this error when running
`guix offload test':

"""
christopher@theoden ~$ guix offload test
guix offload: testing 1 build machines defined in
'/etc/guix/machines.scm'...
guix offload: Guix is usable on '192.168.1.31' (test returned
"/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: '192.168.1.31' is running GNU Guile 3.0.4
sending 1 store item (0 MiB) to '192.168.1.31'...
exporting path `/gnu/store/rhkcw6r6jzshh56fjbb1xiyacxda635n-export-
test'
Backtrace:
           1 (primitive-load "/home/christopher/.config/guix/current…")
In guix/ui.scm:
  1953:12  0 (run-guix-command _ . _)

guix/ui.scm:1953:12: In procedure run-guix-command:
In procedure =: Wrong type argument in position 1: #f
"""

When I look up that code in my guix commit, it matches to the (apply
command-main args) line of the following:

"""
(define (run-guix-command command . args)
  "Run COMMAND with the given ARGS.  Report an error when COMMAND is
not
found."
  (define module
    (catch 'misc-error
      (lambda ()
        (resolve-interface `(guix scripts ,command)))
      (lambda -
        (format (current-error-port)
                (G_ "guix: ~a: command not found~%") command)
        (show-guix-usage))))

  (let ((command-main (module-ref module
                                  (symbol-append 'guix- command))))
    (parameterize ((program-name command))
      ;; Disable canonicalization so we don't don't stat unreasonably.
      (with-fluids ((%file-port-name-canonicalization #f))
        (dynamic-wind
          (const #f)
          (lambda ()
            (apply command-main args))
          (lambda ()
            ;; Abuse 'exit-hook' (which is normally meant to be used by
the
            ;; REPL) to run things like profiling hooks upon
completion.
            (run-hook exit-hook)))))))
"""

Here is my /etc/guix/machines.scm:

"""
guix/ui.scm:1953:12: In procedure run-guix-command:
In procedure =: Wrong type argument in position 1: #f
christopher@theoden ~/Remote$ cat /etc/guix/machines.scm
(list (build-machine
        (name "192.168.1.31")
        (system "x86_64-linux")
        (host-key
	  "ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAIKCExQEX+D8Wq2NbP5k9nPpqrA9gcWUWX3nh2os1V2Gu
root@(none)")
        (user "christopher")
        (speed 2.)))
"""

Other system info:

"""
christopher@theoden ~/Remote$ guix describe
Generation 1	Jul 03 2020 01:41:35	(current)
  guix ec70df7
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: ec70df7243b8d0892d8cec7a43a87c9740c4bfaa

christopher@theoden ~/Remote$ neofetch --stdout
christopher@theoden 
------------------- 
OS: Guix System ec70df7243b8d0892d8cec7a43a87c9740c4bfaa x86_64 
Host: OptiPlex 9020 00 
Kernel: 5.4.50-gnu 
Uptime: 3 days, 19 hours, 11 mins 
Packages: 85 (guix-system), 58 (guix-user) 
Shell: bash 5.0.16 
Resolution: 1920x1200 
DE: GNOME 
Theme: Adwaita [GTK2/3] 
Icons: Adwaita [GTK2/3] 
Terminal: .gnome-terminal 
CPU: Intel i5-4570 (4) @ 3.600GHz 
GPU: Intel HD Graphics 
GPU: AMD ATI Radeon HD 8490 / R5 235X OEM 
Memory: 3072MiB / 7872MiB 
"""

-- 
Christopher Howard
Enterprise Solutions Manager
Alaska Satellite Internet
PO Box 70, Ester, AK 99725
3239 La Ree Way, Fairbanks, AK 99709
907.451.0088
1.888.396.5623
www.alaskasatelliteinternet.com