bitbake: 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.

(Bitbake rev: d1b84e3cfe9fb8d282d4b700a9fe31891e00d837)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cf7f60b83adaded180f6717cb4681edc1d65b66d)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2022-08-05 11:22:56 +01:00
parent 77dd727549
commit 6d753d6cbe

View File

@@ -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: