aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-15 12:55:29 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-16 17:43:02 +0100
commitfe8105cc06beca8240b76ea366a1eff5aa9c5412 (patch)
treefb1da7c44795c83d26d2c08e93fc3314bd86a302
parentb9e4fb843cb9d3a4d4404af093a781fab5520465 (diff)
downloadbitbake-fe8105cc06beca8240b76ea366a1eff5aa9c5412.tar.gz
bitbake-worker: Add debug when unpickle fails
We occasionally see bitbake-worker failing and from the logs, an unpickle error occurs. Add more debug so we can further debug this next time it fails. [YOCTO #14595] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xbin/bitbake-worker6
1 files changed, 5 insertions, 1 deletions
diff --git a/bin/bitbake-worker b/bin/bitbake-worker
index c8eb65567..bf96207ed 100755
--- a/bin/bitbake-worker
+++ b/bin/bitbake-worker
@@ -418,7 +418,11 @@ class BitbakeWorker(object):
if self.queue.startswith(b"<" + item + b">"):
index = self.queue.find(b"</" + item + b">")
while index != -1:
- func(self.queue[(len(item) + 2):index])
+ try:
+ func(self.queue[(len(item) + 2):index])
+ except pickle.UnpicklingError:
+ workerlog_write("Unable to unpickle data: %s\n" % ":".join("{:02x}".format(c) for c in self.queue))
+ raise
self.queue = self.queue[(index + len(item) + 3):]
index = self.queue.find(b"</" + item + b">")