diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-02-15 10:43:19 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-02-22 10:12:33 +0000 |
commit | 3c76d0ad71b20ef12a8e63ae63737f4afe7c92d2 (patch) | |
tree | d6cd44e4d1ca05ba5eff5d1283cd297508e5f7bb /bitbake | |
parent | 826011d497cab1dcd69629cd0781e443c1ae522c (diff) | |
download | poky-3c76d0ad71b20ef12a8e63ae63737f4afe7c92d2.tar.gz |
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: 2e1354525217505ce34fe775ee6ec8af46ff5324)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 51bdd6cb3bd9e2c02e261fb578bb945b86b82c75)
Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 9efd1c86f9..c7f50fdeb1 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -2234,7 +2234,8 @@ class RunQueueExecute: | |||
2234 | if self.sq_deferred: | 2234 | if self.sq_deferred: |
2235 | tid = self.sq_deferred.pop(list(self.sq_deferred.keys())[0]) | 2235 | tid = self.sq_deferred.pop(list(self.sq_deferred.keys())[0]) |
2236 | logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s" % tid) | 2236 | logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s" % tid) |
2237 | self.sq_task_failoutright(tid) | 2237 | if tid not in self.runq_complete: |
2238 | self.sq_task_failoutright(tid) | ||
2238 | return True | 2239 | return True |
2239 | 2240 | ||
2240 | if len(self.failed_tids) != 0: | 2241 | if len(self.failed_tids) != 0: |