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.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Julien Lepiller <julien <at> lepiller.eu>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#31843: closed (guix pull corrupted current guix)
Date: Fri, 15 Jun 2018 15:40:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 15 Jun 2018 17:39:04 +0200
with message-id <c19c61a6211b7cccfd9f5172d4526bdb <at> lepiller.eu>
and subject line Re: bug#31843: guix pull corrupted current guix
has caused the debbugs.gnu.org bug report #31843,
regarding guix pull corrupted current guix
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
31843: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31843
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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 3 (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)]
[Message part 6 (message/rfc822, inline)]
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!


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

Previous Next


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