Building an image failed: ERROR: core-image-sato-1.0-r0 do_rootfs: Unable to update the package index files. Command '['/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/recipe-sysroot-native/usr/bin/apt-get', 'update']' returned -6: Get:1 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/qemux86 ./ InRelease Ign:1 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/qemux86 ./ InRelease Get:2 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/core2-32 ./ InRelease Ign:2 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/core2-32 ./ InRelease Get:3 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/all ./ InRelease Ign:3 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/all ./ InRelease Get:4 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/qemux86 ./ Release [1,219 B] Get:5 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/core2-32 ./ Release [1,220 B] Get:6 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/all ./ Release [1,215 B] Get:4 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/qemux86 ./ Release [1,219 B] Get:7 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/qemux86 ./ Release.gpg Ign:7 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/qemux86 ./ Release.gpg Get:5 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/core2-32 ./ Release [1,220 B] Get:6 file:/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/oe-rootfs-repo/all ./ Release [1,215 B] abort()ing pseudo client by server request. See https://wiki.yoctoproject.org/wiki/Pseudo_Abort for more details on this. Check logfile: /home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/pseudo//pseudo.log The pseudo.log has the following path mismatches: path mismatch [1 link]: ino 143525936 db '/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/apt/lists/partial/_home_pokybuild_yocto-worker_pkgman-non-rpm_build_build_tmp_work_qemux86-poky-linux_core-image-sato_1.0-r0_oe-rootfs-repo_qemux86_._Release.CBFzPd' req '/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/apt/lists/partial/_home_pokybuild_yocto-worker_pkgman-non-rpm_build_build_tmp_work_qemux86-poky-linux_core-image-sato_1.0-r0_oe-rootfs-repo_qemux86_._Release'. This happened more than once, the other build had the same error: path mismatch [1 link]: ino 27666766 db '/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/apt/lists/partial/_home_pokybuild_yocto-worker_pkgman-non-rpm_build_build_tmp_work_qemux86-poky-linux_core-image-sato_1.0-r0_oe-rootfs-repo_all_._Release.RpRzHw' req '/home/pokybuild/yocto-worker/pkgman-non-rpm/build/build/tmp/work/qemux86-poky-linux/core-image-sato/1.0-r0/apt/lists/partial/_home_pokybuild_yocto-worker_pkgman-non-rpm_build_build_tmp_work_qemux86-poky-linux_core-image-sato_1.0-r0_oe-rootfs-repo_all_._Release'
RP: Looks like mkstemp is racing with pseudo occasionally. Encounterd when using apt but likely happening elsewhere from time to time.
There was a recent fix in pseudo for rename() handling. We may want to audit the apt codepaths to see if that rename issue could have caused this. The worry is the rename()+fstat() issue should reproduce all the time and this does not.
https://autobuilder.yoctoproject.org/typhoon/#/builders/56/builds/1341/steps/14/logs/stdio pid 959642 [parent 959629], doing new pid setup and server start Setup complete, sending SIGUSR1 to pid 959629. path mismatch [1 link]: ino 88221442 db '/home/pokybuild/yocto-worker/oe-selftest/build/build-st-2079038/reproducibleB/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/apt/lists/partial/_home_pokybuild_yocto-worker_oe-selftest_build_build-st-2079038_reproducibleB_tmp_work_qemux86%5f64-poky-linux_core-image-sato_1.0-r0_oe-rootfs-repo_all_._Release.oY00En' req '/home/pokybuild/yocto-worker/oe-selftest/build/build-st-2079038/reproducibleB/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/apt/lists/partial/_home_pokybuild_yocto-worker_oe-selftest_build_build-st-2079038_reproducibleB_tmp_work_qemux86%5f64-poky-linux_core-image-sato_1.0-r0_oe-rootfs-repo_all_._Release'. db cleanup for server shutdown, 03:04:13.117 memory-to-file backup complete, 03:04:13.118. db cleanup finished, 03:04:13.118 pseudo.log (END) so definitely still present
I suspect what is is happening is that in between pseudo calling real_rename() and then running OP_RENAME on the pseudo database, something is calling something like stat() on the newpath. This stat call would have the same inode as oldpath and oldpath would still be in the database but isn't marked as MAY_UNLINK so this abort triggers. The fix is likely to mark oldpath as MAY_UNLINK in the database before real_rename call.
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=064e203987fa9e5b46046ca48d0f9f0e27df490c