Subject: Re: bug#48520: rav1e 0.3.5 is not reproducible

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 25 Jun 2021 16:08:33 -0400

Hello,

Bone Baboon <[email-masked]> writes:

> `guix describe` outputs:
>
> ```
> Generation 24   May 12 2021 18:06:24    (current)
>   guix d6aeebb
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: d6aeebb23639258311fdfb9dbf5f903079fde51a
> ```
>
> `guix challenge /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5`
> outputs:
>
> ```
> /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5 contents differ:
>   local hash: 0lr47rfaq41yn3sbf86xnwpsrgvi38ifi3hx5dz3cm5iinfwaxc0
>   https://ci.guix.gnu.org/nar/lzip/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5: 17g58f754k0n5hwiysb88cz9fg82di2j244zzh9mnv6a172y4xjb
>   differing file:
>     /share/cargo/registry/rav1e-0.3.5.crate
>
> 1 store items were analyzed:
>   - 0 (0.0%) were identical
>   - 1 (100.0%) differed
>   - 0 (0.0%) were inconclusive
> ```
>
> `guix challenge --diff=diffoscope
> /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5` outputs:
>
> ```
> /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5 contents differ:
>   local hash: 0lr47rfaq41yn3sbf86xnwpsrgvi38ifi3hx5dz3cm5iinfwaxc0
>   https://ci.guix.gnu.org/nar/lzip/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5: 17g58f754k0n5hwiysb88cz9fg82di2j244zzh9mnv6a172y4xjb
> --- /tmp/guix-directory.3zSn14
> +++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5
> │   --- /tmp/guix-directory.3zSn14/share
> ├── +++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share
> │ │   --- /tmp/guix-directory.3zSn14/share/cargo
> │ ├── +++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share/cargo
> │ │ │   --- /tmp/guix-directory.3zSn14/share/cargo/registry
> │ │ ├── +++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share/cargo/registry
> │ │ │ │   --- /tmp/guix-directory.3zSn14/share/cargo/registry/rav1e-0.3.5.crate
> │ │ │ ├── +++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share/cargo/registry/rav1e-0.3.5.crate
> │ │ │ │ ├── rav1e-0.3.5.crate-content
> │ │ │ │ │ ├── file list
> │ │ │ │ │ │ @@ -1,9 +1,9 @@
> │ │ │ │ │ │ --rw-r--r--   0        0        0    39196 2021-04-03 18:35:22.000000 rav1e-0.3.5/Cargo.lock
> │ │ │ │ │ │ --rw-r--r--   0        0        0     4228 2021-04-03 18:35:22.000000 rav1e-0.3.5/Cargo.toml
> │ │ │ │ │ │ +-rw-r--r--   0        0        0    39196 2021-04-21 15:38:10.000000 rav1e-0.3.5/Cargo.lock
> │ │ │ │ │ │ +-rw-r--r--   0        0        0     4228 2021-04-21 15:38:10.000000 rav1e-0.3.5/Cargo.toml
> │ │ │ │ │ │  -rw-r--r--   0      999    30000     4228 2020-12-31 14:44:40.000000 rav1e-0.3.5/Cargo.toml.orig
> │ │ │ │ │ │  -rw-r--r--   0      999    30000     1332 2020-11-16 12:40:01.000000 rav1e-0.3.5/LICENSE
> │ │ │ │ │ │  -rw-r--r--   0      999    30000     5702 2017-09-24 10:10:31.000000 rav1e-0.3.5/PATENTS
> │ │ │ │ │ │  -rw-r--r--   0      999    30000     5820 2020-12-31 12:00:53.000000 rav1e-0.3.5/README.md
> │ │ │ │ │ │  -rw-r--r--   0      999    30000     4333 2020-12-31 12:00:53.000000 rav1e-0.3.5/build.rs
> │ │ │ │ │ │  -rw-r--r--   0      999    30000      423 2020-12-31 12:00:53.000000 rav1e-0.3.5/cbindgen.toml
> │ │ │ │ │ │  -rw-r--r--   0      999    30000     3579 2020-12-31 12:00:53.000000 rav1e-0.3.5/src/activity.rs
>
> 1 store items were analyzed:
>   - 0 (0.0%) were identical
>   - 1 (100.0%) differed
>   - 0 (0.0%) were inconclusive
> ```

Still reproducible with 0.4.1.  It seems the generated files uid/gid are
causing the discrepancy.  Not sure how that comes to be.  Needs
investigation.  I see nix passes '--frozen' to cargo, but that doesn't
work for us: "Cargo.lock needs to be updated but --frozen was passed to
prevent this".  Not sure if it's key.

To be investigated!

Thanks for the report,

Maxim