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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to