Subject: bug#39993: Guix report hash mismatch when underlying cause is ENOSPC

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 10 Mar 2020 23:26:48 -0400

Hello,

Ludovic Courtès <[email-masked]> writes:

> Hi,
>
> Maxim Cournoyer <[email-masked]> skribis:
>
>> 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...
>
> Could you post the log returned by ‘guix build --log-file
> /gnu/store/dqzq8hbk8gqx5lhmnxsl5vl0c6s3i0a2-tcpdump-4.9.3.tar.gz.drv’?

It contains just the following:

--8<---------------cut here---------------start------------->8---
Starting download of /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz
>From https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz...
@ download-started /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 65536
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 393216
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 655360
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 917504
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 1114112
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 1441792
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 1638400
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 1900544
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 2162688
@ download-progress /gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119 2333119
@ download-succeeded
/gnu/store/mv33j0si1n75q9kdimhvyrjn05pbxz5b-tcpdump-4.9.3.tar.gz https://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz 2333119
--8<---------------cut here---------------end--------------->8---

> The root cause is that ‘false-if-exception*’ as used in (guix build
> download) is too coarse-grain.

I see!

Maxim