GNU bug report logs - #31843
guix pull corrupted current guix

Previous Next

Package: guix;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Fri, 15 Jun 2018 11:27:02 UTC

Severity: normal

Done: Julien Lepiller <julien <at> lepiller.eu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 31843 in the body.
You can then email your comments to 31843 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#31843; Package guix. (Fri, 15 Jun 2018 11:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Lepiller <julien <at> lepiller.eu>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 15 Jun 2018 11:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: bug-guix <at> gnu.org
Subject: guix pull corrupted current guix
Date: Fri, 15 Jun 2018 13:25:43 +0200
[Message part 1 (text/plain, inline)]
Hi, running guix pull this morning corrupted my current guix command.

I am running on guixsd. Because I don't have a lot of memory, I sent a 
generation of .config/guix/current to the server with:

guix archive --export -r `readlink -f .config/guix/current` | ssh 
machine guix archive --import

Then, I created a link from /var/guix/gcroots to the 
.config/guix/current, and from that to the store item that was 
transferred.


This morning, I tried to run guix pull to see how far it would go (and 
if I could download some parts from hydra or berlin). As expected, it 
ran out of memory, but left my store in a state where the guix command 
linked to from .config/guix/current only contains garbage. Attached is 
the output of "guix pull --cores=1" on that machine that lead to the 
bug, and the new content of the guix command.

The corrupted file is from a store item that was present (and valid) 
before I ran guix pull, so I thought it was impossible for guix to 
modify it.

I think a fix is to remove .config/guix/current, run an older version of 
guix to try and repair the store with guix gc, and send the guix package 
from my other machine again. I haven't tried that yet, as my broken 
machine still mostly works, although I doubt it can boot now. Since I 
didn't try to fix anything, I can give more details if you want. The 
guix I used to pull is from commit 
85d79a79e4b721e24cdfb11a90beef6d566c499a, and the pulled commit is 
0017e55f892828f7a4d29a50f06e5146270ab8cb.
[guix-command (text/plain, attachment)]
[guix-pull.log (text/plain, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#31843; Package guix. (Fri, 15 Jun 2018 15:28:01 GMT) Full text and rfc822 format available.

Message #8 received at 31843 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: 31843 <at> debbugs.gnu.org
Subject: Re: bug#31843: guix pull corrupted current guix
Date: Fri, 15 Jun 2018 17:27:16 +0200
Hello,

Julien Lepiller <julien <at> lepiller.eu> skribis:

> Hi, running guix pull this morning corrupted my current guix command.

Let’s not jump to the conclusion.  :-)

> I am running on guixsd. Because I don't have a lot of memory, I sent a
> generation of .config/guix/current to the server with:
>
> guix archive --export -r `readlink -f .config/guix/current` | ssh
> machine guix archive --import

Note that you can use ‘guix copy’ instead, which avoids sending store
items already present on the target.

> This morning, I tried to run guix pull to see how far it would go (and
> if I could download some parts from hydra or berlin). As expected, it
> ran out of memory, but left my store in a state where the guix command
> linked to from .config/guix/current only contains garbage. Attached is
> the output of "guix pull --cores=1" on that machine that lead to the
> bug, and the new content of the guix command.
>
> The corrupted file is from a store item that was present (and valid)
> before I ran guix pull, so I thought it was impossible for guix to
> modify it.

[...]

> compiling...	100.0% of 1 files
> compiling...	 65.0% of 40 filesIn ice-9/boot-9.scm:
>     829:9 19 guile: symbol lookup error: /gnu/store/6mfd4f8gy11rgn2xk00cnslmrslg9w7h-guile-2.2.3/lib/libguile-2.2.so.1: undefined symbol: u8_mbtoucr
> guix pull: error: corrupt input while restoring archive from #<closed: file 31742a0>

To me, this error suggests that
/gnu/store/6mfd4f8gy11rgn2xk00cnslmrslg9w7h-guile-2.2.3 was already
corrupt at the time you run ‘guix pull’.

Did you try running ‘guix gc --verify’ on that machine (using an older
Guix)?

Are there signs in the kernel log of a file system corruption?

Thanks,
Ludo’.




Reply sent to Julien Lepiller <julien <at> lepiller.eu>:
You have taken responsibility. (Fri, 15 Jun 2018 15:40:02 GMT) Full text and rfc822 format available.

Notification sent to Julien Lepiller <julien <at> lepiller.eu>:
bug acknowledged by developer. (Fri, 15 Jun 2018 15:40:02 GMT) Full text and rfc822 format available.

Message #13 received at 31843-done <at> debbugs.gnu.org (full text, mbox):

From: Julien Lepiller <julien <at> lepiller.eu>
To: 31843-done <at> debbugs.gnu.org
Subject: Re: bug#31843: guix pull corrupted current guix
Date: Fri, 15 Jun 2018 17:39:04 +0200
Le 2018-06-15 17:27, ludo <at> gnu.org a écrit :
> Hello,
> 
> Julien Lepiller <julien <at> lepiller.eu> skribis:
> 
>> Hi, running guix pull this morning corrupted my current guix command.
> 
> Let’s not jump to the conclusion.  :-)
> 
>> I am running on guixsd. Because I don't have a lot of memory, I sent a
>> generation of .config/guix/current to the server with:
>> 
>> guix archive --export -r `readlink -f .config/guix/current` | ssh
>> machine guix archive --import
> 
> Note that you can use ‘guix copy’ instead, which avoids sending store
> items already present on the target.
> 
>> This morning, I tried to run guix pull to see how far it would go (and
>> if I could download some parts from hydra or berlin). As expected, it
>> ran out of memory, but left my store in a state where the guix command
>> linked to from .config/guix/current only contains garbage. Attached is
>> the output of "guix pull --cores=1" on that machine that lead to the
>> bug, and the new content of the guix command.
>> 
>> The corrupted file is from a store item that was present (and valid)
>> before I ran guix pull, so I thought it was impossible for guix to
>> modify it.
> 
> [...]
> 
>> compiling...	100.0% of 1 files
>> compiling...	 65.0% of 40 filesIn ice-9/boot-9.scm:
>>     829:9 19 guile: symbol lookup error: 
>> /gnu/store/6mfd4f8gy11rgn2xk00cnslmrslg9w7h-guile-2.2.3/lib/libguile-2.2.so.1: 
>> undefined symbol: u8_mbtoucr
>> guix pull: error: corrupt input while restoring archive from #<closed: 
>> file 31742a0>
> 
> To me, this error suggests that
> /gnu/store/6mfd4f8gy11rgn2xk00cnslmrslg9w7h-guile-2.2.3 was already
> corrupt at the time you run ‘guix pull’.
> 
> Did you try running ‘guix gc --verify’ on that machine (using an older
> Guix)?
> 
> Are there signs in the kernel log of a file system corruption?
> 
> Thanks,
> Ludo’.

Ok, that was it. Not guix' fault so closing this ticket :)

Thank you!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 14 Jul 2018 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 38 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.