Subject: bug#29881: closed (Re: bug#29881: guix system reconfigure fails if config.scm contains LUKS mapped-devices)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 05 Mar 2018 09:59:02 +0000

Your bug report

#29881: Disabled fresh-auto-compile leads to ABI breakage in user config files

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29881: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29881
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29881: guix system reconfigure fails if config.scm contains LUKS mapped-devices
From: [email-masked] (Ludovic Courtès)
To: Mark H Weaver <[email-masked]>
Cc: [email-masked], Diego Nicola Barbato <[email-masked]>
Date: Mon, 05 Mar 2018 10:58:54 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

[email-masked] (Ludovic Courtès) skribis:

> Mark H Weaver <[email-masked]> skribis:
>
>> [email-masked] (Ludovic Courtès) writes:
>>
>>> Diego Nicola Barbato <[email-masked]> skribis:
>>>
>>>> When running `guix system reconfigure /etc/config.scm' as root I get the
>>>> following error:
>>>>
>>>> guix system: error: failed to load '/etc/config.scm':
>>>> /etc/config.scm:24:9: /etc/config.scm:24:9: In procedure allocate-struct: Wrong type argument in position 2: 3
>>>
>>> I’m afraid you’ll have to “rm -rf ~/.cache/guile/ccache” (Guile’s
>>> auto-compilation cache) to work around
>>> e2721a05e7d778bdf845b7cb7a42fd9f76095b69.
>>
>> FYI, more recently there has been another change that caused "guix
>> system build" to fail for me, and once again it was fixed by clearing
>> the auto-compilation cache for my system configuration.
>
> For now, in commit 92423868bc451600f8f3d93b638091d12b14b7aa, I’ve
> arranged so that auto-compilation is turned off for Guile 2.2.3 only.

[...]

> I’m not sure we can do much better for 2.2.3, or perhaps we should
> always use (compile-file file #:to 'value) in ‘load*’?

In commit f44c7aaccd1942b8bf7916e4c8bb0f8f1abfcb58 I added an explicit
‘compile-file’ call to update the cached .go file for the user’s config,
when on 2.2.3.

This should solve the problem most of the time.  The only remaining
issue is if you’re using 2.2.3 and your config spans several modules:
only the main .scm file is rebuilt, so there could be ABI issues in the
other modules.

I’m closing the bug now.

Ludo’.

Subject: guix system reconfigure fails if config.scm contains LUKS mapped-devices
From: Diego Nicola Barbato <[email-masked]>
To: [email-masked]
Date: Thu, 28 Dec 2017 23:18:04 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix,

When running `guix system reconfigure /etc/config.scm' as root I get the
following error:

guix system: error: failed to load '/etc/config.scm':
/etc/config.scm:24:9: /etc/config.scm:24:9: In procedure allocate-struct: Wrong type argument in position 2: 3

This error appears for the first time in commit
4ca90ff5976434a2b6e758df38df54387ae70c1b.  On line 24 of my config file
I have declared a mapped device of type luks-device-mapping.  If the
config file does not contain any mapped-devices declaration `guix system
reconfigure' works as expected (checked in a VM).

I run GuixSD on a x86_64 machine.

Greetings

Diego N. Barbato