--- Begin Message ---
Subject: |
Confusing '' error message |
Date: |
Thu, 2 Jul 2020 06:40:45 +0200 |
Hi,
When doing guix system system.scm /path/to/empty/directory, I have the
following error message:
> # guix system --verbosity=99 --debug=99 --no-bootloader init
> system.scm /srv/distros/guix/ guile: warning: failed to install locale
> acquiring global GC lock `/var/guix/gc.lock'
> acquiring read lock on `/var/guix/temproots/14408'
> acquiring write lock on `/var/guix/temproots/14408'
[...]
> acquiring write lock on `/var/guix/temproots/14408'
> downgrading to read lock on `/var/guix/temproots/14408'
> Backtrace:
> 1 (primitive-load "/root/.config/guix/current/bin/guix")
> In guix/ui.scm:
> 1949:12 0 (run-guix-command _ . _)
>
> guix/ui.scm:1949:12: In procedure run-guix-command:
> In procedure struct-vtable: Wrong type argument in position 1
> (expecting struct): #f
so I'm probably doing something wrong here as I'm probably not supposed
to abuse guix system init to create chroots for lxc.
However the issue is that there is no clear error message nor backtrace
telling me what exactly is wrong here. I don't even have a line in my
file that tells me what line is wrong.
I've attached the system.scm used for reference.
Denis.
system.scm
Description: Text Data
pgp2S50l0VTYW.pgp
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#42161: Confusing 'guix system' backtrace when root file system is missing |
Date: |
Sun, 10 Jan 2021 14:26:21 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hello Ludovic,
Ludovic Courtès <ludo@gnu.org> writes:
> Hi,
>
> Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> skribis:
>
>> And again I've the same error:
>>> guix system --on-error=debug -v3 --no-bootloader init system.scm
>>> /mnt/ guile: warning: failed to install locale
>>> Backtrace:
>>> 1 (primitive-load "/root/.config/guix/current/bin/guix")
>>> In guix/ui.scm:
>>> 1949:12 0 (run-guix-command _ . _)
>>>
>>> guix/ui.scm:1949:12: In procedure run-guix-command:
>>> In procedure struct-vtable: Wrong type argument in position 1
>>> (expecting struct): #f
>>
>> Is that part of my system.scm really correct:
>>> (file-systems %base-file-systems)
>>
>> I hope that I'm not polluting bugreports for issues that I'm responsible
>> of, but I don't have enough knowledge to know that in advance, and I
>> was advised to bugreport on #guix IRC channel.
>
> Sorry for taking so long to get back to you. You were right: the root
> cause here is that the ‘file-systems’ field does not specify a root file
> system.
>
> Could you add one and let me know how it goes?
>
> I’ve done two things to improve the situation:
>
> 1. Commit a168c3e4f8d580f70e1c26bcdfc5b8378b2fa42d fixes a
> longstanding issues where we’d get useless backtraces like the one
> above in such circumstances.
>
> 2. Commit d7e9e0bbc9aadec3e1830767a8771bfbe9c43155 changes ‘guix
> system’ so that a “missing root file system” error message is
> printed in this case.
It seems you've addressed the problem thoroughly, thank you!
Closing,
Maxim
--- End Message ---