Subject: bug#42161: Confusing '' error message

From: Ludovic Courtès <[email-masked]>
Date: Thu, 02 Jul 2020 09:48:26 +0200

Hello,

Denis 'GNUtoo' Carikli <[email-masked]> skribis:

> 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

Ah, I think it’s a longstanding bug having to do with ‘--debug’ for
levels greater than 4 or something.

In general, I recommend not using ‘--debug’: it’s rarely of any use,
even for someone working on Guix (but I reckon it’s logical to give it a
try when you’re trying to debug something!).  Perhaps we should just
rename it to ‘--daemon-debug’ or something.

If you’re having troubles building your system, I’d try building with
‘-v3’ (verbose mode) for example, or ‘--on-error=debug’ if the problem
is in your ‘system.scm’ file.

> so I'm probably doing something wrong here as I'm probably not supposed
> to abuse guix system init to create chroots for lxc.

I’m not familiar with lxc, but it looks like it should work.

HTH!

Ludo’.