Skip to content

[ci-scan] Hang: System.Diagnostics.Process.Tests times out on windows-x86 Checked CoreCLR #135001

Open

Description

@lewing

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1618965
Build error leg or test failing: windows-x86 Debug Libraries_CheckedCoreCLR-System.Diagnostics.Process.Tests
Pull request: #134960

This is a recurrence of #131389 (the same System.Diagnostics.Process.Tests whole-work-item hang on Windows), which was closed on 2026-09-21 after 30 days without failures. That one was on windows-x64 Release NativeAOT_Libs; this one is on CoreCLR windows-x86 Checked. Build Analysis reports a 2.61% failure rate for this work item.

KBE authoring guidance (ci-failure-scan)
  • Error Details is for readers. Paste the full exception, stack trace, or build error excerpt so the failure is understandable without opening the raw log.
  • Build Analysis parses only the single JSON block under Error Message.
  • ErrorMessage is a case-sensitive ordinal String.Contains substring copied verbatim from the failing log.
  • Set BuildRetry to true only for a clear infrastructure retry case. ExcludeConsoleLog disables Helix console-log scanning.

Error Details

The work item starts and reports a couple of [SKIP] lines. After that no further output appears, until the Helix executor kills it (exit code -3, about 15m35s). No [FAIL] line is emitted, so the hanging test is not identified.

"...\dotnet.exe" exec --runtimeconfig System.Diagnostics.Process.Tests.runtimeconfig.json --depsfile System.Diagnostics.Process.Tests.deps.json xunit.console.dll System.Diagnostics.Process.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing
  Discovering: System.Diagnostics.Process.Tests (method display = ClassAndMethod, method display options = None)
  Discovered:  System.Diagnostics.Process.Tests (found 423 of 451 test cases)
  Starting:    System.Diagnostics.Process.Tests (parallel test collections = on [4 threads], stop on fail = off)
    System.Diagnostics.Tests.ProcessStartInfoTests.ShellExecute_Nano_Fails_Start [SKIP]
      Condition(s) not met: "IsWindowsNanoServer"
    System.Diagnostics.Tests.ProcessTests.NonElevatedUser_QueryProcessNameOfSystemProcess [SKIP]
      Condition(s) not met: "IsNotPrivilegedProcess"
Invalid number of parameters
0 File(s) copied
['System.Diagnostics.Process.Tests' END OF WORK ITEM LOG: Command timed out, and was killed]

Configuration: net11.0-windows-Debug-x86-coreclr_checked-Windows.10.Amd64.Open, Helix job e45775cb-103a-475f-9f07-250ab1a48c98.

Error Message

{
  "ErrorMessage": ["Starting:    System.Diagnostics.Process.Tests", "['System.Diagnostics.Process.Tests' END OF WORK ITEM LOG: Command timed out, and was killed]"],
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}
Agentic workflow metadata (ci-failure-scan)

Workflow artifact: ci-failure-scan
Artifact kind: kbe-verification
Verified match count: 1 hits in failure.log

Note

This issue was drafted with GitHub Copilot assistance.

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1618965
Error message validated: [Starting: System.Diagnostics.Process.Tests ['System.Diagnostics.Process.Tests' END OF WORK ITEM LOG: Command timed out, and was killed]]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 10/1/2026 4:30:43 AM UTC

Report

Build Repository Test Pull Request
3120979 dotnet-runtime System.Diagnostics.Process.Tests.WorkItemExecution #67903
1641552 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #136123
1625839 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #134393
1625782 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135320
1625588 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #125436
1625492 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #134983
1625482 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #133570
1625478 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135309
1625432 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135275
1625425 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135307
1625421 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135306
1625089 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135282
1625311 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135296
1625290 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #134167
1625295 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135290
1625252 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135248
1625261 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #132358
1625225 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135295
1625193 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135288
1625169 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135144
1625172 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135293
1625148 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135291
1625126 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #134494
1624985 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135276
1624965 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #125436
1624956 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135275
1624843 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135272
1624684 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135239
1624689 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #133943
1624497 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135257
1624401 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #134393
1624435 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #135257
1624382 dotnet/runtime System.Diagnostics.Process.Tests.WorkItemExecution #133384

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 1 33

Activity

  1. added
    blocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
    Known Build ErrorUse this to report build issues in the .NET Helix tab
    on Oct 1, 2026
  2. dotnet-policy-service commented on Oct 1, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/area-system-diagnostics-process
    See info in area-owners.md if you want to be subscribed.

  3. steveisok commented on Oct 3, 2026

    @steveisok
    Member

    Investigation update

    The observed failure is consistent with the suite exhausting its 900-second budget through accumulated execution time, not a demonstrated single-test hang. In build 1621730, 632 cases finished with reported durations totaling about 883 seconds before Helix killed the work item (exit -3). The eight-minute diagnostic snapshot did not terminate the host; execution continued afterward. The last test started at the cutoff is not established as the culprit.

    A passing sample on the same x86 Checked configuration and Windows Server 2016 version took 640 seconds. Across 546 matching passed cases, the timeout run took 707 seconds versus 470 seconds in the passing run. The cause of that broad slowdown remains unknown, and these observations do not establish the cause of every historical match. The relationship to #131389 is unproven: its previously identified StartInfo_BadExe(true) shell/StateRepository hang did not reproduce in our instrumented runs.

    The mitigation is #135160: six balanced Windows x86 CoreCLR Helix work items, preserving coverage and sequential execution within each shard, with no new skips or timeout increase. In build 1622015, all six passed in 2m52s-3m51s including setup; combined results preserved 691 cases (688 passed, 3 skipped) with no missing or duplicated shard coverage. This validated the identical sharding logic in investigation PR #131907; the new focused PR removes its temporary diagnostic CI routing. #131907 is now closed as superseded.

    The mitigation is proposed, not yet merged; it addresses timeout exposure without claiming to fix or explain the underlying slowdown.

    Note

    This investigation update was prepared with GitHub Copilot assistance.

  4. removed
    untriagedNew issue has not been triaged by the area owner
    on Oct 3, 2026
  5. added this to the 12.0.0 milestone on Oct 3, 2026
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

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions