Subject: Re: bug#71214: bordeaux linux-libre-6.8.10-guix.tar.gz corrupt nar

From: Christopher Baines <[email-masked]>
Date: Mon, 10 Jun 2024 13:36:24 +0100

Richard Sent <[email-masked]> writes:

> Hi Guix!
>
> The nar for
> /gnu/store/y813phs2n9xnb7zbcr07g0j9509bzbsb-linux-libre-6.8.10-guix.tar.xz
> on Bordeaux seems to have been corrupted by some mechanism. The URL in
> question is
>
>> URL: nar/none/y813phs2n9xnb7zbcr07g0j9509bzbsb-linux-libre-6.8.10-guix.tar.xz
>
> From comments by cbaines on an earlier issue [1] that had misdiagnosed
> the problem:
>
>> Yeah, something's up here specifically with the bordeaux build farm,
>> feel free to open a new issue.
>> 
>> You can tell something is wrong just by looking at the narinfo:
>> 
>>   https://bordeaux.guix.gnu.org/y813phs2n9xnb7zbcr07g0j9509bzbsb.narinfo
>> 
>> Given there's no compression here, the file size should be the same as
>> the nar size, but it's not, it's missing a few bytes.
>
> For reference:
>
>> NarSize: 143081664
>> Compression: none
>> FileSize: 143081472

I've investigated this now, the problem was introduced in [1] with the
new feature in the build coordinator to recompress nars in the publish
hook. The bordeaux build farm uses the default configuration, which is
to uncompress the lzip'ed nar if there don't seem to be an advantage to
using lzip.

1: https://git.savannah.gnu.org/cgit/guix/build-coordinator.git/commit/?id=1ecad692a75402872b7b366859f364a421727925

Unfortunately the code for that didn't explicitly close the output port
when writing the uncompressed nars, which led to missing data off the
ends of the file. I've now fixed that [2], removed the affected nars and
submitted new builds to re-add them.

2: https://git.savannah.gnu.org/cgit/guix/build-coordinator.git/commit/?id=7aa1369d6d5a34300045596cdf0bcfd6f4992f9b

Thanks,

Chris