'guix substitute' crashes in zstd on transient networking issues

OpenSubmitted by Matthias.
Details
2 participants
  • Ludovic Courtès
  • Matthias
Owner
unassigned
Severity
important
M
M
Matthias wrote on 16 Jun 06:09 +0200
Guix crashes at while downloading an update
(address . bug-guix@gnu.org)
92fd6760-bbdc-b2d3-5364-4b69a7ae3e4d@smartflyer.de
I just downloaded the QEMU image for the Guix distribution and wanted to
try it out. I use QEMU and AQEMU from the current Debian Testing.

To try out the package manager I installed the Lynx terminal browser.
That worked without any problems (lynx is working), but guix said I
should update the system with the commands "guix pull" and "guix package
-u". Excited to be able to explore more features I typed in the first
command, but while downloading the package "apr" it crashed. See the
attachment for guix' output.

Guix version ("guix --version"): 1.3.0-1.771b866

PS: The "You found a bug" message is awesome! Instead of getting angry
at a not working program, I got excited to have found something new.
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 128697d (21,173 new commits)...
Building from this channel:
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
building /gnu/store/sflmgcfcdwizj7iyd3pfksdvrkc3pskb-config.scm.drv...
building /gnu/store/7k17dvmcrdicjsdxmpvhss4p3i3d70j5-git.scm.drv...
building /gnu/store/j9s3n7iqvh8pqkxkwy91nq3qynr1nby7-hash.scm.drv...
building /gnu/store/b0f546fkq5lvhnd9v40jzqzl0cnm8pw8-module-import.drv...
building /gnu/store/n5f9zdgsc1yqsbndc4687sp2jk27hz20-module-import.drv...
building /gnu/store/dmj5zf4iwiahs0k9wclh6fv21gs6l8j4-module-import-compiled.drv...
building /gnu/store/wanialm8qyi0cs56gwpq8xw6lgvya19a-module-import-compiled.drv...
building /gnu/store/hfm9y09qn0mm2fa592y3dxx12axj7dqh-compute-guix-derivation.drv...
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
glibc-utf8-locales-2.33 382KiB 57.2MiB/s 00:00 [##################] 100.0%
bash-static-5.1.8 646KiB 1.27GiB/s 00:00 [##################] 100.0%
gnutls-3.7.2-doc 1.0MiB 1.53GiB/s 00:00 [##################] 100.0%
glibc-2.33 9.0MiB 16.7MiB/s 00:01 [##################] 100.0%
bash-minimal-5.1.8 589KiB 1.48GiB/s 00:00 [##################] 100.0%
gcc-10.3.0-lib 5.2MiB 39.7MiB/s 00:00 [##################] 100.0%
bash-minimal-5.1.8 589KiB 10.8MiB/s 00:00 [##################] 100.0%
bzip2-1.0.8 55KiB 921KiB/s 00:00 [##################] 100.0%
expat-2.4.1 97KiB 784KiB/s 00:00 [##################] 100.0%
gmp-6.2.1 571KiB 12.4MiB/s 00:00 [##################] 100.0%
http-parser-2.9.4-1.ec8b5ee 19KiB 421KiB/s 00:00 [##################] 100.0%
libffi-3.3 51KiB 671KiB/s 00:00 [##################] 100.0%
libgc-8.0.4 214KiB 2.6MiB/s 00:00 [##################] 100.0%
libgpg-error-1.42 238KiB 3.5MiB/s 00:00 [##################] 100.0%
libtasn1-4.17.0 106KiB 933KiB/s 00:00 [##################] 100.0%
libgcrypt-1.8.8 531KiB 4.5MiB/s 00:00 [##################] 100.0%
libunistring-0.9.10 492KiB 1.0MiB/s 00:00 [##################] 100.0%
ncurses-6.2.20210619 702KiB 2.4MiB/s 00:00 [##################] 100.0%
libidn2-2.3.1 138KiB 1.2MiB/s 00:00 [##################] 100.0%
nettle-3.7.3 369KiB 7.4MiB/s 00:00 [##################] 100.0%
nghttp2-1.44.0-lib 92KiB 367KiB/s 00:00 [##################] 100.0%
openssl-1.1.1l 1.6MiB 19.6MiB/s 00:00 [##################] 100.0%
p11-kit-0.23.22 516KiB 4.2MiB/s 00:00 [##################] 100.0%
mit-krb5-1.19.2 1.1MiB 5.6MiB/s 00:00 [##################] 100.0%
pkg-config-0.29.2 209KiB 2.5MiB/s 00:00 [##################] 100.0%
readline-8.1.1 433KiB 1.4MiB/s 00:00 [##################] 100.0%
guile-3.0.7 8.0MiB 8.5MiB/s 00:01 [##################] 100.0%
zlib-1.2.11 80KiB 239.7MiB/s 00:00 [##################] 100.0%
gnutls-3.7.2 1.8MiB 2.96GiB/s 00:00 [##################] 100.0%
libssh-0.9.6 236KiB 629.1MiB/s 00:00 [##################] 100.0%
curl-7.79.1 399KiB 1.08GiB/s 00:00 [##################] 100.0%
gnutls-3.7.2-debug 4.4MiB 7.1MiB/s 00:01 [##################] 100.0%
git-minimal-2.36.1 4.2MiB 50.0MiB/s 00:00 [##################] 100.0%
guile-ssh-0.15.1 242KiB 2.5MiB/s 00:00 [##################] 100.0%
libssh2-1.9.0 231KiB 2.9MiB/s 00:00 [##################] 100.0%
guile-ssh-0.15.1-debug 238KiB 1.1MiB/s 00:00 [##################] 100.0%
pcre2-10.37 1.1MiB 8.5MiB/s 00:00 [##################] 100.0%
libgit2-1.3.0 624KiB 5.0MiB/s 00:00 [##################] 100.0%
guile-git-0.5.2 496KiB 220KiB/s 00:02 [##################] 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
graphviz-2.49.0-doc 2.0MiB 4.06GiB/s 00:00 [##################] 100.0%
binutils-2.37 5.0MiB 9.6MiB/s 00:01 [##################] 100.0%
bzip2-1.0.8 59KiB 192.4MiB/s 00:00 [##################] 100.0%
coreutils-8.32 2.6MiB 4.50GiB/s 00:00 [##################] 100.0%
coreutils-minimal-8.32 2.6MiB 5.10GiB/s 00:00 [##################] 100.0%
file-5.39 325KiB 974.3MiB/s 00:00 [##################] 100.0%
font-dejavu-2.37 2.6MiB 43.4MiB/s 00:00 [##################] 100.0%
fribidi-1.0.9 75KiB 1.0MiB/s 00:00 [##################] 100.0%
gdbm-1.20 191KiB 792KiB/s 00:00 [##################] 100.0%
glibc-2.33-static 1.4MiB 5.8MiB/s 00:00 [##################] 100.0%
glibc-utf8-locales-2.33 808KiB 13.9MiB/s 00:00 [##################] 100.0%
graphite2-1.3.13 97KiB 1.1MiB/s 00:00 [##################] 100.0%
grep-3.6 245KiB 508KiB/s 00:00 [##################] 100.0%
icu4c-69.1 10.5MiB 9.0MiB/s 00:01 [##################] 100.0%
libbsd-0.10.0 101KiB 1.5MiB/s 00:00 [##################] 100.0%
libcap-2.62 86KiB 2.1MiB/s 00:00 [##################] 100.0%
libdaemon-0.14 31KiB 126.7MiB/s 00:00 [##################] 100.0%
libdatrie-0.2.13 38KiB 90.3MiB/s 00:00 [##################] 100.0%
libevent-2.1.12 330KiB 1.15GiB/s 00:00 [##################] 100.0%
libffi-3.3 54KiB 175.5MiB/s 00:00 [##################] 100.0%
libgc-8.0.4 214KiB 714.5MiB/s 00:00 [##################] 100.0%
libice-1.0.10 75KiB 187.2MiB/s 00:00 [##################] 100.0%
libjpeg-turbo-2.0.5 405KiB 3.7MiB/s 00:00 [##################] 100.0%
libltdl-2.4.6 37KiB 507KiB/s 00:00 [##################] 100.0%
libpng-1.6.37 226KiB 6.0MiB/s 00:00 [##################] 100.0%
libsigsegv-2.13 16KiB 127KiB/s 00:00 [##################] 100.0%
freetype-2.10.4 533KiB 2.7MiB/s 00:00 [##################] 100.0%
gawk-5.1.0 1.1MiB 14.3MiB/s 00:00 [##################] 100.0%
fontconfig-minimal-2.13.94 166KiB 2.4MiB/s 00:00 [##################] 100.0%
libthai-0.1.28 185KiB 2.8MiB/s 00:00 [##################] 100.0%
gd-2.3.2 137KiB 1.0MiB/s 00:00 [##################] 100.0%
libunistring-0.9.10 614KiB 13.7MiB/s 00:00 [##################] 100.0%
libxau-1.0.9 9KiB 192KiB/s 00:00 [##################] 100.0%
libxdmcp-1.1.3 24KiB 88.2MiB/s 00:00 [##################] 100.0%
lz4-1.9.3 143KiB 407.3MiB/s 00:00 [##################] 100.0%
libxcb-1.14 277KiB 612.9MiB/s 00:00 [##################] 100.0%
pcre-8.45 598KiB 822.4MiB/s 00:00 [##################] 100.0%
libx11-1.7.3.1 761KiB 1.8MiB/s 00:00 [##################] 100.0%
perl-5.34.0 15.1MiB 7.3MiB/s 00:02 [##################] 100.0%
dbus-1.12.20 286KiB 6.9MiB/s 00:00 [##################] 100.0%
libxext-1.3.4 35KiB 867KiB/s 00:00 [##################] 100.0%
libxrender-0.9.10 24KiB 343KiB/s 00:00 [##################] 100.0%
pixman-0.40.0 233KiB 4.8MiB/s 00:00 [##################] 100.0%
libxft-2.3.3 45KiB 202.7MiB/s 00:00 [##################] 100.0%
pkg-config-0.29.2 209KiB 2.3MiB/s 00:00 [##################] 100.0%
sed-4.8 240KiB 517KiB/s 00:00 [##################] 100.0%
guile-3.0.7 8.0MiB 10.6MiB/s 00:01 [##################] 100.0%
sqlite-3.36.0 1.1MiB 2.49GiB/s 00:00 [##################] 100.0%
ld-wrapper-0 15KiB 32.4MiB/s 00:00 [##################] 100.0%
guix-daemon-1.3.0-27.598f728 260KiB 455.7MiB/s 00:00 [##################] 100.0%
utf8proc-2.5.0 65KiB 82.8MiB/s 00:00 [##################] 100.0%
util-linux-2.37.2-lib 1.7MiB 2.90GiB/s 00:00 [##################] 100.0%
xz-5.2.5 308KiB 568.9MiB/s 00:00 [##################] 100.0%
glib-2.70.2 2.7MiB 4.68GiB/s 00:00 [##################] 100.0%
apr-1.7.0 314KiB 581.4MiB/s 00:00 [####### ] 40.7%Backtrace:
In guix/serialization.scm:
468:33 19 (read "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr?" ?)
468:33 18 (read "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr?" ?)
442:24 17 (read "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr?" ?)
525:24 16 (_ "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr-1.?" ?)
In guix/store/deduplication.scm:
227:2 15 (dump-file/deduplicate "/gnu/store/rbb9h501zyf8mg1hz47?" ?)
In ice-9/ports.scm:
463:17 14 (call-with-output-file _ _ #:binary _ #:encoding _)
In guix/store/deduplication.scm:
232:10 13 (_ _)
In guix/serialization.scm:
261:6 12 (dump _)
247:20 11 (dump #<input: string 7fd40c2b5af0> #<output: string 7?> ?)
In unknown file:
10 (get-bytevector-n! #<input: string 7fd40c2b5af0> # 0 #)
In guix/store/deduplication.scm:
203:22 9 (read! #vu8(47 42 32 76 105 99 101 110 115 101 100 32 ?) ?)
In unknown file:
8 (get-bytevector-n! #<input: string 7fd409cdcd20> # 0 #)
In gcrypt/hash.scm:
223:13 7 (read! #vu8(47 42 32 76 105 99 101 110 115 101 100 32 ?) ?)
In unknown file:
6 (get-bytevector-n! #<input: string 7fd409cdce70> # 0 #)
In zstd.scm:
256:12 5 (read! _ _ _)
In ice-9/boot-9.scm:
1669:16 4 (raise-exception _ #:continuable? _)
1669:16 3 (raise-exception _ #:continuable? _)
1764:13 2 (_ #<&compound-exception components: (#<&error> #<&irri?>)
1669:16 1 (raise-exception _ #:continuable? _)
1669:16 0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Throw to key `zstd-error' with args `(decompress! 18446744073709551544)'.
Backtrace:
16 (primitive-load "/gnu/store/aaik6090bx4vdp9rn2g6w89296my5445-compute-guix-derivation")
In ice-9/eval.scm:
155:9 15 (_ _)
159:9 14 (_ #(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<directory (guile-u?> ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
In ice-9/boot-9.scm:
152:2 13 (with-fluid* _ _ _)
152:2 12 (with-fluid* _ _ _)
In ./guix/store.scm:
2168:24 11 (run-with-store #<store-connection 256.99 7f3ff7bb3190> _ #:guile-for-build _ #:system _ #:target _)
1996:8 10 (_ _)
In ./guix/gexp.scm:
300:22 9 (_ _)
1181:2 8 (_ _)
1047:2 7 (_ _)
893:4 6 (_ _)
In ./guix/store.scm:
2053:12 5 (_ #<store-connection 256.99 7f3ff7bb3f00>)
1405:13 4 (map/accumulate-builds #<store-connection 256.99 7f3ff7bb3f00> #<procedure 7f3ff5fe45a0 at ./guix/stor?> ?)
1401:5 3 (map/accumulate-builds #<store-connection 256.99 7f3ff7bb3f00> #<procedure 7f3ff0d5d5a0 at ./guix/stor?> ?)
1417:15 2 (_ #<store-connection 256.99 7f3ff7bb3f00> _ _)
711:11 1 (process-stderr #<store-connection 256.99 7f3ff7bb3f00> _)
In ./guix/serialization.scm:
80:6 0 (read-int #<input-output: file 10>)

./guix/serialization.scm:80:6: In procedure read-int:
ERROR:
1. &nar-error:
file: #f
port: #<input-output: file 10>
guix pull: error: You found a bug: the program '/gnu/store/aaik6090bx4vdp9rn2g6w89296my5445-compute-guix-derivation'
failed to compute the derivation for Guix (version: "128697d43c21eb229ff5413f1c4cf79ae1a9dcd4"; system: "x86_64-linux";
host version: "1.3.0-1.771b866"; pull-version: 1).
Please report the COMPLETE output above by email to <bug-guix@gnu.org>.
L
L
Ludovic Courtès wrote on 26 Jun 17:28 +0200
(name . Matthias)(address . matthias.kaak@smartflyer.de)(address . 56014@debbugs.gnu.org)
8735frsau3.fsf@gnu.org
Hi Matthias,

Matthias <matthias.kaak@smartflyer.de> skribis:

Toggle quote (12 lines)
> I just downloaded the QEMU image for the Guix distribution and wanted
> to try it out. I use QEMU and AQEMU from the current Debian Testing.
>
> To try out the package manager I installed the Lynx terminal
> browser. That worked without any problems (lynx is working), but guix
> said I should update the system with the commands "guix pull" and
> "guix package -u". Excited to be able to explore more features I
> typed in the first command, but while downloading the package "apr" it
> crashed. See the attachment for guix' output.
>
> Guix version ("guix --version"): 1.3.0-1.771b866

[...]

Toggle quote (39 lines)
> xz-5.2.5 308KiB 568.9MiB/s 00:00 [##################] 100.0%
> glib-2.70.2 2.7MiB 4.68GiB/s 00:00 [##################] 100.0%
> apr-1.7.0 314KiB 581.4MiB/s 00:00 [####### ] 40.7%Backtrace:
> In guix/serialization.scm:
> 468:33 19 (read "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr?" ?)
> 468:33 18 (read "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr?" ?)
> 442:24 17 (read "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr?" ?)
> 525:24 16 (_ "/gnu/store/rbb9h501zyf8mg1hz47plql80gsl99za-apr-1.?" ?)
> In guix/store/deduplication.scm:
> 227:2 15 (dump-file/deduplicate "/gnu/store/rbb9h501zyf8mg1hz47?" ?)
> In ice-9/ports.scm:
> 463:17 14 (call-with-output-file _ _ #:binary _ #:encoding _)
> In guix/store/deduplication.scm:
> 232:10 13 (_ _)
> In guix/serialization.scm:
> 261:6 12 (dump _)
> 247:20 11 (dump #<input: string 7fd40c2b5af0> #<output: string 7?> ?)
> In unknown file:
> 10 (get-bytevector-n! #<input: string 7fd40c2b5af0> # 0 #)
> In guix/store/deduplication.scm:
> 203:22 9 (read! #vu8(47 42 32 76 105 99 101 110 115 101 100 32 ?) ?)
> In unknown file:
> 8 (get-bytevector-n! #<input: string 7fd409cdcd20> # 0 #)
> In gcrypt/hash.scm:
> 223:13 7 (read! #vu8(47 42 32 76 105 99 101 110 115 101 100 32 ?) ?)
> In unknown file:
> 6 (get-bytevector-n! #<input: string 7fd409cdce70> # 0 #)
> In zstd.scm:
> 256:12 5 (read! _ _ _)
> In ice-9/boot-9.scm:
> 1669:16 4 (raise-exception _ #:continuable? _)
> 1669:16 3 (raise-exception _ #:continuable? _)
> 1764:13 2 (_ #<&compound-exception components: (#<&error> #<&irri?>)
> 1669:16 1 (raise-exception _ #:continuable? _)
> 1669:16 0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> Throw to key `zstd-error' with args `(decompress! 18446744073709551544)'.

This is the root cause; its meaning:

Toggle snippet (5 lines)
scheme@(guile-user)> ,use(zstd)
scheme@(guile-user)> (error-name 18446744073709551544)
$23 = "Src size is incorrect"

Downloading and uncompressing the same thing works like this:

Toggle snippet (4 lines)
$ wget -qO - https://ci.guix.gnu.org/nar/zstd/rbb9h501zyf8mg1hz47plql80gsl99za-apr-1.7.0 | zstd -d |sha256sum
e15bd1d4f4628969c461d99e23d27d76fb0d77b709eb393b9b2b2bcac67a8b19 -

Likewise with Guile + Guile-zstd:

Toggle snippet (4 lines)
$ wget -qO - https://ci.guix.gnu.org/nar/zstd/rbb9h501zyf8mg1hz47plql80gsl99za-apr-1.7.0 | guile -c '(use-modules (zstd) (guix build utils)) (call-with-zstd-input-port (current-input-port) (lambda (port) (dump-port port (current-output-port))))' | sha256sum
e15bd1d4f4628969c461d99e23d27d76fb0d77b709eb393b9b2b2bcac67a8b19 -

So my guess is that the connection was closed early for some reason,
leading to a decompression error down the road.

Toggle quote (5 lines)
> guix pull: error: You found a bug: the program '/gnu/store/aaik6090bx4vdp9rn2g6w89296my5445-compute-guix-derivation'
> failed to compute the derivation for Guix (version: "128697d43c21eb229ff5413f1c4cf79ae1a9dcd4"; system: "x86_64-linux";
> host version: "1.3.0-1.771b866"; pull-version: 1).
> Please report the COMPLETE output above by email to <bug-guix@gnu.org>.

The bug here is that Guix should (1) handle transient networking issues
gracefully, and (2) retry downloads instead of aborting.

To be continued…

Thanks for reporting the issue!

Ludo’.
L
L
Ludovic Courtès wrote on 26 Jun 17:29 +0200
control message for bug #56014
(address . control@debbugs.gnu.org)
871qvbsat0.fsf@gnu.org
retitle 56014 'guix substitute' crashes in zstd on transient networking issues
quit
L
L
Ludovic Courtès wrote on 3 Jul 22:56 +0200
(address . control@debbugs.gnu.org)
877d4tzzi3.fsf@gnu.org
severity 56014 important
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 56014@debbugs.gnu.org