Hello, Julien Lepiller <jul...@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’.