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.
s�ra�onn an sainmh�ni� ar `%T' an ceann coitianta %B: rabhadh: ceann coitianta n�os m� anseo %B: rabhadh: t� tuilleadh tagairt� do `%T' gan sainmh�ni� th�os %B: rabhadh: ilchoitianta `%T' %B: rabhadh: ceann coitianta roimhe anseo %B: rabhadh: ceann coitianta n�os l� anseo %B: rabhadh: tagairt do `%T' gan sainmh�ni� %C: N� f�idir �bhar an rann�in a fh�il - eisceacht uathiomp�rt�la %C: n� f�idir athr�g '%T' a uathiomp�rt�il. L�igh an doicim�ad� "ld" ar --enable-auto-import chun na mionsonra� a fh�il. %C: rabhadh: tagairt do `%T' gan sainmh�ni� %D: an ch�ad mh�ni� anseo %D: rabhadh: t� tuilleadh tagairt� do `%T' gan sainmh�ni� th�os %F%B: n�orbh fh�idir na siombail� a l�amh: %E %F%B: comhad gan aimsi�: %E %F%B: theip ar dh�nadh deiridh: %E %F%B: n� r�ad � ball %B sa chartlann %F%P: %s (%s): N�l a leith�id de chomhad: %E %F%P: %s: N�l a leith�id de chomhad: %E %F%P: iarracht ar nasc statach de r�ad dinimici�il `%s' a dh�anamh %F%P: theip ar bfd_hash_lookup: %E %F%P: theip ar bfd_hash_table_init: %E %F%P: theip ar bfd_record_phdr: %E %F%P: n� f�idir ainm roinnte a chruth� ar rann�n %s %F%P: n� f�idir %s a aimsi� %F%P: n� f�idir %s a aimsi� i %s %F%P: n� f�idir oibr�ochta� PE a dh�anamh ar aschomhad neamh-PE '%B'. %F%P: theip ar chl�n�il an rann�in: %E %F%P: theip ar an nascadh deiridh: %E %F%P: earr�id inmhe�nach %s %d %F%P: sprioc neamhbhail� BFD `%s' %F%P: r�iteas neamhbhail� sonra� %F%P: r�iteas neamhbhail� athshuite %F%P: st�l anaithnid d�choscartha `%s'%F%S %% le nialas %F%S / le nialas %F%S n�l sannadh don �iritheoir su�omhanna bail� taobh amuigh de RANN�N N� f�idir le %F%S sannadh a shol�thar d'�iritheoir su�omhanna %F%S n� f�idir an t-�iritheoir su�omhanna a bhogadh ar ais (� %V go %V) %F%S sannadh neamhbhail� ar �iritheoir su�omhanna %F%S slonn inathraitheach do %s %F%S: slonn seolta tagartha ar aghaidh n� slonn inathraitheach do rann�n %s %F%S: slonn inathraitheach do %s %F%S: rinneadh tagairt do r�igi�n CUIMHNE `%s' gan sainmh�ni� i slonn %F%S: rinneadh tagairt do rann�n `%s' gan sainmh�ni� i slonn %F%S: rinneadh tagairt do shiombail `%s' gan sainmh�ni� i slonn %F%S: rinneadh t
substitute: mise à jour de la liste des substituts depuis « https://berlin.guixsd.org »... 100.0% Téléchargement de « https://mirror.hydra.gnu.org/guix/nar/gzip/35bj4v3skwwdmydsndz1hj14d7p95qcb-le-certs-0 »... le-certs-0 4KiB 678KiB/s 00:00 [##################] 100.0% Mise à jour depuis le dépôt Git « https://git.savannah.gnu.org/git/guix.git »... Construction depuis le commit Git « 0017e55f892828f7a4d29a50f06e5146270ab8cb »... substitute: mise à jour de la liste des substituts depuis « https://berlin.guixsd.org »... 100.0% substitute: mise à jour de la liste des substituts depuis « https://mirror.hydra.gnu.org »... 100.0% Les dérivations suivantes seront compilées : /gnu/store/w10h032m7crrri26phj7c92l4qyy4cfl-compute-guix-derivation.drv /gnu/store/1wk5gca51dy45fxvjhci9a3vh3hdk7b4-config.scm.drv /gnu/store/83qmaffwx997kq7xb3qzanhnq4cm3zyx-module-import.drv /gnu/store/8rzprc8w88y8x8sg8jr0mh9z0d4i513l-module-import-compiled.drv 12,2 Mo seront téléchargés : /gnu/store/6mfd4f8gy11rgn2xk00cnslmrslg9w7h-guile-2.2.3 /gnu/store/ckpykvmgbrwq5ga3psrx0kh2rf0bgz43-gmp-6.1.2 /gnu/store/cvkza46yilif589vh2wcb77jsfd4pnz8-pkg-config-0.29.2 /gnu/store/d9d6fyxgxrq818bjfcw50vh23jz3jx8f-libatomic-ops-7.6.4 /gnu/store/fln814wkzzf7lqjvkaaxkhi6k52gnbg2-libffi-3.2.1 /gnu/store/fxg30w3bifq6rqzynlvnlipr36q7rgzg-libunistring-0.9.9 /gnu/store/k6pib0k4sv8f5wj7wsbfy433ffydd1i1-libgc-7.6.4 /gnu/store/qs9nkvb04s42kc85h6pzm6z2ayma1zqh-libltdl-2.4.6 Téléchargement de « https://berlin.guixsd.org/nar/gzip/d9d6fyxgxrq818bjfcw50vh23jz3jx8f-libatomic-ops-7.6.4 »... libatomic-ops-7.6.4 89KiB 1.2MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/ckpykvmgbrwq5ga3psrx0kh2rf0bgz43-gmp-6.1.2 »... gmp-6.1.2 873KiB 3.8MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/fln814wkzzf7lqjvkaaxkhi6k52gnbg2-libffi-3.2.1 »... libffi-3.2.1 59KiB 1.5MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/k6pib0k4sv8f5wj7wsbfy433ffydd1i1-libgc-7.6.4 »... libgc-7.6.4 398KiB 3.0MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/qs9nkvb04s42kc85h6pzm6z2ayma1zqh-libltdl-2.4.6 »... libltdl-2.4.6 52KiB 1.4MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/fxg30w3bifq6rqzynlvnlipr36q7rgzg-libunistring-0.9.9 »... libunistring-0.9.9 1.4MiB 5.0MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/cvkza46yilif589vh2wcb77jsfd4pnz8-pkg-config-0.29.2 »... pkg-config-0.29.2 499KiB 3.2MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/6mfd4f8gy11rgn2xk00cnslmrslg9w7h-guile-2.2.3 »... guile-2.2.3 8.3MiB 5.3MiB/s 00:02 [##################] 100.0% [ 1/39] Compiling './gnu/packages/bootstrap.scm'... [ 2/39] Compiling './gnu/packages.scm'... [ 3/39] Compiling './guix/base16.scm'... [ 4/39] Compiling './guix/base32.scm'... [ 5/39] Compiling './guix/base64.scm'... [ 6/39] Compiling './guix/build/compile.scm'... [ 7/39] Compiling './guix/build/download.scm'... [ 8/39] Compiling './guix/build/syscalls.scm'... [ 9/39] Compiling './guix/build/utils.scm'... [10/39] Compiling './guix/build-system/gnu.scm'... [11/39] Compiling './guix/build-system/trivial.scm'... [12/39] Compiling './guix/build-system.scm'... [13/39] Compiling './guix/combinators.scm'... [14/39] Compiling './guix/config.scm'... [15/39] Compiling './guix/derivations.scm'... [16/39] Compiling './guix/discovery.scm'... [17/39] Compiling './guix/download.scm'... [18/39] Compiling './guix/ftp-client.scm'... [19/39] Compiling './guix/gcrypt.scm'... [20/39] Compiling './guix/gexp.scm'... [21/39] Compiling './guix/grafts.scm'... [22/39] Compiling './guix/hash.scm'... [23/39] Compiling './guix/i18n.scm'... [24/39] Compiling './guix/licenses.scm'... [25/39] Compiling './guix/memoization.scm'... [26/39] Compiling './guix/modules.scm'... [27/39] Compiling './guix/monads.scm'... [28/39] Compiling './guix/packages.scm'... [29/39] Compiling './guix/profiles.scm'... [30/39] Compiling './guix/profiling.scm'... [31/39] Compiling './guix/progress.scm'... [32/39] Compiling './guix/records.scm'... [33/39] Compiling './guix/search-paths.scm'... [34/39] Compiling './guix/self.scm'... [35/39] Compiling './guix/serialization.scm'... [36/39] Compiling './guix/sets.scm'... [37/39] Compiling './guix/store.scm'... [38/39] Compiling './guix/ui.scm'... ;;; Failed to autoload make-session in (gnutls): ;;; missing interface for module (gnutls) ;;; Failed to autoload connection-end/client in (gnutls): ;;; missing interface for module (gnutls) ;;; ./gnu/packages.scm:92:33: warning: non-literal format string ;;; ./gnu/packages.scm:108:16: warning: non-literal format string ;;; Failed to autoload make-session in (gnutls): ;;; missing interface for module (gnutls) ;;; Failed to autoload connection-end/client in (gnutls): ;;; missing interface for module (gnutls) ;;; Failed to autoload make-session in (gnutls): ;;; missing interface for module (gnutls) ;;; Failed to autoload make-session in (gnutls): ;;; missing interface for module (gnutls) ;;; Failed to autoload connection-end/client in (gnutls): ;;; missing interface for module (gnutls) ;;; ./guix/build/download.scm:176:4: warning: possibly unbound variable `set-certificate-credentials-x509-trust-data!' ;;; ./guix/build/download.scm:182:15: warning: possibly unbound variable `make-certificate-credentials' ;;; ./guix/build/download.scm:191:20: warning: possibly unbound variable `x509-certificate-format/pem' ;;; ./guix/build/download.scm:199:2: warning: possibly unbound variable `session-peer-certificate-chain' ;;; ./guix/build/download.scm:201:5: warning: possibly unbound variable `import-x509-certificate' ;;; ./guix/build/download.scm:201:5: warning: possibly unbound variable `x509-certificate-format/der' ;;; ./guix/build/download.scm:210:10: warning: possibly unbound variable `x509-certificate-matches-hostname?' ;;; ./guix/build/download.scm:215:2: warning: possibly unbound variable `peer-certificate-status' ;;; ./guix/build/download.scm:234:13: warning: possibly unbound variable `certificate-status->string' ;;; ./guix/build/download.scm:229:20: warning: possibly unbound variable `x509-certificate-dn' ;;; ./guix/build/download.scm:246:18: warning: possibly unbound variable `make-session' ;;; ./guix/build/download.scm:246:18: warning: possibly unbound variable `connection-end/client' ;;; ./guix/build/download.scm:255:8: warning: possibly unbound variable `set-session-server-name!' ;;; ./guix/build/download.scm:255:8: warning: possibly unbound variable `server-name-type/dns' ;;; ./guix/build/download.scm:259:4: warning: possibly unbound variable `set-session-transport-fd!' ;;; ./guix/build/download.scm:260:4: warning: possibly unbound variable `set-session-default-priority!' ;;; ./guix/build/download.scm:266:4: warning: possibly unbound variable `set-session-priorities!' ;;; ./guix/build/download.scm:268:4: warning: possibly unbound variable `set-session-credentials!' ;;; ./guix/build/download.scm:272:34: warning: possibly unbound variable `make-certificate-credentials' ;;; ./guix/build/download.scm:280:8: warning: possibly unbound variable `handshake' ;;; ./guix/build/download.scm:282:15: warning: possibly unbound variable `error/warning-alert-received' ;;; ./guix/build/download.scm:287:23: warning: possibly unbound variable `alert-description->string' ;;; ./guix/build/download.scm:287:50: warning: possibly unbound variable `alert-get' ;;; ./guix/build/download.scm:288:15: warning: possibly unbound variable `handshake' ;;; ./guix/build/download.scm:303:18: warning: possibly unbound variable `session-record-port' ;;; Failed to autoload make-session in (gnutls): ;;; missing interface for module (gnutls) ;;; Failed to autoload make-session in (gnutls): ;;; missing interface for module (gnutls) ;;; Failed to autoload connection-end/client in (gnutls): ;;; missing interface for module (gnutls) ;;; ./guix/discovery.scm:89:22: warning: non-literal format string ;;; ./guix/ui.scm:169:5: warning: non-literal format string ;;; ./guix/ui.scm:314:2: warning: non-literal format string ;;; ./guix/ui.scm:332:22: warning: non-literal format string ;;; ./guix/ui.scm:360:13: warning: non-literal format string ;;; ./guix/ui.scm:353:7: warning: non-literal format string ;;; ./guix/ui.scm:348:11: warning: non-literal format string ;;; ./guix/ui.scm:384:7: warning: non-literal format string ;;; ./guix/ui.scm:468:2[39/39] Compiling './guix/utils.scm'... : warning: non-literal format string ;;; ./guix/ui.scm:470:2: warning: non-literal format string ;;; ./guix/ui.scm:578:22: warning: non-literal format string ;;; ./guix/ui.scm:581:22: warning: non-literal format string ;;; ./guix/ui.scm:691:13: warning: non-literal format string ;;; ./guix/ui.scm:866:14: warning: non-literal format string ;;; ./guix/ui.scm:886:14: warning: non-literal format string ;;; ./guix/ui.scm:1390:18: warning: non-literal format string ;;; ./guix/ui.scm:1405:10: warning: non-literal format string ;;; ./guix/ui.scm:1448:2: warning: non-literal format string ;;; ./guix/ui.scm:1464:2: warning: non-literal format string ;;; ./guix/ui.scm:1494:2: warning: non-literal format string ;;; ./guix/ui.scm:1523:2: warning: non-literal format string ;;; ./guix/ui.scm:1526:2: warning: non-literal format string ;;; ./guix/ui.scm:1545:8: warning: non-literal format string ;;; ./guix/ui.scm:1583:5: warning: non-literal format string ;;; ./guix/ui.scm:1575:5: warning: non-literal format string substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 100.0% substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 100.0% substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 100.0%% substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 100.0% / substitute: mise à jour de la liste des substituts depuis « https://berlin.guixsd.org »... 100.0% substitute: mise à jour de la liste des substituts depuis « https://mirror.hydra.gnu.org »... 100.0% Les dérivations suivantes seront compilées : /gnu/store/7m2lp4gky0rf1xjl11k6s7a77ra58vzv-guix-0017e55f8.drv /gnu/store/wcbjf8s8bbljncksz6j15xyrkddsa70y-guix-system-source.drv /gnu/store/si9sj7iv9js4gbhnlymh9n9x2j0zlavn-guix-packages-source.drv /gnu/store/rmia7n5l3inskzg2xcy7aq8fz7p2bffa-config.scm.drv /gnu/store/paksg26zb1wza0rwqizlz1h922glfpyv-guix-config-source.drv /gnu/store/f67ii7dcwc007b489aymnnb8lw6bf77r-guix-cli-source.drv /gnu/store/j15v3z067gfcg7k02wj5aijdlih32wdr-config.scm.drv /gnu/store/d9d740i4drb8rffmqzmdc8z7i1gp8gpc-guix-core-source.drv /gnu/store/6jpfwl8n5n5rk7zjwhm1309q825acnif-guix-packages-base-source.drv /gnu/store/1pfgrml3cwvdw25i3rgzzjw9wlvq2gq4-guix-extra-source.drv /gnu/store/0zyvas2zdckw65pvmy8qrjfi5kf4jc48-guix-packages.drv /gnu/store/6wr89i3fj8dixi70y7jgh2ll67c10kdf-guix-extra.drv /gnu/store/8avxjlw1dcrhpxbv4j0pphavxsniprbl-guix-system.drv /gnu/store/cr9fq5ias5gf4yvq3lc1mylns8kpk4q6-guix-core.drv /gnu/store/dsfp2wynixnidyrn6k6yby5f7srxmmjh-guix-config.drv /gnu/store/jqfv830m6bfwpmyf4b945lnvq5mkyy7b-guix-packages-base.drv /gnu/store/xk3d6l1i7j02rgnnx39f881nc73fl26y-guix-cli.drv /gnu/store/bhhgdzf4711pqaackcryvrncfw6dlajf-guix-0017e55f8-modules.drv /gnu/store/s691kw8b7jn0k4si7scc1vb5zvlq6jg2-guix-command.drv 5,0 Mo seront téléchargés : /gnu/store/2rfa6337gb84bx4f2jzn5h9wfi3lhjik-guile-git-0.0-6.36f93c1 /gnu/store/5lmr2x0cl45x0f15hsbaw4y560gnwry3-guile-ssh-0.11.2 /gnu/store/j1qxwjjpp1sil57j1z3x63x24dppa7d5-module-import /gnu/store/f7is4225529walkny9kh12isi0zn99i5-module-import-compiled /gnu/store/hc5cak3fj0dijbm86kpz2asl7ld4gf8y-libgcrypt-1.8.3 /gnu/store/n6wbbnaxb2lw29swzmvg5z7znl7kjl3a-module-import /gnu/store/xj23hgmnd4g0m9dvasy09212x6ywqgwh-module-import-compiled /gnu/store/g5vv3ay859vhgvpm28b0vwdns799k81c-guix-manual /gnu/store/wq4x3c43j8y96vn6k8h5jnd4jz6f2zvc-guix-daemon-0.14.0-12.77a1aac /gnu/store/gqqy05yadvg7afiaafymw2x4899hgr3c-libgit2-0.26.0 /gnu/store/zbbkwn1ilis6fkavs3lnpklys72khdlx-libssh-0.7.5-0.239d0f7 Téléchargement de « https://berlin.guixsd.org/nar/gzip/g5vv3ay859vhgvpm28b0vwdns799k81c-guix-manual »... guix-manual 2.1MiB 5.0MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/hc5cak3fj0dijbm86kpz2asl7ld4gf8y-libgcrypt-1.8.3 »... libgcrypt-1.8.3 611KiB 3.2MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/j1qxwjjpp1sil57j1z3x63x24dppa7d5-module-import »... module-import 416B 70KiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/wq4x3c43j8y96vn6k8h5jnd4jz6f2zvc-guix-daemon-0.14.0-12.77a1aac »... guix-daemon-0.14.0-12.77a1aac 334KiB 2.7MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/zbbkwn1ilis6fkavs3lnpklys72khdlx-libssh-0.7.5-0.239d0f7 »... libssh-0.7.5-0.239d0f7 223KiB 1.9MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/r4q5x1dc8q3g885d67m18il2d6hpbddl-libssh2-1.8.0 »... libssh2-1.8.0 274KiB 2.3MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/5lmr2x0cl45x0f15hsbaw4y560gnwry3-guile-ssh-0.11.2 »... guile-ssh-0.11.2 411KiB 2.7MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/gqqy05yadvg7afiaafymw2x4899hgr3c-libgit2-0.26.0 »... libgit2-0.26.0 606KiB 3.2MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/n6wbbnaxb2lw29swzmvg5z7znl7kjl3a-module-import »... module-import 189B 31KiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/2rfa6337gb84bx4f2jzn5h9wfi3lhjik-guile-git-0.0-6.36f93c1 »... guile-git-0.0-6.36f93c1 436KiB 2.8MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/f7is4225529walkny9kh12isi0zn99i5-module-import-compiled »... module-import-compiled 123KiB 1.6MiB/s 00:00 [##################] 100.0% Téléchargement de « https://berlin.guixsd.org/nar/gzip/xj23hgmnd4g0m9dvasy09212x6ywqgwh-module-import-compiled »... module-import-compiled 9KiB 1.5MiB/s 00:00 [##################] 100.0% 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>
