summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-13 04:26:31 -1000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-09-16 17:53:22 +0100
commit74883eca07dbb4d2e6a3dd8bd40027025a457ba2 (patch)
tree488592fc3a2f046c579f634c3ee96df185e5093a /bitbake
parentb53aff215effa6fdb02d3ac90d6ea654bd43e0eb (diff)
downloadpoky-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')
-rw-r--r--bitbake/lib/bb/runqueue.py3
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()