Closed Bug 1677918 Opened 4 years ago Closed 3 years ago

Broken decision tasks when adding new files

Categories

(Firefox Build System :: Mach Core, defect)

defect

Tracking

(firefox-esr78 unaffected, firefox83 unaffected, firefox84 unaffected, firefox85 fixed)

RESOLVED FIXED
85 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox83 --- unaffected
firefox84 --- unaffected
firefox85 --- fixed

People

(Reporter: away, Assigned: mhentges)

References

(Regression)

Details

(Keywords: regression)

In some try pushes I add new toolchains for clang trunk, and decision tasks are now broken, becaues files like clang-trunk-mingw.json don't exist in the base rev:

[task 2020-11-18T02:42:54.421Z] build/build-clang/clang-trunk-mingw.json: no such file in rev 9dd0b13d77b9
[task 2020-11-18T02:42:54.437Z] Error loading tasks for kind toolchain:
[task 2020-11-18T02:42:54.439Z] Traceback (most recent call last):
[task 2020-11-18T02:42:54.439Z]   File "/builds/worker/checkouts/gecko/taskcluster/mach_commands.py", line 324, in taskgraph_decision
[task 2020-11-18T02:42:54.439Z]     ret = taskgraph.decision.taskgraph_decision(options)
[task 2020-11-18T02:42:54.439Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/decision.py", line 234, in taskgraph_decision
[task 2020-11-18T02:42:54.439Z]     full_task_json = tgg.full_task_graph.to_json()
[task 2020-11-18T02:42:54.439Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 174, in full_task_graph
[task 2020-11-18T02:42:54.439Z]     return self._run_until("full_task_graph")
[task 2020-11-18T02:42:54.439Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 417, in _run_until
[task 2020-11-18T02:42:54.439Z]     k, v = next(self._run)
[task 2020-11-18T02:42:54.439Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 294, in _run
[task 2020-11-18T02:42:54.439Z]     self._write_artifacts,
[task 2020-11-18T02:42:54.439Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 92, in load_tasks
[task 2020-11-18T02:42:54.440Z]     for task_dict in transforms(trans_config, inputs)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/generator.py", line 80, in <listcomp>
[task 2020-11-18T02:42:54.440Z]     Task(
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 2110, in check_run_task_caches
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 2018, in check_task_dependencies
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 2004, in check_task_identifiers
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1985, in chain_of_trust
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1776, in build_task
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1767, in try_task_config_routes
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1757, in try_task_config_chemspill_prio
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1747, in try_task_config_env
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1709, in add_index_routes
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1504, in validate
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1481, in task_name_from_label
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1436, in set_defaults
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/task.py", line 1415, in set_implementation
[task 2020-11-18T02:42:54.440Z]     for task in tasks:
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/cached_tasks.py", line 61, in cache_task
[task 2020-11-18T02:42:54.440Z]     for task in order_tasks(config, tasks):
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/cached_tasks.py", line 19, in order_tasks
[task 2020-11-18T02:42:54.440Z]     pending = deque(tasks)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/job/__init__.py", line 391, in make_task_description
[task 2020-11-18T02:42:54.440Z]     config, job, taskdesc, job["worker"]["implementation"]
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/job/__init__.py", line 464, in configure_taskdesc_for_run
[task 2020-11-18T02:42:54.440Z]     func(config, job, taskdesc)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/job/toolchain.py", line 156, in docker_worker_toolchain
[task 2020-11-18T02:42:54.440Z]     "digest-data": get_digest_data(config, run, taskdesc),
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/transforms/job/toolchain.py", line 80, in get_digest_data
[task 2020-11-18T02:42:54.440Z]     data = [hash_paths(GECKO, files)]
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/util/hash.py", line 77, in hash_paths
[task 2020-11-18T02:42:54.440Z]     path_hash = hash_path_as_of_base_revision(base_path, path)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/python/mozbuild/mozbuild/util.py", line 1040, in __call__
[task 2020-11-18T02:42:54.440Z]     self[args] = self.func(*args)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/taskcluster/taskgraph/util/hash.py", line 29, in hash_path_as_of_base_revision
[task 2020-11-18T02:42:54.440Z]     repo.get_file_content(path, revision=base_revision)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/python/mozversioncontrol/mozversioncontrol/__init__.py", line 474, in get_file_content
[task 2020-11-18T02:42:54.440Z]     return self._run(*args, universal_newlines=False)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/python/mozversioncontrol/mozversioncontrol/__init__.py", line 344, in _run
[task 2020-11-18T02:42:54.440Z]     return super(HgRepository, self)._run(*args, **runargs)
[task 2020-11-18T02:42:54.440Z]   File "/builds/worker/checkouts/gecko/python/mozversioncontrol/mozversioncontrol/__init__.py", line 121, in _run
[task 2020-11-18T02:42:54.440Z]     universal_newlines=universal_newlines,
[task 2020-11-18T02:42:54.440Z]   File "/usr/lib/python3.5/subprocess.py", line 626, in check_output
[task 2020-11-18T02:42:54.441Z]     **kwargs).stdout
[task 2020-11-18T02:42:54.441Z]   File "/usr/lib/python3.5/subprocess.py", line 708, in run
[task 2020-11-18T02:42:54.441Z]     output=stdout, stderr=stderr)
[task 2020-11-18T02:42:54.441Z] subprocess.CalledProcessError: Command '('/usr/bin/hg', 'cat', 'build/build-clang/clang-trunk-mingw.json', '-r', '9dd0b13d77b96a7e1fd6b48c23f5fed1363498d2')' returned non-zero exit status 1
Flags: needinfo?(rstewart)

The first thing that jumps to my eyes reading the patch from bug 1676533 is that it should be a fallback, not the default behavior, because as it is, it even prevents mach artifact to download artifacts from try (which was possible if you opt-in to it with MOZ_SCM_LEVEL=1 and is something I've been relying on a lot in the past)

Set release status flags based on info from the regressing bug 1676533

Flags: needinfo?(rstewart)
Assignee: nobody → mhentges

Hey, sorry I missed this earlier, hopefully this hasn't been bugging you too much.
:dmajor can you link me a revision that causes this problem, so I can reproduce and fix it?

Flags: needinfo?(dmajor)

I think this was fixed by the backout and updated re-landing of bug 1676533.

Flags: needinfo?(dmajor)

Perfect, works for me :)

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.