mirror of
https://git.yoctoproject.org/poky
synced 2026-04-04 05:02:21 +02:00
bitbake: runqueue: Fix task dependency corner case in sanity test
A corner case was identified where tasks with valid stamps from previous builds need to be accounted for in the new sanity test in the migration code. Add a variable to track such completed tasks to ensure the sanity test works correctly. (Bitbake rev: d517b1ef13ca7ab2fb4d761d3bd3b9fb7c591514) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1708,6 +1708,7 @@ class RunQueueExecute:
|
||||
self.runq_buildable = set()
|
||||
self.runq_running = set()
|
||||
self.runq_complete = set()
|
||||
self.runq_tasksrun = set()
|
||||
|
||||
self.build_stamps = {}
|
||||
self.build_stamps2 = []
|
||||
@@ -1893,6 +1894,7 @@ class RunQueueExecute:
|
||||
self.stats.taskCompleted()
|
||||
bb.event.fire(runQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
|
||||
self.task_completeoutright(task)
|
||||
self.runq_tasksrun.add(task)
|
||||
|
||||
def task_fail(self, task, exitcode):
|
||||
"""
|
||||
@@ -2092,6 +2094,7 @@ class RunQueueExecute:
|
||||
logger.debug(2, "Stamp current task %s", task)
|
||||
|
||||
self.task_skip(task, "existing")
|
||||
self.runq_tasksrun.add(task)
|
||||
return True
|
||||
|
||||
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
|
||||
@@ -2353,7 +2356,7 @@ class RunQueueExecute:
|
||||
if tid in self.tasks_scenequeue_done:
|
||||
self.tasks_scenequeue_done.remove(tid)
|
||||
for dep in self.sqdata.sq_covered_tasks[tid]:
|
||||
if dep in self.runq_complete:
|
||||
if dep in self.runq_complete and dep not in self.runq_tasksrun:
|
||||
bb.error("Task %s marked as completed but now needing to rerun? Aborting build." % dep)
|
||||
self.failed_tids.append(tid)
|
||||
self.rq.state = runQueueCleanUp
|
||||
|
||||
Reference in New Issue
Block a user