Subject: Guix report hash mismatch when underlying cause is ENOSPC

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 08 Mar 2020 22:03:19 -0400

Guix should correctly report that it ran out of space instead of falsely
mentioning hash mismatches and attempting alternative download sources,
as demonstrated by the Guix output below:

Session:

building /gnu/store/dqzq8hbk8gqx5lhmnxsl5vl0c6s3i0a2-tcpdump-4.9.3.tar.gz.drv...
downloading from https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz...
downloading from https://ci.guix.gnu.org/file/tcpdump-4.9.3.tar.gz/sha256/0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c...
downloading from https://tarballs.nixos.org/sha256/0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c...
downloading from https://archive.softwareheritage.org/api/1/content/sha256:2cd47cb3d460b6ff75f4a9940f594317ad456cfbf2bd2c8e5151e16559db6410/raw/...
/sha256 hash mismatch for /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz:
  expected hash: 0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c
  actual hash:   0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
hash mismatch for store item '/gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz'
build of /gnu/store/dqzq8hbk8gqx5lhmnxsl5vl0c6s3i0a2-tcpdump-4.9.3.tar.gz.drv failed
View build log at '/var/log/guix/drvs/dq/zq8hbk8gqx5lhmnxsl5vl0c6s3i0a2-tcpdump-4.9.3.tar.gz.drv.bz2'.
cannot build derivation `/gnu/store/47d55bgd42rcnszhxjg5cbjcdskxih1x-tcpdump-4.9.3.drv': 1 dependencies couldn't be built
guix package: error: build of `/gnu/store/47d55bgd42rcnszhxjg5cbjcdskxih1x-tcpdump-4.9.3.drv' failed

I then quickly realized my system had ran out of space when I next
tried:

--8<---------------cut here---------------start------------->8---
maxim@apteryx ~/src/guix [env]$ wget https://tarballs.nixos.org/sha256/0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c
--2020-03-08 21:52:11--  https://tarballs.nixos.org/sha256/0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c
Resolving tarballs.nixos.org (tarballs.nixos.org)... 13.225.198.24, 13.225.198.66, 13.225.198.85, ...
Connecting to tarballs.nixos.org (tarballs.nixos.org)|13.225.198.24|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: /sha512/3aec673f78b996a4df884b1240e5d0a26a2ca81ee7aca8a2e6d50255bb53476e008a5ced4409e278a956710d8a4d31d85bbb800c9f1aab92b0b1046b59292a22 [following]
--2020-03-08 21:52:11--  https://tarballs.nixos.org/sha512/3aec673f78b996a4df884b1240e5d0a26a2ca81ee7aca8a2e6d50255bb53476e008a5ced4409e278a956710d8a4d31d85bbb800c9f1aab92b0b1046b59292a22
Reusing existing connection to tarballs.nixos.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 2333119 (2.2M) [binary/octet-stream]
Saving to: ‘0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c’

0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c   0%[                                                                                                                       ]       0  --.-KB/s    in 0s      

Cannot write to ‘0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c’ (No space left on device).
--8<---------------cut here---------------end--------------->8---

Maxim