Message ID | 20220601182239.103588-1-richard.purdie@linuxfoundation.org |
---|---|
State | Accepted, archived |
Commit | 7912dabbcf444a3c3d971cca4a944a8b931e301b |
Headers | show |
Series | [1/3] runqueue: Fix unihash cache mismatch issues | expand |
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index f34f1568e2..1e47fe70ef 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -2299,6 +2299,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()
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> --- lib/bb/runqueue.py | 3 +++ 1 file changed, 3 insertions(+)