I'm cross posting this cause I suspect it's a bitbake bug, but it requires sstate-cache / setscene stuff which is from the oe-core side of things. I really don't know what is causing the problem, but I can at least reproduce it, even if it ends up taking a while.
The configuration. I'm building a system that has 4 multiconfigs (plus the regular configuration), with the output being an SDK (main config), and 4 different rootfs from the multiconfig. (See below for actual setup details for the reproducer.) What is happening. The system starts building and appears to correctly defer the building of the duplicate components. Eventually it will start building the item that is not deferred, and soon after it appears to change what is deferred and will attempt to call setscene tasks, but the sstate-cache has not yet been written to by the first task. This is occurring on a completely new build, no existing sstate-cache. The console-log can show the order in which things are happening for a small subset, so might be helpful. In this chunk socat ended up showing this behavior: NOTE: Deferring mc:qemuarm64-one:socat.bb:do_deploy_source_date_epoch after mc:qemuarm64-four:socat.bb:do_deploy_source_date_epoch [repeat for do_package] [repeat for do_package_qa] [repeat for do_package_write_rpm] [repeat for do_packagedata] [repeat for do_populate_lic] [repeat for do_populate_sysroot] *** repeat the sequence above for mc:qemuarm64-three which defers for four *** *** repeat the sequence above for mc:qemuarm64-two which defers for four *** NOTE: Running task 1362 of 15106 (mc:qemuarm64-four:socat_1.7.4.1.bb:do_fetch) NOTE: recipe socat-1.7.4.1-r0: task do_fetch: Started NOTE: recipe socat-1.7.4.1-r0: task do_fetch: Succeeded NOTE: Running task 1397 of 15106 (mc:qemuarm64-four:socat_1.7.4.1.bb:do_unpack) NOTE: recipe socat-1.7.4.1-r0: task do_unpack: Started NOTE: recipe socat-1.7.4.1-r0: task do_unpack: Succeeded NOTE: Running task 2617 of 15106 (mc:qemuarm64-four:socat_1.7.4.1.bb:do_patch) NOTE: recipe socat-1.7.4.1-r0: task do_patch: Started NOTE: recipe socat-1.7.4.1-r0: task do_patch: Succeeded NOTE: Running task 2711 of 15106 (mc:qemuarm64-four:socat_1.7.4.1.bb:do_deploy_source_date_epoch) NOTE: recipe socat-1.7.4.1-r0: task do_deploy_source_date_epoch: Started NOTE: recipe socat-1.7.4.1-r0: task do_deploy_source_date_epoch: Succeeded (starts deferring three again after one) NOTE: Deferring mc:qemuarm64-three:socat_1.7.4.1.bb:do_deploy_source_date_epoch after mc:qemuarm64-one:socat_1.7.4.1.bb:do_deploy_source_date_epoch [repeat for do_package] [repeat for do_package_qa] [repeat for do_package_write_rpm] [repeat for do_packagedata] [repeat for do_populate_lic] [repeat for do_populate_sysroot] *** repeat the defer sequence above for mc:qemuarm64-two for one *** NOTE: Running setscene task 1930 of 5424 (mc:qemuarm64-one:socat_1.7.4.1.bb:do_populate_sysroot_setscene) NOTE: recipe socat-1.7.4.1-r0: task do_populate_sysroot_setscene: Started ERROR: mc:qemuarm64-one:socat-1.7.4.1-r0 do_populate_sysroot_setscene: No suitable staging package found ERROR: Logfile of failure stored in: ...socat/1.7.4.1-r0/temp/log.do_populate_sysroot_setscene.154008 NOTE: recipe socat-1.7.4.1-r0: task do_populate_sysroot_setscene: Failed WARNING: Setscene task (mc:qemuarm64-one:socat_1.7.4.1.bb:do_populate_sysroot_setscene) failed with exit code '1' - real task will be run instead NOTE: Running task 3183 of 15106 (mc:qemuarm64-four:/socat_1.7.4.1.bb:do_populate_lic) ... now we have components of 'one' and 'four' building ... eventually two and three unlock as well and may build at the same time... (Note, this build happened to be socat first, but other builds I've run have different things that end up going first -- and it's not always the same items.) Reproducer: latest version of poky $ . ./oe-init-build-env build-mc $ mkdir conf/multiconfig add the following files to multiconfig directory: conf/multiconfig/qemuarm64-one.conf: MACHINE = "qemuarm64" SOC_VARIANT = "one" TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${SOC_VARIANT}-${TCLIBC}" conf/multiconfig/qemuarm64-two.conf: MACHINE = "qemuarm64" SOC_VARIANT = "two" TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${SOC_VARIANT}-${TCLIBC}" conf/multiconfig/qemuarm64-three.conf: MACHINE = "qemuarm64" SOC_VARIANT = "three" TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${SOC_VARIANT}-${TCLIBC}" conf/multiconfig/qemuarm64-four.conf: MACHINE = "qemuarm64" SOC_VARIANT = "four" TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${SOC_VARIANT}-${TCLIBC}" edit the conf/local.conf and add: BBMULTICONFIG += "qemuarm64-one" BBMULTICONFIG += "qemuarm64-two" BBMULTICONFIG += "qemuarm64-three" BBMULTICONFIG += "qemuarm64-four" Start the build: $ bitbake buildtools-tarball mc:qemuarm64-one:core-image-minimal mc:qemuarm64-two:core-image-minimal mc:qemuarm64-three:core-image-minimal mc:qemuarm64-four:core-image-minimal
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#151347): https://lists.openembedded.org/g/openembedded-core/message/151347 Mute This Topic: https://lists.openembedded.org/mt/82613644/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-