Subject: Re: bug#31843: guix pull corrupted current guix
From: Julien Lepiller <[email-masked]>
To: [email-masked]
Date: Fri, 15 Jun 2018 17:39:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Le 2018-06-15 17:27, [email-masked] a écrit :
> Hello,
> 
> Julien Lepiller <[email-masked]> 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!