Skip to content

[CI] assembly-processing times out at 600 seconds after all NUnit tests pass #26528

Description

@dalexsoto

Summary

The T: assembly-processing job intermittently hits the harness's 600-second execution deadline even though the NUnit run completes successfully with all executed tests passing.

  • Stable signature: assembly-processing process reaches 600-second harness timeout although NUnit and dotnet exit successfully with all tests passed
  • Classification: genuinely flaky test-duration / timeout-budget failure
  • Distinct monitored PRs: 4
  • Confirmed occurrences: 5
  • First observed timeout: 2026-08-31T21:24:56Z
  • Latest observed timeout: 2026-09-02T07:20:25Z

The normalized harness result is:

Assembly processing tests: TimedOut (Execution timed out after 10 minutes.)
Executed 235 tasks
Failed: 1
TimedOut: 1
Crashed: 0

Confirmed occurrences

#26020

#26477

#26495

Earlier #26424 occurrences

Passing controls

The same assembly-processing job passed in contemporary monitored builds on multiple workers, including #26021 (AcesShared 79), #26468 (AcesShared 10), #26260 (AcesShared 12), #26464 (AcesShared 179), #26466 (AcesShared 136), #26476 (AcesShared 108), #26526 (AcesShared 46), #26522 (AcesShared 23), and #26498 (AcesShared 10).

The failing PRs are unrelated source changes, and the failure both reproduces and clears across different heads and workers. This rules out a deterministic source regression and supports a load-sensitive timeout-budget flake.

Impact

The test assembly reports a passing NUnit result, but the outer harness marks the job failed because execution and teardown consume the entire 10-minute allowance. This blocks the simulator pipeline and can trigger unnecessary reruns despite no test assertion failure.

Investigation performed

  • Inspected Azure build metadata, timelines, job/task logs, and worker assignments.
  • Downloaded the per-job TestSummary and nested HtmlReport artifacts for the three current occurrences.
  • Parsed the retained NUnit XML and confirmed zero failed tests in every current occurrence.
  • Compared the same job across passing monitored builds and the successful [net11.0] Merge main into net11.0. #26424 retry.
  • Searched all open and closed dotnet/macios issues separately using the exact timeout text, job name, harness duration, task count, and AssemblyPreparerTests component. No matching issue existed.

The available binlogs cover successful build operations inside the suite; no build error explains the outer harness timeout.

Retry status and workaround

The current #26020, #26477, and #26495 simulator runs are still active, so no retry is permitted until each run is terminal, the head and mergeability are refreshed, retry budgets are reconciled, and no equivalent retry is queued or running.

A failed-jobs rerun can recover, as demonstrated by #26424. The durable fix is to either reduce/parallelize the suite's runtime or give execution and teardown enough headroom beyond the current 600-second deadline.

Azure logs and artifacts are retention-limited.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ci-postmortemCI post-mortem analysis: flaky tests, infrastructure failures, shared regressionscopilot

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions