Bug 16072

Summary: reproducible tests broken on Ubuntu 25.10
Product: [QA/Testing] Functional (self) Testing Reporter: Mathieu Dubois-Briand <mathieu.dubois-briand>
Component: oe-selftestAssignee: Unassigned <unassigned>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: High CC: alex.kanavin, randy.macleod, richard.purdie, ross.burton
Version: unspecified   
Target Milestone: 6.0 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Mathieu Dubois-Briand 2025-11-20 08:37:31 UTC
Reproducibility of some packages is broken on Ubuntu 25.10. Looking quickly at the diffoscope output, it appears that some generated files are not ordered in the same way.

AssertionError: The following deb packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/grub-efi_2.12-r0_amd64.deb
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/grub_2.12-r0_amd64.deb
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/libc6-src_2.42+git0+e34453cd6a-r0_amd64.deb
The following ipk packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/grub-efi_2.12-r0_x86-64-v3.ipk
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/grub_2.12-r0_x86-64-v3.ipk
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/libc6-src_2.42+git0+e34453cd6a-r0_x86-64-v3.ipk
The following rpm packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/grub-2.12-r0.x86_64_v3.rpm
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/grub-efi-2.12-r0.x86_64_v3.rpm
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/libc6-src-2.42+git0+e34453cd6a-r0.x86_64_v3.rpm
Comment 2 Richard Purdie 2025-11-20 15:44:31 UTC
kanavin: RP paulbarker yep, confirmed. it is gawk. different output between versions 5.2.1 and 5.3.2
Comment 4 Alexander Kanavin 2025-11-24 18:58:42 UTC
So what is going on:

different versions of gawk (5.2.1 and 5.3.2, for instance) produce different output (ordering-wise), reliably and deterministically. 

One way to observe it is with current glibc in oe-core master:

alex@Zen2:/srv/storage/alex/yocto/build-64/tmp/work/x86-64-v3-poky-linux/glibc/2.42+git/sources/glibc-2.42+git/posix$ gawk -f ../scripts/gen-posix-conf-vars.awk posix-conf-vars.list|less

(run on different hosts to get the varying gawk versions, or use gawk-native vs host gawk, and you'll see the reported reproducibility difference directly)
Comment 5 Ross Burton 2025-11-27 16:09:08 UTC
Fixed in oe-core c5bbf0a60b1 (gawk: use native gawk when building glibc and grub, 2025-11-21).