Bug 16072 - reproducible tests broken on Ubuntu 25.10
Summary: reproducible tests broken on Ubuntu 25.10
Status: RESOLVED FIXED
Alias: None
Product: Functional (self) Testing
Classification: QA/Testing
Component: oe-selftest (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: High normal
Target Milestone: 6.0 M1
Assignee: Unassigned
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2025-11-20 08:37 UTC by Mathieu Dubois-Briand
Modified: 2025-11-27 16:09 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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).