diff options
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 413d59f8f4..bc48684d78 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -2092,14 +2092,20 @@ class runQueuePipe(): found = False index = self.queue.find("</event>") while index != -1 and self.queue.startswith("<event>"): - event = pickle.loads(self.queue[7:index]) + try: + event = pickle.loads(self.queue[7:index]) + except ValueError as e: + bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[7:index])) bb.event.fire_from_worker(event, self.d) found = True self.queue = self.queue[index+8:] index = self.queue.find("</event>") index = self.queue.find("</exitcode>") while index != -1 and self.queue.startswith("<exitcode>"): - task, status = pickle.loads(self.queue[10:index]) + try: + task, status = pickle.loads(self.queue[10:index]) + except ValueError as e: + bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[10:index])) self.rq.runqueue_process_waitpid(task, status) found = True self.queue = self.queue[index+11:] |