unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: T460s laptop <maxim.cournoyer@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 34935@debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: bug#34935: nanopolish is not reproducible
Date: Sat, 30 Mar 2019 15:13:01 -0400	[thread overview]
Message-ID: <87ef6o41mq.fsf@kwak.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <874l7twmm2.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sat, 23 Mar 2019 18:01:57 +0100")

Ludovic Courtès <ludo@gnu.org> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> $ guix build --check --no-grafts nanopolish
>> [...]
>> guix build: error: derivation
>> `/gnu/store/7hzcmcwlw83f0wsqmz9nnl1ah54kwks4-nanopolish-0.10.2-1.50e8b5c.drv'
>> may not be deterministic: output
>> `/gnu/store/m7icaq7642zy0gvnqvymcnn8d088a9s0-nanopolish-0.10.2-1.50e8b5c'
>> differs
>>
>> $ diffoscope "$(guix build nanopolish)" /gnu/store/m7icaq7642zy0gvnqvymcnn8d088a9s0-nanopolish-0.10.2-1.50e8b5c
>>
>> │ │ │ - 0x000000000000001d (RUNPATH) Library runpath:
>> [/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib:/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib:/gnu/store/nq4lsyipmfb0q7g26ra45rwwqrh3x8zw-zlib-1.2.11/lib:/gnu/store/36i633snnhx4mgbnmm5rbkgk3qdi32ka-hdf5-1.8.21/lib:/gnu/store/x4xpcpsqmini25gkrc0h945ml9r609v5-htslib-1.9/lib:/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..]
>> │ │ │ + 0x000000000000001d (RUNPATH) Library runpath:
>> [/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib:/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib:/gnu/store/nq4lsyipmfb0q7g26ra45rwwqrh3x8zw-zlib-1.2.11/lib:/gnu/store/36i633snnhx4mgbnmm5rbkgk3qdi32ka-hdf5-1.8.21/lib:/gnu/store/d25i834bs8wvg8mh36bplxg61r6b7vz9-htslib-1.9/lib:/gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/../../..]
>>
>> The problem seems to lie in htslib.
>
> Aren’t you comparing two different builds, like one grafted the other
> ungrafted?
>
> What I do is:
>
>   guix build foo --check -K
>
> and then:
>
>   diffoscope /gnu/store/…-the-thing{,-check}
>
> That way you’re 100% sure you’re comparing two different builds of the
> very same derivation.

Thanks for pointing this to me.  As mentioned in another threda, to
really have a -check output, I had to use both --keep-failed and
--no-grafts (combined with --check).

The produced diffoscope is very large (3 MiB when xzipped), so I won't
post it here, but the non-reproducibility should be visible on any Guix
system, I believe.

It seems the binaries produced have symbols appearing at different
offset. Here's an excerpt:

>--- /gnu/store/95vcyvlcrlw82g9zpyh421mz3mnag0qx-nanopolish-0.10.2-1.50e8b5c
+++ /gnu/store/95vcyvlcrlw82g9zpyh421mz3mnag0qx-nanopolish-0.10.2-1.50e8b5c-check
├── bin
│ ├── nanopolish
│ │ ├── /gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/bin/readelf --wide --file-header {}
│ │ │ @@ -6,15 +6,15 @@
│ │ │    OS/ABI:                            UNIX - GNU
│ │ │    ABI Version:                       0
│ │ │    Type:                              EXEC (Executable file)
│ │ │    Machine:                           Advanced Micro Devices X86-64
│ │ │    Version:                           0x1
│ │ │    Entry point address:               0x40b580
│ │ │    Start of program headers:          64 (bytes into file)
│ │ │ -  Start of section headers:          4204728 (bytes into file)
│ │ │ +  Start of section headers:          4204696 (bytes into file)
│ │ │    Flags:                             0x0
│ │ │    Size of this header:               64 (bytes)
│ │ │    Size of program headers:           56 (bytes)
│ │ │    Number of program headers:         12
│ │ │    Size of section headers:           64 (bytes)
│ │ │    Number of section headers:         34
│ │ │    Section header string table index: 33

[...]

│ │ ├── /gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/bin/readelf --wide --sections {}
│ │ │ @@ -1,8 +1,8 @@
│ │ │ -There are 34 section headers, starting at offset 0x4028b8:
│ │ │ +There are 34 section headers, starting at offset 0x402898:
│ │ │  
│ │ │  Section Headers:
│ │ │    [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
│ │ │    [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  0
│ │ │    [ 1] .interp           PROGBITS        00000000004002e0 0002e0 000050 00   A  0   0  1
│ │ │    [ 2] .note.ABI-tag     NOTE            0000000000400330 000330 000020 00   A  0   0  4
│ │ │    [ 3] .hash             HASH            0000000000400350 000350 00091c 04   A  5   0  8
│ │ │ @@ -14,30 +14,30 @@
│ │ │    [ 9] .rela.dyn         RELA            00000000004053e0 0053e0 001248 18   A  5   0  8
│ │ │    [10] .rela.plt         RELA            0000000000406628 006628 001380 18  AI  5  27  8
│ │ │    [11] .init             PROGBITS        0000000000408000 008000 000017 00  AX  0   0  4
│ │ │    [12] .plt              PROGBITS        0000000000408020 008020 000d10 10  AX  0   0 16
│ │ │    [13] .plt.got          PROGBITS        0000000000408d30 008d30 000128 08  AX  0   0  8
│ │ │    [14] .text             PROGBITS        0000000000408e60 008e60 0f7222 00  AX  0   0 16
│ │ │    [15] .fini             PROGBITS        0000000000500084 100084 000009 00  AX  0   0  4
│ │ │ -  [16] .rodata           PROGBITS        0000000000501000 101000 2a92d0 00   A  0   0 32
│ │ │ -  [17] .eh_frame_hdr     PROGBITS        00000000007aa2d0 3aa2d0 002094 00   A  0   0  4
│ │ │ -  [18] .eh_frame         PROGBITS        00000000007ac368 3ac368 00eb70 00   A  0   0  8
│ │ │ -  [19] .gcc_except_table PROGBITS        00000000007baed8 3baed8 00a8d0 00   A  0   0  4
│ │ │ +  [16] .rodata           PROGBITS        0000000000501000 101000 2a9330 00   A  0   0 32
│ │ │ +  [17] .eh_frame_hdr     PROGBITS        00000000007aa330 3aa330 002094 00   A  0   0  4
│ │ │ +  [18] .eh_frame         PROGBITS        00000000007ac3c8 3ac3c8 00eb78 00   A  0   0  8
│ │ │ +  [19] .gcc_except_table PROGBITS        00000000007baf40 3baf40 00a8c0 00   A  0   0  4
│ │ │    [20] .tbss             NOBITS          00000000007c6c40 3c5c40 00002c 00 WAT  0   0  8
│ │ │    [21] .init_array       INIT_ARRAY      00000000007c6c40 3c5c40 000110 08  WA  0   0  8
│ │ │    [22] .fini_array       FINI_ARRAY      00000000007c6d50 3c5d50 000008 08  WA  0   0  8

HTH!

Maxim

  reply	other threads:[~2019-03-30 19:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-21  3:11 bug#34935: nanopolish is not reproducible Maxim Cournoyer
2019-03-23 17:01 ` Ludovic Courtès
2019-03-30 19:13   ` T460s laptop [this message]
2021-01-13 15:53   ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ef6o41mq.fsf@kwak.i-did-not-set--mail-host-address--so-tickle-me \
    --to=maxim.cournoyer@gmail.com \
    --cc=34935@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).