Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 May 2020 11:52:05 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 246630] stable/11 regression: base.txz reproducibility depends on number of cpu cores
Message-ID:  <bug-246630-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D246630

            Bug ID: 246630
           Summary: stable/11 regression: base.txz reproducibility depends
                    on number of cpu cores
           Product: Base System
           Version: Unspecified
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: fk@fabiankeil.de

On a recent FreeBSD stable/11 the rescue binary content varies depending
on the number of cpu cores.

With a 2 core system I can reproduce the binaries from the official
11.4-BETA2 release, with a 4 core system I get different results:

SHA256 (/images/FreeBSD/FreeBSD-11.4-BETA2-amd64-r361067-official/rescue/cp=
) =3D
3c96ab697fc721c226f99971863bcadbbbc73ccfec1abe2f04cbce60e3276a89
SHA256
(/images/FreeBSD/FreeBSD-11.4-BETA2-amd64-r361067-rebuild-2cores-t520/rescu=
e/cp)
=3D 3c96ab697fc721c226f99971863bcadbbbc73ccfec1abe2f04cbce60e3276a89
SHA256
(/images/FreeBSD/FreeBSD-11.4-BETA2-amd64-r361067-rebuild-4cores/rescue/cp)=
 =3D
06e0b2964901fa02ed2f4e02c1334cb82ce1d97f4a6fc7a2632a6f74b35955d1

Diffoscope seems to indicate that some offsets are different.
The output starts with:

--- FreeBSD/FreeBSD-11.4-BETA2-amd64-r361067-official/rescue/cp
+++ FreeBSD/FreeBSD-11.4-BETA2-amd64-r361067-rebuild-4cores/rescue/cp
=E2=94=9C=E2=94=80=E2=94=80 readelf --wide --sections {}
=E2=94=82 @@ -1,16 +1,16 @@
=E2=94=82  There are 19 section headers, starting at offset 0xa18bb0:
=E2=94=82=20=20
=E2=94=82  Section Headers:
=E2=94=82    [Nr] Name              Type            Addr             Off   =
 Size   ES
Flg Lk Inf Al
=E2=94=82    [ 0]                   NULL            0000000000000000 000000=
 000000 00=20=20
   0   0  0
=E2=94=82    [ 1] .note.tag         NOTE            0000000000400190 000190=
 000030 00=20=20
A  0   0  4
=E2=94=82    [ 2] .init             PROGBITS        00000000004001c0 0001c0=
 000018 00=20
AX  0   0  4
=E2=94=82 -  [ 3] .text             PROGBITS        0000000000400200 000200=
 6dab08 00=20
AX  0   0 64
=E2=94=82 -  [ 4] .fini             PROGBITS        0000000000adad08 6dad08=
 00000e 00=20
AX  0   0  4
=E2=94=82 +  [ 3] .text             PROGBITS        0000000000400200 000200=
 6daa88 00=20
AX  0   0 64
=E2=94=82 +  [ 4] .fini             PROGBITS        0000000000adac88 6dac88=
 00000e 00=20
AX  0   0  4
=E2=94=82    [ 5] .rodata           PROGBITS        0000000000adb000 6db000=
 216bd8 00=20=20
A  0   0 4096
=E2=94=82    [ 6] .eh_frame_hdr     PROGBITS        0000000000cf1bd8 8f1bd8=
 0245ec 00=20=20
A  0   0  4
=E2=94=82    [ 7] .eh_frame         X86_64_UNWIND   0000000000d161c8 9161c8=
 0bb90c 00=20=20
A  0   0  8
=E2=94=82    [ 8] .tdata            PROGBITS        0000000000fd2000 9d2000=
 000068 00
WAT  0   0 16
=E2=94=82    [ 9] .tbss             NOBITS          0000000000fd2070 9d2068=
 000840 00
WAT  0   0 16
=E2=94=82    [10] .ctors            PROGBITS        0000000000fd2070 9d2070=
 0000c0 00=20
WA  0   0  8
=E2=94=82    [11] .dtors            PROGBITS        0000000000fd2130 9d2130=
 000018 00=20
WA  0   0  8
=E2=94=9C=E2=94=80=E2=94=80 readelf --wide --debug-dump=3Dframes {}
=E2=94=82 @@ -9894,21179 +9894,21195 @@
=E2=94=82    DW_CFA_nop
=E2=94=82    DW_CFA_nop
=E2=94=82    DW_CFA_nop
=E2=94=82    DW_CFA_nop
=E2=94=82    DW_CFA_nop
=E2=94=82    DW_CFA_nop
=E2=94=82=20=20
=E2=94=82 -00005ee0 0000002c 00005ee4 FDE cie=3D00000000 pc=3D0043c780..004=
3d57c
=E2=94=82 +00005ee0 0000002c 00005ee4 FDE cie=3D00000000 pc=3D0043c780..004=
3d4c3
=E2=94=82    DW_CFA_advance_loc: 1 to 0043c781
=E2=94=82    DW_CFA_def_cfa_offset: 16
=E2=94=82    DW_CFA_offset: r6 (rbp) at cfa-16
=E2=94=82    DW_CFA_advance_loc: 3 to 0043c784
=E2=94=82    DW_CFA_def_cfa_register: r6 (rbp)
=E2=94=82    DW_CFA_advance_loc: 16 to 0043c794
=E2=94=82    DW_CFA_offset: r3 (rbx) at cfa-56
=E2=94=82    DW_CFA_offset: r12 (r12) at cfa-48
=E2=94=82    DW_CFA_offset: r13 (r13) at cfa-40
=E2=94=82    DW_CFA_offset: r14 (r14) at cfa-32
=E2=94=82    DW_CFA_offset: r15 (r15) at cfa-24
=E2=94=82 -  DW_CFA_advance_loc2: 3554 to 0043d576
=E2=94=82 +  DW_CFA_advance_loc2: 3369 to 0043d4bd
=E2=94=82    DW_CFA_def_cfa: r7 (rsp) ofs 8
=E2=94=82 -  DW_CFA_advance_loc: 1 to 0043d577
=E2=94=82 +  DW_CFA_advance_loc: 1 to 0043d4be
=E2=94=82    DW_CFA_def_cfa: r6 (rbp) ofs 16
=E2=94=82    DW_CFA_nop
=E2=94=82    DW_CFA_nop

The whole diff in text format has a size of 217M so I'm not attaching it.

I first saw the issue after rebasing ElectroBSD on r360524 and confirmed
that it still exists in r360986.

The problem does not exist in r357496 and earlier but I don't yet know
the exact revision when the problem was introduced.

I can't reproduce the issue on FreeBSD-13.0-CURRENT amd64
using the 20200514-r361019 snapshot.

I haven't tested 12/stable.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-246630-227>