https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246630
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: [email protected]
Reporter: [email protected]
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) =
3c96ab697fc721c226f99971863bcadbbbc73ccfec1abe2f04cbce60e3276a89
SHA256
(/images/FreeBSD/FreeBSD-11.4-BETA2-amd64-r361067-rebuild-2cores-t520/rescue/cp)
= 3c96ab697fc721c226f99971863bcadbbbc73ccfec1abe2f04cbce60e3276a89
SHA256
(/images/FreeBSD/FreeBSD-11.4-BETA2-amd64-r361067-rebuild-4cores/rescue/cp) =
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
├── readelf --wide --sections {}
│ @@ -1,16 +1,16 @@
│ There are 19 section headers, starting at offset 0xa18bb0:
│
│ Section Headers:
│ [Nr] Name Type Addr Off Size ES
Flg Lk Inf Al
│ [ 0] NULL 0000000000000000 000000 000000 00
0 0 0
│ [ 1] .note.tag NOTE 0000000000400190 000190 000030 00
A 0 0 4
│ [ 2] .init PROGBITS 00000000004001c0 0001c0 000018 00
AX 0 0 4
│ - [ 3] .text PROGBITS 0000000000400200 000200 6dab08 00
AX 0 0 64
│ - [ 4] .fini PROGBITS 0000000000adad08 6dad08 00000e 00
AX 0 0 4
│ + [ 3] .text PROGBITS 0000000000400200 000200 6daa88 00
AX 0 0 64
│ + [ 4] .fini PROGBITS 0000000000adac88 6dac88 00000e 00
AX 0 0 4
│ [ 5] .rodata PROGBITS 0000000000adb000 6db000 216bd8 00
A 0 0 4096
│ [ 6] .eh_frame_hdr PROGBITS 0000000000cf1bd8 8f1bd8 0245ec 00
A 0 0 4
│ [ 7] .eh_frame X86_64_UNWIND 0000000000d161c8 9161c8 0bb90c 00
A 0 0 8
│ [ 8] .tdata PROGBITS 0000000000fd2000 9d2000 000068 00
WAT 0 0 16
│ [ 9] .tbss NOBITS 0000000000fd2070 9d2068 000840 00
WAT 0 0 16
│ [10] .ctors PROGBITS 0000000000fd2070 9d2070 0000c0 00
WA 0 0 8
│ [11] .dtors PROGBITS 0000000000fd2130 9d2130 000018 00
WA 0 0 8
├── readelf --wide --debug-dump=frames {}
│ @@ -9894,21179 +9894,21195 @@
│ DW_CFA_nop
│ DW_CFA_nop
│ DW_CFA_nop
│ DW_CFA_nop
│ DW_CFA_nop
│ DW_CFA_nop
│
│ -00005ee0 0000002c 00005ee4 FDE cie=00000000 pc=0043c780..0043d57c
│ +00005ee0 0000002c 00005ee4 FDE cie=00000000 pc=0043c780..0043d4c3
│ DW_CFA_advance_loc: 1 to 0043c781
│ DW_CFA_def_cfa_offset: 16
│ DW_CFA_offset: r6 (rbp) at cfa-16
│ DW_CFA_advance_loc: 3 to 0043c784
│ DW_CFA_def_cfa_register: r6 (rbp)
│ DW_CFA_advance_loc: 16 to 0043c794
│ DW_CFA_offset: r3 (rbx) at cfa-56
│ DW_CFA_offset: r12 (r12) at cfa-48
│ DW_CFA_offset: r13 (r13) at cfa-40
│ DW_CFA_offset: r14 (r14) at cfa-32
│ DW_CFA_offset: r15 (r15) at cfa-24
│ - DW_CFA_advance_loc2: 3554 to 0043d576
│ + DW_CFA_advance_loc2: 3369 to 0043d4bd
│ DW_CFA_def_cfa: r7 (rsp) ofs 8
│ - DW_CFA_advance_loc: 1 to 0043d577
│ + DW_CFA_advance_loc: 1 to 0043d4be
│ DW_CFA_def_cfa: r6 (rbp) ofs 16
│ DW_CFA_nop
│ 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.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"