Subject: bug#41929: backtrace when building os on a foreign distro

From: Jan Synacek <[email-masked]>
Date: Thu, 18 Jun 2020 09:29:24 +0200

$ cat guix-os.scm 
(use-modules (gnu bootloader)
	     (gnu bootloader grub)
	     (gnu system file-systems))

(operating-system
  (host-name "jsynacek-guix-os")
  (timezone "Europe/Prague")
  (locale "en_US.utf8")
  (bootloader
    (bootloader-configuration
      (bootloader grub-efi-bootloader)
      (target "/dev/sdx")))
  (file-systems
    (list (file-system (mount-point "/home")
                       (device "/dev/sda33")
                       (type "ext4")))))

$ guix system build guix-os.scm 
Backtrace:
In ice-9/boot-9.scm:
  1736:10  4 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In unknown file:
           3 (apply-smob/0 #<thunk 7f62f6eb0940>)
In ice-9/boot-9.scm:
    718:2  2 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
    619:8  1 (_ #(#(#<directory (guile-user) 7f62f6ad3f00>)))
In guix/ui.scm:
  1936:12  0 (run-guix-command _ . _)

guix/ui.scm:1936:12: In procedure run-guix-command:
In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f

Note that 'guix system init ...' and maybe other commands don't work
too. 'guix system vm' with the above config file works without a
backtrace.

This is on guix 1.1.0 running on Fedora 32. I also tried to 'guix pull'
but the result is the same.

-- 
Jan Synacek
Software Engineer, Red Hat