‘scheme48-prescheme’ is not reproducible

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Andrew Whatson
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 27 Feb 2023 22:03
(address . bug-guix@gnu.org)
87zg8yhlcr.fsf@inria.fr
Hi again Andrew,

It turns out that the package is not reproducible:

Toggle snippet (16 lines)
$ ./pre-inst-env guix challenge scheme48-prescheme
/gnu/store/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2 contents differ:
no local build for '/gnu/store/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2'
https://ci.guix.gnu.org/nar/lzip/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2: 0fahr4s5qz980zz96xmrwf8r87w56kicxr8s80fvis98q7v5czll
https://bordeaux.guix.gnu.org/nar/lzip/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2: 0jphmcmijk68phwq93qbzszy5pdmnasa3qdcp2nc5wqc25a7kpxk
differing file:
/lib/scheme48-1.9.2/prescheme.image

1 store items were analyzed:
- 0 (0.0%) were identical
- 1 (100.0%) differed
- 0 (0.0%) were inconclusive
$ git log |head -1
commit cf9e0508b26196dc985302776d860a0359652c59

Any idea what might be wrong?

Thanks,
Ludo’.
A
A
Andrew Whatson wrote on 28 Feb 2023 06:55
Re: bug#61852: ‘scheme48-prescheme’ is not reproducible
ce426348-bd75-a2ed-885b-92f1caf11f37@tailcall.au
Ludovic Courtès wrote:
Toggle quote (23 lines)
> Hi again Andrew,
>
> It turns out that the package is not reproducible:
>
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix challenge scheme48-prescheme
> /gnu/store/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2 contents differ:
> no local build for '/gnu/store/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2'
> https://ci.guix.gnu.org/nar/lzip/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2: 0fahr4s5qz980zz96xmrwf8r87w56kicxr8s80fvis98q7v5czll
> https://bordeaux.guix.gnu.org/nar/lzip/qkby7f4nr3lxlm16zmswmka5hgfs6spw-scheme48-prescheme-1.9.2: 0jphmcmijk68phwq93qbzszy5pdmnasa3qdcp2nc5wqc25a7kpxk
> differing file:
> /lib/scheme48-1.9.2/prescheme.image
>
> 1 store items were analyzed:
> - 0 (0.0%) were identical
> - 1 (100.0%) differed
> - 0 (0.0%) were inconclusive
> $ git log |head -1
> commit cf9e0508b26196dc985302776d860a0359652c59
> --8<---------------cut here---------------end--------------->8---
>
> Any idea what might be wrong?

Hmm, interesting!

This is an image produced by Scheme 48 dumping its VM state into a file
which can be loaded later to save parsing/expansion time. This is the
same technique used by Scheme 48 to produce its own initial image. It
looks like the "scheme48" package has the same problem:

```
$ guix challenge scheme48
/gnu/store/9c47l5cn60zrr9sm0hn55zibf8zmv33l-scheme48-1.9.2 contents differ:
local hash: 0pyygj4nf8fw2xpciy81d01r2b2339bxhgpfdn2zq2wqvsn2ycra
0pyygj4nf8fw2xpciy81d01r2b2339bxhgpfdn2zq2wqvsn2ycra
12wxxqxmpdqgg2fzbcbm68h1jqynz9gqhxzalyspqq7hh2fgr46k
differing file:
/lib/scheme48-1.9.2/scheme48.image

1 store items were analyzed:
- 0 (0.0%) were identical
- 1 (100.0%) differed
- 0 (0.0%) were inconclusive
```

Comparing hex dumps of the files, there are significant differences, and
a quick dive through the image dumping code leads into VM and garbage
collector details which are over my head.

I guess patching Scheme 48 to build deterministic images is out-of-scope
and maybe an issue for upstream.

Toggle quote (3 lines)
> Thanks,
> Ludo’.

Cheers!
Andrew
L
L
Ludovic Courtès wrote on 3 Mar 2023 11:45
Re: bug#61852: ‘scheme48-prescheme’ is not reproducible
(name . Andrew Whatson)(address . whatson@tailcall.au)(address . 61852@debbugs.gnu.org)
878rgeyuz6.fsf@gnu.org
Hi,

Andrew Whatson <whatson@tailcall.au> skribis:

Toggle quote (7 lines)
> Comparing hex dumps of the files, there are significant differences,
> and a quick dive through the image dumping code leads into VM and
> garbage collector details which are over my head.
>
> I guess patching Scheme 48 to build deterministic images is
> out-of-scope and maybe an issue for upstream.

Yes, probably! Would you mind reporting it upstream?

Thanks,
Ludo’.
A
A
Andrew Whatson wrote on 6 Mar 2023 11:34
Re: bug#61852: ‘scheme48-prescheme’ is not reproducible
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 61852@debbugs.gnu.org)
e90346d4-bfdd-f089-dae4-176378ac1d2f@tailcall.au
Ludovic Courtès wrote:
Toggle quote (13 lines)
> Hi,
>
> Andrew Whatson <whatson@tailcall.au> skribis:
>
>> Comparing hex dumps of the files, there are significant differences,
>> and a quick dive through the image dumping code leads into VM and
>> garbage collector details which are over my head.
>>
>> I guess patching Scheme 48 to build deterministic images is
>> out-of-scope and maybe an issue for upstream.
>
> Yes, probably! Would you mind reporting it upstream?

No worries, I've emailed the Scheme 48 list about the issue.

Cheers,
Andrew
?