summaryrefslogtreecommitdiffstats
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:52:26 +0100
commit81a6f490dd1f5f669c75cd2ceb1105ce7a09c6e4 (patch)
tree5cb15fa1d81a23835518bf624eae01c6009e5bbe
parent7d3b766ef26361c44abc2b8175bc5c44e29c3955 (diff)
downloadbitbake-81a6f490dd1f5f669c75cd2ceb1105ce7a09c6e4.tar.gz
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. 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>
-rw-r--r--lib/bb/runqueue.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 7eea72e66..111dc0ee7 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -2381,6 +2381,9 @@ class RunQueueExecute:
self.rqdata.runtaskentries[hashtid].unihash = unihash
bb.parse.siggen.set_unihash(hashtid, unihash)
toprocess.add(hashtid)
+ if torehash:
+ # Need to save after set_unihash above
+ bb.parse.siggen.save_unitaskhashes()
# Work out all tasks which depend upon these
total = set()