From 0b500dba7ad1eb222b1703795967da7f88aeeb50 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 26 Oct 2021 22:06:47 +0800 Subject: [PATCH] bitbake: 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] (Bitbake rev: 692fa35f4c23722f3179502cb965960cc230e709) Signed-off-by: Richard Purdie (cherry picked from commit fe8105cc06beca8240b76ea366a1eff5aa9c5412) Signed-off-by: Anuj Mittal Signed-off-by: Richard Purdie --- bitbake/bin/bitbake-worker | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker index 6a12e1fed2..7fde688764 100755 --- a/bitbake/bin/bitbake-worker +++ b/bitbake/bin/bitbake-worker @@ -417,7 +417,11 @@ class BitbakeWorker(object): if self.queue.startswith(b"<" + item + b">"): index = self.queue.find(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"")