summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-08-05 11:22:56 +0100
committerSteve Sakoman <steve@sakoman.com>2022-09-28 06:47:55 -1000
commitd1b84e3cfe9fb8d282d4b700a9fe31891e00d837 (patch)
tree4091b88e7dcea1dec59ab804c4e214b0fdb46665
parent513bfd771d9095fcb6a8bf93806673dbf988a4de (diff)
downloadbitbake-d1b84e3cfe9fb8d282d4b700a9fe31891e00d837.tar.gz
runqueue: Improve deadlock warning messages
Tweak the deadlock breaking messages to be explict about which task is blocked on which other task. The messages currently imply it is "freeing" the blocking task which is confusing. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit cf7f60b83adaded180f6717cb4681edc1d65b66d) Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--lib/bb/runqueue.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index a23f7a891..0d89740b9 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -2254,10 +2254,12 @@ class RunQueueExecute:
# No more tasks can be run. If we have deferred setscene tasks we should run them.
if self.sq_deferred:
- tid = self.sq_deferred.pop(list(self.sq_deferred.keys())[0])
- logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s" % tid)
- if tid not in self.runq_complete:
- self.sq_task_failoutright(tid)
+ deferred_tid = list(self.sq_deferred.keys())[0]
+ blocking_tid = self.sq_deferred.pop(deferred_tid)
+ logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s blocked by %s" % (deferred_tid, blocking_tid))
+ if blocking_tid not in self.runq_complete:
+ logger.warning("Failing blocking task %s" % (blocking_tid))
+ self.sq_task_failoutright(blocking_tid)
return True
if self.failed_tids: