Subject: Re: bug#48496: Guix reconfigure fails to switch to new system

From: Simon Streit <[email-masked]>
Date: Mon, 31 May 2021 21:36:15 +0200

Ludovic Courtès <[email-masked]> writes:

> Hi Simon & Tobias,
>
> Ludovic Courtès <[email-masked]> skribis:
>
>> Tobias Geerinckx-Rice <[email-masked]> skribis:
>>
>>> Simon Streit 写道：
>>>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>>>> no code for module (system repl error-handling)
>>>
>>> Thank you for reporting this.  With commit
>>> 5fa46ca96da90ec19e32cc4d726f099d0979d60b on master, the system
>>> tests that failed for me with this error no longer do.
>>
>> What system tests were failing?
>>
>> At first sight I don’t see how a67c00f4f7ee0a70fce14a7e1907cce332c85813
>> led to this:
>>
>> activating system...
>> Backtrace:
>> In ice-9/boot-9.scm:
>>   3422:24 19 (_)
>>    222:29 18 (map1 (((gnu system accounts)) ((gnu build accounts)) …))
>>    222:29 17 (map1 (((gnu build accounts)) ((gnu build #)) ((# …)) …))
>>    222:17 16 (map1 (((gnu build linux-boot)) ((guix build utils)) # …))
>>   3326:17 15 (resolve-interface (gnu build linux-boot) #:select _ # _ …)
>> In ice-9/threads.scm:
>>     390:8 14 (_ _)
>> In ice-9/boot-9.scm:
>>   3252:13 13 (_)
>> In ice-9/threads.scm:
>>     390:8 12 (_ _)
>> In ice-9/boot-9.scm:
>>   3536:20 11 (_)
>>    2835:4 10 (save-module-excursion #<procedure 7f9a73ee5b70 at ice-…>)
>>   3556:26  9 (_)
>> In unknown file:
>>            8 (primitive-load-path "gnu/build/linux-boot" #<procedure…>)
>> In gnu/build/linux-boot.scm:
>>      22:0  7 (_)
>> In ice-9/boot-9.scm:
>>    3409:4  6 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
>>   3422:24  5 (_)
>>    222:29  4 (map1 (((rnrs io ports)) ((system repl #)) ((srfi #)) …))
>>    222:17  3 (map1 (((system repl error-handling)) ((srfi srfi-1)) …))
>>    3329:6  2 (resolve-interface (system repl error-handling) #:select …)
>>   1685:16  1 (raise-exception _ #:continuable? _)
>>   1685:16  0 (raise-exception _ #:continuable? _)
>>
>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> no code for module (system repl error-handling)
>
> I’ve tried several system tests and manually running a system in a VM,
> with a67c00f4f7ee0a70fce14a7e1907cce332c85813 reinstated, and cannot
> reproduce the issue.
>
> Do you know of a way to reproduce it?

I just managed to reproduce this very same error message after
downgrading to commit a67c00f4f7ee0a70fce14a7e1907cce332c85813 (I lost
the previous system a couple of days ago), and it threw this error after
trying to reconfigure.  Given that it is complaining about srfi-1, I
disabled everything that was relevant to it, and it still fails.
>
> The IRC log <https://logs.guix.gnu.org/guix/2021-05-18.log> suggests
> that a couple of people experienced the issue on that day, but pastes
> are no longer accessible.

Just to be sure I'll paste my error message again: 
--8<---------------cut here---------------start------------->8---
~ $ sudo guix system reconfigure --allow-downgrades
guix system: warning: rolling back channel 'guix' from b7664dfb780336114c229683b87d3564e9a72268 to a67c00f4f7ee0a70fce14a7e1907cce332c85813
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/asgn7g5mj2lwm0699hvlwwvjs19rfw2z-system.drv
   /gnu/store/2lx0dck2pm65hgp02s1ldcx8nhlmph00-provenance.drv
   /gnu/store/5jz1m453prfb9g8m1klgdqb6nsigpx7c-profile.drv
   /gnu/store/g14nbwf930yiajyg6pvkwzyw533rvdrw-grub.cfg.drv

building /gnu/store/2lx0dck2pm65hgp02s1ldcx8nhlmph00-provenance.drv...
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
generating GLib schema cache...
creating GTK+ icon theme cache...
building cache files for GTK+ input methods...
building directory of Info manuals...
building database for manual pages...
building XDG desktop file cache...
building XDG MIME database...
building profile with 98 packages...
building /gnu/store/asgn7g5mj2lwm0699hvlwwvjs19rfw2z-system.drv...
building /gnu/store/g14nbwf930yiajyg6pvkwzyw533rvdrw-grub.cfg.drv...
/gnu/store/yrbsyghfckd1319khs36iwhrcmpdjzs4-system
/gnu/store/9vcl1in6398kkq3hcra6kyivpq476gag-grub.cfg

activating system...
The following derivation will be built:
   /gnu/store/16fk787qz7dbgillrrc1kh64ax82fdfc-switch-to-system.scm.drv

building /gnu/store/16fk787qz7dbgillrrc1kh64ax82fdfc-switch-to-system.scm.drv...
Backtrace:
In ice-9/boot-9.scm:
  3422:24 19 (_)
   222:29 18 (map1 (((gnu system accounts)) ((gnu build accounts)) …))
   222:29 17 (map1 (((gnu build accounts)) ((gnu build #)) ((# …)) …))
   222:17 16 (map1 (((gnu build linux-boot)) ((guix build utils)) # …))
  3326:17 15 (resolve-interface (gnu build linux-boot) #:select _ # _ …)
In ice-9/threads.scm:
    390:8 14 (_ _)
In ice-9/boot-9.scm:
  3252:13 13 (_)
In ice-9/threads.scm:
    390:8 12 (_ _)
In ice-9/boot-9.scm:
  3536:20 11 (_)
   2835:4 10 (save-module-excursion #<procedure 7f3334e7b7e0 at ice-…>)
  3556:26  9 (_)
In unknown file:
           8 (primitive-load-path "gnu/build/linux-boot" #<procedure…>)
In gnu/build/linux-boot.scm:
     22:0  7 (_)
In ice-9/boot-9.scm:
   3409:4  6 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
  3422:24  5 (_)
   222:29  4 (map1 (((rnrs io ports)) ((system repl #)) ((srfi #)) …))
   222:17  3 (map1 (((system repl error-handling)) ((srfi srfi-1)) …))
   3329:6  2 (resolve-interface (system repl error-handling) #:select …)
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
no code for module (system repl error-handling)
--8<---------------cut here---------------end--------------->8---

Cheers
Simon