All of lore.kernel.org
 help / color / mirror / Atom feed
* Should stamp files for different versions of a recipe exist at the same time?
@ 2025-05-30 17:17 Mike Crowe
  2025-06-02 10:15 ` [bitbake-devel] " Quentin Schulz
  0 siblings, 1 reply; 14+ messages in thread
From: Mike Crowe @ 2025-05-30 17:17 UTC (permalink / raw)
  To: bitbake-devel

I seem to be running into a problem in Scarthgap that relates to outdated
stamp files not being removed. I think this results in tasks not running
when they should in later builds. I don't believe that this problem happens
with Dunfell[1], though it does still happen with current master (both
Bitbake and openembedded-core) too[2].

In case my description below isn't clear, the files required are available
in
https://github.com/mikecrowe/openembedded-core/tree/stamps-not-removed-repro
though
https://github.com/mikecrowe/openembedded-core/commit/8fd8055ab3e1d2d429c6076481952bace251750c
is probably the most interesting to look at.

My reproduction requires a package to have two different recipes with
different COMPATIBLE_MACHINEs and swapping between building for those two
different MACHINEs. I'm using dummy recipes called lictest_one.bb and
lictest_two.bb because I'm able to reproduce this problem with licence
files, though I suspect that it is not limited to them. I have two machines
named qemuarm64 and qemuarm64b.

# PREPARATION

I first start by running the cleansstate task for the recipe for both
MACHINEs in order to ensure we're starting from a sensible state:

 MACHINE=qemuarm64 bitbake -c cleansstate lictest
 MACHINE=qemuarm64b bitbake -c cleansstate lictest

# FIRST MACHINE BUILD 1

I build for the first machine:

 MACHINE=qemuarm64 bitbake core-image-minimal

At this point tmp-glibc/deploy/licenses/cortexa57/lictest contains the
licence files and tmp-glibc/stamps/cortexa57-oe-linux/lictest/ contains
stamp files only from lictest_one.bb as expected.

# SECOND MACHINE BUILD 1

I build for the second machine:

 MACHINE=qemuarm64b bitbake lictest

At this point tmp-glibc/deploy/licenses/cortexa57/lictest contains the
licence files from lictest_two.bb as expected.
tmp-glibc/stamps/cortexa57-oe-linux/lictest/ contains stamp files from both
recipes. This is unexpected to me as I would have expected the stamps from
lictest_one.bb to be removed due to them being unreachable.

# FIRST MACHINE BUILD 2

I go back to build for the first machine again with some debug output:

 MACHINE=qemuarm64 bitbake -DDD lictest

In that debug output I found:

 DEBUG: Stampfile /fast/mac/git/oe-core/build/tmp-glibc/stamps/cortexa57-oe-linux/lictest/1.do_populate_lic_setscene.eba2f40dbe8904031c070aeff35abee46485bfa827e27731e02e8c5a84ef3a46 not available
 DEBUG: Normal stamp current for task /fast/mac/git/oe-core/meta/recipes-core/lictest/lictest_one.bb:do_populate_lic
 DEBUG: Found task /fast/mac/git/oe-core/meta/recipes-core/lictest/lictest_one.bb:do_populate_lic which could be accelerated
 DEBUG: /fast/mac/git/oe-core/meta/recipes-core/lictest/lictest_one.bb:do_populate_lic has a valid stamp, skipping
/fast/mac/git/oe-core/meta/recipes-core/lictest/lictest_one.bb:do_populate_lic
 DEBUG: Marking task /fast/mac/git/oe-core/meta/recipes-core/lictest/lictest_one.bb:do_populate_lic as buildable
 DEBUG: Setscene covered task /fast/mac/git/oe-core/meta/recipes-core/lictest/lictest_one.bb:do_populate_lic

and tmp-glibc/deploy/licenses/cortexa57/lictest is either empty or it
contains the licence files from lictest_two! The stamps from lictest_two.bb
have been removed from tmp-glibc/stamps/cortexa57-oe-linux/lictest/, but
the ones from lictest_one.bb remain.

My guess is that the problem here is that the stamps from the first machine
build weren't removed during the "SECOND MACHINE BUILD 1" step above. If I
remove them myself then the problem goes away. Is that theory correct? If
so, then I can start trying to work out why and any advice would be
welcome. If that theory is not correct then does anyone have any idea where
I should start investigating?

Thanks.

Mike.

[1] But with the fix for
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14123 cherry-picked.

[2] If the reproduction script is tweaked to replace tmp-glibc with tmp.


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-06-17 13:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-30 17:17 Should stamp files for different versions of a recipe exist at the same time? Mike Crowe
2025-06-02 10:15 ` [bitbake-devel] " Quentin Schulz
2025-06-02 10:49   ` Mike Crowe
2025-06-02 14:17     ` Richard Purdie
2025-06-02 16:37       ` Mike Crowe
2025-06-02 21:04         ` Richard Purdie
2025-06-03 10:07           ` Mike Crowe
2025-06-03 10:18             ` Richard Purdie
2025-06-08 19:20           ` Mike Crowe
2025-06-08 21:35             ` Richard Purdie
2025-06-09 14:45               ` Mike Crowe
     [not found]               ` <1847671617FAC7D3.17668@lists.openembedded.org>
2025-06-12 14:33                 ` Mike Crowe
2025-06-13 15:20                   ` Richard Purdie
2025-06-17 13:47                     ` Mike Crowe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.