From 4d8077527b80be4fc5740a6cdc69f80a8402cbb4 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 16 Sep 2021 07:19:34 +0800 Subject: bitbake: runqueue: Avoid deadlock avoidance task graph corruption If the deferred task deadlock avoidance code triggers, it could mark an executed task as failed which leads to "covered and not covered" error messages. Improve the logic so if the deadlock code is triggered, it doesn't cause the errors. (Bitbake rev: 72f51767da47af12d2c56bd3ee87cb0018b16705) Signed-off-by: Richard Purdie (cherry picked from commit 51bdd6cb3bd9e2c02e261fb578bb945b86b82c75) Signed-off-by: Anuj Mittal Signed-off-by: Richard Purdie --- bitbake/lib/bb/runqueue.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 6c41fe6d43..014ee37bfc 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -2180,7 +2180,8 @@ class RunQueueExecute: 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) - self.sq_task_failoutright(tid) + if tid not in self.runq_complete: + self.sq_task_failoutright(tid) return True if len(self.failed_tids) != 0: -- cgit v1.2.3-54-g00ecf