diff mbox series

[kirkstone,2.0,3/8] runqueue: Drop deadlock breaking force fail

Message ID f386298fc056ef130c2eb6dabf25eafbd55f55ca.1664898736.git.steve@sakoman.com
State Accepted, archived
Commit f386298fc056ef130c2eb6dabf25eafbd55f55ca
Headers show
Series [kirkstone,2.0,1/8] runqueue: Ensure deferred tasks are sorted by multiconfig | expand

Commit Message

Steve Sakoman Oct. 4, 2022, 3:54 p.m. UTC
From: Richard Purdie <richard.purdie@linuxfoundation.org>

I'm 99% certain this failing of a scenequeue task corrupts runqueue and
causes all kinds of breakage. I'd rather runqueue deadlocked than corrupted
and did weird things so drop this code.

We've seen builds where the deadlock triggers and it then tries to run tasks
where the SQ task already ran with very confusing failures. It is likely it
is this code causing it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8efced47fcb47851a370fd6786df6fb377f99963)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
 lib/bb/runqueue.py | 3 ---
 1 file changed, 3 deletions(-)
diff mbox series

Patch

diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 0d89740b..48e25401 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -2257,9 +2257,6 @@  class RunQueueExecute:
             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: