diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-06-01 18:08:20 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-06-02 12:28:21 +0100 |
commit | 3664efc86a020d782f43eda540872fca07293823 (patch) | |
tree | cdfe76cd9abde852de01638028b6c5d582166423 /bitbake | |
parent | c6785c78e672843bfec7132a266ed269387c9646 (diff) | |
download | poky-3664efc86a020d782f43eda540872fca07293823.tar.gz |
bitbake: runqueue: Fix unihash cache mismatch issues
Very occasionally we see errors in eSDK testing on the autobuilder where the task
hashes in the eSDK don't match what was just built. I was able to inspect one of
these build directories and noticed that the bb_unihashes.dat file in the eSDK
was zero sized. Whilst inspecting the code to understand the cause, I noticed that
updated hashes are not saved out in subsequent updates of the values in the rehash
process.
Add a missing sync call to ensure this happens.
(Bitbake rev: 7912dabbcf444a3c3d971cca4a944a8b931e301b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index f34f1568e2..1e47fe70ef 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -2299,6 +2299,9 @@ class RunQueueExecute: | |||
2299 | self.rqdata.runtaskentries[hashtid].unihash = unihash | 2299 | self.rqdata.runtaskentries[hashtid].unihash = unihash |
2300 | bb.parse.siggen.set_unihash(hashtid, unihash) | 2300 | bb.parse.siggen.set_unihash(hashtid, unihash) |
2301 | toprocess.add(hashtid) | 2301 | toprocess.add(hashtid) |
2302 | if torehash: | ||
2303 | # Need to save after set_unihash above | ||
2304 | bb.parse.siggen.save_unitaskhashes() | ||
2302 | 2305 | ||
2303 | # Work out all tasks which depend upon these | 2306 | # Work out all tasks which depend upon these |
2304 | total = set() | 2307 | total = set() |