This is possibly not related to nettle: https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/985/steps/13/logs/stdio reproducible debian9-ty-2 https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20220609-5bq03hze/packages/diff-html/ From Richard: """ In poking around the build directory which I saved, somehow /usr/lib/nettle/ptest/testsuite/ecc-sqrt-test ends up as a sparse file filled with zeros, which then results in the .debug version not being created. pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0/packages-split/nettle-ptest/usr/lib/nettle/ptest/testsuite$ file ecc-sqrt-test ecc-sqrt-test: data pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0/packages-split/nettle-ptest/usr/lib/nettle/ptest/testsuite$ file ecc-add-test ecc-add-test: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-x86-64.so.2, BuildID[sha1]=2f7e2d2fc004a51e52f70ba68dcd5a805d590b3e, for GNU/Linux 3.2.0, not stripped pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0$ file package/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test package/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test: data pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0$ file image/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test image/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-x86-64.so.2, BuildID[sha1]=f5dff0233b77a0bfc20554295d1e1fac6a273b9d, for GNU/Linux 3.2.0, not stripped pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0$ ls -la image/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test -rwxr-xr-x 1 pokybuild pokybuild 321216 Jun 9 02:00 image/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0$ ls -la package/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test -rwxr-xr-x 2 pokybuild pokybuild 321216 Jun 2 17:57 package/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0$ du -h image/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test 316K image/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test pokybuild@debian9-ty-2:~/yocto-worker/reproducible/build/build-st/reproducibleB/tmp/work/core2-64-poky-linux/nettle/3.8-r0$ du -h package/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test 0 package/usr/lib/nettle/ptest/testsuite/ecc-sqrt-test so somewhere between the file being created in image/ (in do_install) and the file in package/ in do_package, it is corrupted but has the right size and is sparse. This suggests our packaging code has broken somewhere along the way. Nothing in the pseudo log or in the do_package log. I have the saved build directory but not sure there is anything else to learn from it :/. """
Our reproducible builds will fail if this happens so this appears to be a very rare error. If someone wants to review objdump and other tools that would be interesting. One could also use inotify or lttng to monitor the file in question.
It didn't reproduce in a while and we suspect a rare race condition in binutils