Hello Guix developers!
I am writing to report several issues trying to `guix pull` and subsequently `guix package -u` on my X200 (so not the most powerful machine, but a lovely one).
This machine is running Trisquel, with Guix on foreign distro.
So I did a `guix pull`, which went through, and after which the channels are (`guix describe --format=channels` output):
~~~~ (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (branch "master") (commit "bf96496f177c961260523ada850d10a057f9032a") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) ~~~~
Then I did `guix package -u` to update installed packages.
However, I ran into an error:
~~~~ The following packages will be upgraded: font-dejavu (dependencies or package changed) font-fira-code (dependencies or package changed) font-fira-mono (dependencies or package changed) font-fira-sans (dependencies or package changed) font-iosevka (dependencies or package changed) font-iosevka-aile (dependencies or package changed) font-iosevka-etoile (dependencies or package changed) font-iosevka-slab (dependencies or package changed) font-iosevka-term (dependencies or package changed) font-iosevka-term-slab (dependencies or package changed) font-wqy-microhei (dependencies or package changed) font-wqy-zenhei (dependencies or package changed) glibc-locales 2.35 → 2.39 guile (dependencies or package changed) guile-colorized (dependencies or package changed) guile-fibers (dependencies or package changed) guile-readline (dependencies or package changed) keepassxc 2.7.5 → 2.7.9 lyx (dependencies or package changed) openvpn 2.5.8 → 2.6.12 python (dependencies or package changed) substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% 91,9 MB will be downloaded glibc-locales-2.39 11.2MiB 510KiB/s 00:23 ▕██████████████████▏ 100.0% attr-2.5.1 68KiB 1007KiB/s 00:00 ▕██████████████████▏ 100.0% bdb-6.2.32 1.0MiB 893KiB/s 00:01 ▕██████████████████▏ 100.0% acl-2.3.1 126KiB 686KiB/s 00:00 ▕██████████████████▏ 100.0% cups-minimal-2.4.9 4.9MiB 1.0MiB/s 00:05 ▕██████████████████▏ 100.0% coreutils-9.1 2.4MiB 994KiB/s 00:03 ▕██████████████████▏ 100.0% grep-3.11 225KiB 949KiB/s 00:00 ▕██████████████████▏ 100.0% jbig2dec-0.19 67KiB 991KiB/s 00:00 ▕██████████████████▏ 100.0% libcap-ng-0.8.3 47KiB 925KiB/s 00:00 ▕██████████████████▏ 100.0% libexif-0.6.24 461KiB 1.0MiB/s 00:00 ▕██████████████████▏ 100.0% libmnl-1.0.5 18KiB 2.1MiB/s 00:00 ▕██████████████████▏ 100.0% libpaper-2.0.0 30KiB 1.6MiB/s 00:00 ▕██████████████████▏ 100.0% libnftnl-1.2.3 73KiB 1007KiB/s 00:00 ▕██████████████████▏ 100.0% libtiff-4.4.0 403KiB 866KiB/s 00:00 ▕██████████████████▏ 100.0% iptables-1.8.8 363KiB 1.2MiB/s 00:00 ▕██████████████████▏ 100.0% ghostscript-with-cups-9.56.1 11.5MiB 1007KiB/s 00:12 ▕██████████████████▏ 100.0% iproute2-6.4.0 974KiB 959KiB/s 00:01 ▕██████████████████▏ 100.0% lcms-2.13.1 193KiB 1.0MiB/s 00:00 ▕██████████████████▏ 100.0% Backtrace: 16 (primitive-load "/gnu/store/vkyprwq3g00ki69ahby3mhdxa65…") In guix/ui.scm: 2275:7 15 (run-guix . _) 2238:10 14 (run-guix-command _ . _) In ice-9/boot-9.scm: 1752:10 13 (with-exception-handler _ _ #:unwind? _ # _) 1752:10 12 (with-exception-handler _ _ #:unwind? _ # _) In guix/scripts/substitute.scm: 856:15 11 (_) 650:2 10 (process-substitution _ _ _ #:cache-urls _ #:acl _ # _ # …) In ice-9/boot-9.scm: 1752:10 9 (with-exception-handler _ _ #:unwind? _ # _) In guix/scripts/substitute.scm: 467:7 8 (download-nar #<<narinfo> path: "/gnu/store/bqk5b108p6…> …) In ice-9/boot-9.scm: 1747:15 7 (with-exception-handler #<procedure 7f3fc999ede0 at ic…> …) 1685:16 6 (raise-exception _ #:continuable? _) 1683:16 5 (raise-exception _ #:continuable? _) 1685:16 4 (raise-exception _ #:continuable? _) 1780:13 3 (_ #<&compound-exception components: (#<&error> #<&irri…>) 1685:16 2 (raise-exception _ #:continuable? _) 1683:16 1 (raise-exception _ #:continuable? _) 1685:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: ERROR: 1. &http-get-error: uri: #<<uri> scheme: https userinfo: #f host: "ci.guix.gnu.org" port: #f path: "/nar/lzip/bqk5b108p6wxd5iwmn080zjcfav48wmr-libxext-1.3.4" query: #f fragment: #f> code: 502 reason: "Bad Gateway" headers: ((server . "nginx") (date . #<date nanosecond: 0 second: 26 minute: 14 hour: 19 day: 13 month: 11 year: 2024 zone-offset: 0>) (content-type text/html) (content-length . 150) (connection keep-alive)) 2. &message: "https://ci.guix.gnu.org/nar/lzip/bqk5b108p6wxd5iwmn080zjcfav48wmr-libxext-1.3.4: HTTP download failed: 502 (\"Bad Gateway\")" substitution of /gnu/store/bqk5b108p6wxd5iwmn080zjcfav48wmr-libxext-1.3.4 failed guix package: error: corrupt input while restoring archive from socket ~~~~
Hm, maybe I merely lost connection and it did not handle that well? Try again:
~~~~ The following packages will be upgraded: font-dejavu (dependencies or package changed) font-fira-code (dependencies or package changed) font-fira-mono (dependencies or package changed) font-fira-sans (dependencies or package changed) font-iosevka (dependencies or package changed) font-iosevka-aile (dependencies or package changed) font-iosevka-etoile (dependencies or package changed) font-iosevka-slab (dependencies or package changed) font-iosevka-term (dependencies or package changed) font-iosevka-term-slab (dependencies or package changed) font-wqy-microhei (dependencies or package changed) font-wqy-zenhei (dependencies or package changed) glibc-locales 2.35 → 2.39 guile (dependencies or package changed) guile-colorized (dependencies or package changed) guile-fibers (dependencies or package changed) guile-readline (dependencies or package changed) keepassxc 2.7.5 → 2.7.9 lyx (dependencies or package changed) openvpn 2.5.8 → 2.6.12 python (dependencies or package changed) substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0% 56,2 MB will be downloaded linux-pam-1.5.2 414KiB 620KiB/s 00:01 ▕██████████████████▏ 100.0% libxext-1.3.4 32KiB 1.2MiB/s 00:00 ▕██████████████████▏ 100.0% libxrender-0.9.10 22KiB 1.2MiB/s 00:00 ▕██████████████████▏ 100.0% lz4-1.9.3 147KiB 1002KiB/s 00:00 ▕██████████████████▏ 100.0% libxft-2.3.8 54KiB 789KiB/s 00:00 ▕██████████████████▏ 100.0% lzo-2.10 94KiB 707KiB/s 00:00 ▕██████████████████▏ 100.0% nspr-4.35 235KiB 820KiB/s 00:00 ▕██████████████████▏ 100.0% openjpeg-2.5.0 224KiB 1.3MiB/s 00:00 ▕██████████████████▏ 100.0% nss-3.99 2.3MiB 851KiB/s 00:03 ▕██████████████████▏ 100.0% openvpn-2.6.12 454KiB 781KiB/s 00:01 ▕██████████████████▏ 100.0% pixman-0.42.2 232KiB 759KiB/s 00:00 ▕██████████████████▏ 100.0% poppler-data-0.4.11 1.5MiB 651KiB/s 00:02 ▕██████████████████▏ 100.0% cairo-1.18.0 615KiB 831KiB/s 00:01 ▕██████████████████▏ 100.0% qpdf-11.8.0 961KiB 871KiB/s 00:01 ▕██████████████████▏ 100.0% poppler-22.09.0 1.4MiB 781KiB/s 00:02 ▕██████████████████▏ 100.0% tcl-8.6.12 2.3MiB 792KiB/s 00:03 ▕██████████████████▏ 100.0% cups-filters-1.28.16 804KiB 802KiB/s 00:01 ▕██████████████████▏ 100.0% tk-8.6.12 1.3MiB 827KiB/s 00:02 ▕██████████████████▏ 100.0% cups-2.4.9 5.2MiB 706KiB/s 00:08 ▕██████████████████▏ 100.0% python-3.10.7 11.1MiB 809KiB/s 00:14 ▕██████████████████▏ 100.0% python-3.10.7-idle 692KiB 799KiB/s 00:01 ▕██████████████████▏ 100.0% python-3.10.7-tk 25KiB 1.4MiB/s 00:00 ▕██████████████████▏ 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 0.0%guix substitute: error: TLS error in procedure 'read_from_session_record_port': Error in the pull function. guix package: error: `/gnu/store/vkyprwq3g00ki69ahby3mhdxa65hnzgy-guix-command substitute' died unexpectedly ~~~~
So I could not update for some reason. OK, lets try the ol' `guix
pull --no-substitutes`. Dreading, that it would need hours and
hours to finish on this old hardware, but trying nevertheless. It
gets stuck at:
~~~~ building /gnu/store/[some-long-hash-here]-gzip-1.2.4.tar.drv... \[CURSOR HERE] ~~~~
Before someone tells me again "it was not stuck, just needing a
long time": I checked in `htop`. The guix processes had zero CPU
usage and zero CPU time increment over something like half an
hour. I think it got stuck somewhere and simply did not handle it
well. I am quite sure I could have waited another day and they
still would not have budged. Believe me, the CPU time remained
firmly stuck at "0:17:47" and even after checking again and again,
that number would not increase. (see screenshots)
Then I cancelled that and since I don't know what else to, I
simply ran again `guix pull`. But I get another error:
~~~~ guix substitute: error: failed to find alternative substitute for '/gnu/store/[LONG HASH HERE]-module-import-compiled' substitution of /gnu/store/[SAME LONG HASH HERE]-module-import-compiled failed guix pull: error: corrupt input while restoring archive from #<closed: file [SOME HASH]> ~~~~
So basically, I cannot update packages on that machine, unless there are more tricks to try.
I guess I can still upgrade guix itself as root user with sudo -i.
There was the guix survey recently, and I had already forgotten
about these issues. I should have mentioned in the survey, that it
would be great, if guix was handling unstable connections better
or needs to output more info when it gets stuck, or needs to
detect, when it gets stuck. Or handles somehow corrupt input
better. I am not sure how much these issues are related.
My `guix --version` is:
~~~~ guix (GNU Guix) bf96496f177c961260523ada850d10a057f9032a ~~~~
Can you help me out? What more can I try?
I will try to upgrade guix itself and see if that makes it work.
Best wishes,
Zelphir
-- repositories: https://notabug.org/ZelphirKaltstahl, https://codeberg.org/ZelphirKaltstahl