diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-13 04:26:31 -1000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-09-16 17:53:22 +0100 |
commit | 74883eca07dbb4d2e6a3dd8bd40027025a457ba2 (patch) | |
tree | 488592fc3a2f046c579f634c3ee96df185e5093a /bitbake/lib | |
parent | b53aff215effa6fdb02d3ac90d6ea654bd43e0eb (diff) | |
download | poky-74883eca07dbb4d2e6a3dd8bd40027025a457ba2.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: 81a6f490dd1f5f669c75cd2ceb1105ce7a09c6e4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7912dabbcf444a3c3d971cca4a944a8b931e301b)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-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 7eea72e66d..111dc0ee72 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -2381,6 +2381,9 @@ class RunQueueExecute: | |||
2381 | self.rqdata.runtaskentries[hashtid].unihash = unihash | 2381 | self.rqdata.runtaskentries[hashtid].unihash = unihash |
2382 | bb.parse.siggen.set_unihash(hashtid, unihash) | 2382 | bb.parse.siggen.set_unihash(hashtid, unihash) |
2383 | toprocess.add(hashtid) | 2383 | toprocess.add(hashtid) |
2384 | if torehash: | ||
2385 | # Need to save after set_unihash above | ||
2386 | bb.parse.siggen.save_unitaskhashes() | ||
2384 | 2387 | ||
2385 | # Work out all tasks which depend upon these | 2388 | # Work out all tasks which depend upon these |
2386 | total = set() | 2389 | total = set() |