Closed Bug 1923870 Opened 5 months ago Closed 5 months ago

Perma taskcluster/test/test_generate_params.py::test_generate_graphs[mc-onpush] TEST-UNEXPECTED-FAIL | ValueError: time data '2024-10-11T09:41:48.305+00:00Z' does not match format '%Y-%m-%dT%H:%M:%S.%fZ

Categories

(Firefox Build System :: Task Configuration, defect, P5)

defect

Tracking

(firefox-esr128 unaffected, firefox131 unaffected, firefox132 unaffected, firefox133 fixed)

RESOLVED FIXED
133 Branch
Tracking Status
firefox-esr128 --- unaffected
firefox131 --- unaffected
firefox132 --- unaffected
firefox133 --- fixed

People

(Reporter: intermittent-bug-filer, Unassigned)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Filed by: smolnar [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=477629781&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/AFZyWQmCQ3GRYUrhicEeiQ/runs/0/artifacts/public/logs/live_backing.log


 taskcluster/test/test_generate_params.py::test_generate_graphs[mb-onpush] PASSED
[task 2024-10-10T10:00:00.545Z] taskcluster/test/test_generate_params.py::test_generate_graphs[mc-onpush] TEST-UNEXPECTED-FAIL
[task 2024-10-10T10:00:00.545Z] taskcluster/test/test_generate_params.py::test_generate_graphs[mb-promote-firefox] PASSED
<...>
taskcluster/test/test_generate_params.py::test_generate_graphs[me-promote-firefox] PASSED
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] =================================== FAILURES ===================================
[task 2024-10-10T10:00:00.547Z] _______________________ test_generate_graphs[mc-onpush] ________________________
[task 2024-10-10T10:00:00.547Z] taskcluster/test/test_generate_params.py:55: in test_generate_graphs
[task 2024-10-10T10:00:00.547Z]     pytest.fail("An exception was raised during graph generation!")
[task 2024-10-10T10:00:00.547Z] E   Failed: An exception was raised during graph generation!
[task 2024-10-10T10:00:00.547Z] ----------------------------- Captured stdout call -----------------------------
[task 2024-10-10T10:00:00.547Z] concurrent.futures.process._RemoteTraceback:
[task 2024-10-10T10:00:00.547Z] """
[task 2024-10-10T10:00:00.547Z] Traceback (most recent call last):
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/fetches/python/lib/python3.8/concurrent/futures/process.py", line 239, in _process_worker
[task 2024-10-10T10:00:00.547Z]     r = call_item.fn(*call_item.args, **call_item.kwargs)
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/main.py", line 150, in format_taskgraph
[task 2024-10-10T10:00:00.547Z]     tg = getattr(tgg, options["graph_attr"])
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/generator.py", line 220, in morphed_task_graph
[task 2024-10-10T10:00:00.547Z]     return self._run_until("morphed_task_graph")
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/generator.py", line 430, in _run_until
[task 2024-10-10T10:00:00.547Z]     k, v = next(self._run)  # type: ignore
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/generator.py", line 404, in _run
[task 2024-10-10T10:00:00.547Z]     optimized_task_graph, label_to_taskid = optimize_task_graph(
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/optimize/base.py", line 71, in optimize_task_graph
[task 2024-10-10T10:00:00.547Z]     removed_tasks = remove_tasks(
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/optimize/base.py", line 242, in remove_tasks
[task 2024-10-10T10:00:00.547Z]     if opt.should_remove_task(task, params, arg):
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/optimize/base.py", line 519, in should_remove_task
[task 2024-10-10T10:00:00.547Z]     return self.reduce(results)
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/optimize/base.py", line 560, in reduce
[task 2024-10-10T10:00:00.547Z]     for rv in results:
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/optimize/base.py", line 515, in _generate_results
[task 2024-10-10T10:00:00.547Z]     yield getattr(sub, fname)(*passthru, arg)
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/taskcluster/gecko_taskgraph/optimize/strategies.py", line 129, in should_remove_task
[task 2024-10-10T10:00:00.547Z]     self.index_search.should_replace_task(task, params, deadline, [index])
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/checkouts/gecko/third_party/python/taskcluster_taskgraph/taskgraph/optimize/strategies.py", line 59, in should_replace_task
[task 2024-10-10T10:00:00.547Z]     ) < datetime.strptime(deadline, self.fmt):
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/fetches/python/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
[task 2024-10-10T10:00:00.547Z]     tt, fraction, gmtoff_fraction = _strptime(data_string, format)
[task 2024-10-10T10:00:00.547Z]   File "/builds/worker/fetches/python/lib/python3.8/_strptime.py", line 349, in _strptime
[task 2024-10-10T10:00:00.547Z]     raise ValueError("time data %r does not match format %r" %
[task 2024-10-10T10:00:00.547Z] ValueError: time data '2024-10-11T09:41:48.305+00:00Z' does not match format '%Y-%m-%dT%H:%M:%S.%fZ'
[task 2024-10-10T10:00:00.547Z] """
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] The above exception was the direct cause of the following exception:
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] ValueError: time data '2024-10-11T09:41:48.305+00:00Z' does not match format '%Y-%m-%dT%H:%M:%S.%fZ'
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] ================== 1 failed, 33 passed in 1895.38s (0:31:35) ===================
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] 
[task 2024-10-10T10:00:00.547Z] Tests Completed: 100%|██████████| 6/6 [31:36<00:00, 316.03s/Test]Return code from mach python-test: 1
[task 2024-10-10T10:00:00.574Z] 
[taskcluster 2024-10-10 10:00:01.351Z] === Task Finished ===
[taskcluster 2024-10-10 10:00:01.351Z] Unsuccessful task run with exit code: 1 completed in 1941.384 seconds

@Julien, could you look at this py perma failure?
it is failing where it was green before.

Flags: needinfo?(jcristau)
Summary: Perma taskcluster/test/test_generate_params.py::test_generate_graphs[mc-onpush] TEST-UNEXPECTED-FAIL → Perma taskcluster/test/test_generate_params.py::test_generate_graphs[mc-onpush] TEST-UNEXPECTED-FAIL | ValueError: time data '2024-10-11T09:41:48.305+00:00Z' does not match format '%Y-%m-%dT%H:%M:%S.%fZ

Bug 1919287 added a new optimization strategy that does:

        now = datetime.datetime.now(datetime.timezone.utc)
        deadline = resolve_timestamps(now, task.task["deadline"])

That looks like 2024-10-11T14:20:12.824+00:00Z, and the +00:00 doesn't match the format string in should_remove_task's call to strptime.

Flags: needinfo?(jcristau) → needinfo?(ahal)
Keywords: regression
Regressed by: 1919287

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

Status: NEW → RESOLVED
Closed: 5 months ago
Flags: needinfo?(ahal)
Resolution: --- → FIXED
Target Milestone: --- → 133 Branch
You need to log in before you can comment on or make changes to this bug.