Subject: bug#55928: alacritty (Rust) is not reproducible

From: Ludovic Courtès <[email-masked]>
Date: Sun, 12 Jun 2022 15:41:10 +0200

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 217  Jun 07 2022 00:39:25    (current)
  guix 5850f1e
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 5850f1e99ac8296c47cb42b1f6b222e8fa669eed
$ guix challenge alacritty 
/gnu/store/y4w33mh7h2lfh50x70lm1p6wjdcwk28y-alacritty-0.9.0 contents differ:
  no local build for '/gnu/store/y4w33mh7h2lfh50x70lm1p6wjdcwk28y-alacritty-0.9.0'
  https://ci.guix.gnu.org/nar/lzip/y4w33mh7h2lfh50x70lm1p6wjdcwk28y-alacritty-0.9.0: 0bgdq8srfrrzivy556cnijmkpbbvlcck2xa5hp3id93ajs03qifm
  https://bordeaux.guix.gnu.org/nar/lzip/y4w33mh7h2lfh50x70lm1p6wjdcwk28y-alacritty-0.9.0: 16bqjjf4lrjz6nrz7ppq5cf1fd7dhd8rwljlxwc7kfjz4afd36yc
  differing file:
    /bin/alacritty

1 store items were analyzed:
  - 0 (0.0%) were identical
  - 1 (100.0%) differed
  - 0 (0.0%) were inconclusive
--8<---------------cut here---------------end--------------->8---

The diffoscope output shows that ELF sections don’t have the same size:

--8<---------------cut here---------------start------------->8---
│ │   --- /tmp/guix-directory.9p13xN/bin/alacritty
│ ├── +++ /tmp/guix-directory.MKjJ9z/bin/alacritty
│ │ ├── readelf --wide --program-header {}
│ │ │ @@ -6,22 +6,22 @@
│ │ │  Program Headers:
│ │ │    Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
│ │ │    PHDR           0x000040 0x0000000000000040 0x0000000000000040 0x000310 0x000310 R   0x8
│ │ │    INTERP         0x000350 0x0000000000000350 0x0000000000000350 0x000050 0x000050 R   0x1
│ │ │        [Requesting program interpreter: /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/ld-linux-x86-64.so.2]
│ │ │    LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x056ba0 0x056ba0 R   0x100
0
│ │ │    LOAD           0x057000 0x0000000000057000 0x0000000000057000 0x3eeacd 0x3eeacd R E 0x100
0
│ │ │ +  LOAD           0x446000 0x0000000000446000 0x0000000000446000 0x0f4ed4 0x0f4ed4 R   0x100
0
│ │ │ -  LOAD           0x446000 0x0000000000446000 0x0000000000446000 0x0f4e4c 0x0f4e4c R   0x100
0
│ │ │    LOAD           0x53b560 0x000000000053c560 0x000000000053c560 0x03e160 0x044990 RW  0x100
0
│ │ │    DYNAMIC        0x574598 0x0000000000575598 0x0000000000575598 0x0002a0 0x0002a0 RW  0x8
│ │ │    NOTE           0x0003a0 0x00000000000003a0 0x00000000000003a0 0x000020 0x000020 R   0x8
│ │ │    NOTE           0x0003c0 0x00000000000003c0 0x00000000000003c0 0x000020 0x000020 R   0x4
│ │ │    TLS            0x53b560 0x000000000053c560 0x000000000053c560 0x000058 0x0000f8 R   0x10
│ │ │    GNU_PROPERTY   0x0003a0 0x00000000000003a0 0x00000000000003a0 0x000020 0x000020 R   0x8
│ │ │ +  GNU_EH_FRAME   0x4c38f0 0x00000000004c38f0 0x00000000004c38f0 0x009d8c 0x009d8c R   0x4
│ │ │ -  GNU_EH_FRAME   0x4c3868 0x00000000004c3868 0x00000000004c3868 0x009d8c 0x009d8c R   0x4
│ │ │    GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0x10
│ │ │    GNU_RELRO      0x53b560 0x000000000053c560 0x000000000053c560 0x039aa0 0x039aa0 R   0x1
│ │ │  
│ │ │   Section to Segment mapping:
│ │ │    Segment Sections...
│ │ │     00     
│ │ │     01     .interp
│ │ ├── readelf --wide --sections {}
│ │ │ @@ -15,19 +15,19 @@
│ │ │    [10] .rela.dyn         RELA            0000000000003ab8 003ab8 0530d0 18   A  6   0  8
│ │ │    [11] .rela.plt         RELA            0000000000056b88 056b88 000018 18  AI  6  28  8
│ │ │    [12] .init             PROGBITS        0000000000057000 057000 000017 00  AX  0   0  4
│ │ │    [13] .plt              PROGBITS        0000000000057020 057020 000020 10  AX  0   0 16
│ │ │    [14] .plt.got          PROGBITS        0000000000057040 057040 000008 08  AX  0   0  8
│ │ │    [15] .text             PROGBITS        0000000000057050 057050 3eea71 00  AX  0   0 16
│ │ │    [16] .fini             PROGBITS        0000000000445ac4 445ac4 000009 00  AX  0   0  4
│ │ │ +  [17] .rodata           PROGBITS        0000000000446000 446000 07d8cb 00   A  0   0 16
│ │ │ +  [18] .debug_gdb_scripts PROGBITS        00000000004c38cb 4c38cb 000022 01 AMS  0   0  1
│ │ │ +  [19] .eh_frame_hdr     PROGBITS        00000000004c38f0 4c38f0 009d8c 00   A  0   0  4
│ │ │ +  [20] .eh_frame         PROGBITS        00000000004cd680 4cd680 048588 00   A  0   0  8
│ │ │ +  [21] .gcc_except_table PROGBITS        0000000000515c08 515c08 0252cc 00   A  0   0  4
│ │ │ -  [17] .rodata           PROGBITS        0000000000446000 446000 07d843 00   A  0   0 16
│ │ │ -  [18] .debug_gdb_scripts PROGBITS        00000000004c3843 4c3843 000022 01 AMS  0   0  1
│ │ │ -  [19] .eh_frame_hdr     PROGBITS        00000000004c3868 4c3868 009d8c 00   A  0   0  4
│ │ │ -  [20] .eh_frame         PROGBITS        00000000004cd5f8 4cd5f8 048588 00   A  0   0  8
--8<---------------cut here---------------end--------------->8---

Ludo’.