Skip to content

Microsoft.DotNet.Watch.UnitTests.LoggingTests.BinaryLogs: intermittent hang (test host hang-dump timeout, exit code 7) #55258

Description

@MichaelSimons

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1499678
Leg Name: TestBuild: linux (x64) - ubuntu.2204.amd64.open — Helix work item dotnet-watch.Tests.dll.5
Helix job: 5707f132-4437-408b-845d-e5f187551ea9
Pull request where encountered: #55196 (failed on first attempt, passed after a manual retry)

Summary

Microsoft.DotNet.Watch.UnitTests.LoggingTests.BinaryLogs (Hot Reload test that launches the WatchHotReloadApp test asset) intermittently hangs. The test host never completes, the blame hang-dump timeout of 00:48:00 fires, hang dumps are collected for the dotnet/WatchHotReloadApp process tree, and the work item is killed. The Helix work item finishes with exit code 7 and fails the Monitor Helix Jobs step, turning the whole build red.

The rest of the assembly finishes quickly ("42 completed, 0 failed") and BinaryLogs is the only test still running when the dump is taken, so it is the culprit. The failure is intermittent — the same build passed on retry — so this is tracked with BuildRetry: true.

Error Details

running... 42 completed, 0 failed | active: BinaryLogs
[slow] still running after 32m 00s: BinaryLogs (dotnet-watch.Tests.dll|net11.0|x64)
...
Hang dump timeout of '00:48:00' expired
Dumping this process tree (from bottom):
 >  47548 - dotnet
 + - 47580 - dotnet
 + -- 47597 - dotnet
 + --- 47870 - dotnet
 + ---- 47895 - WatchHotReloadApp
The following tests were still running when dump was taken (format: [<time-elapsed-since-start>] <name>):
[00:50:16] BinaryLogs
Creating dump file '.../WatchHotReloadApp_47895_hang.dmp'
...
Test host crashed; recovered 42 test result(s) from the TRX streaming sidecar
Test application process didn't exit gracefully, exit code is '137'
+ export _commandExitCode=7
+ exit 7
['dotnet-watch.Tests.dll.5' END OF WORK ITEM LOG: Command exited with 7]

AzDO reported:

Work item 'dotnet-watch.Tests.dll.5' in job 'TestBuild: linux (x64) - ubuntu.2204.amd64.open' failed (Finished, exit code 7).

Error Message

{
    "ErrorMessage": [
        "Hang dump timeout of",
        "] BinaryLogs",
        "END OF WORK ITEM LOG: Command exited with 7"
    ],
    "BuildRetry": true,
    "ExcludeConsoleLog": false
}

The multi-line pattern is intentionally shard-agnostic (does not pin the .dll.5 shard number). It requires, in order: the blame hang-dump timeout message, BinaryLogs reported as still-running when the dump was taken, and the work item exiting with code 7 — which together uniquely identify a hang caused by this test without matching unrelated failures. Validated with Test-KnownIssuePattern.ps1 against the failing work item console log (RESULT: PASS).

ExcludeConsoleLog is false because these lines appear only in the Helix work-item console log, not the AzDO build log.

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1499678
Error message validated: [Hang dump timeout of ] BinaryLogs END OF WORK ITEM LOG: Command exited with 7]
Result validation: ❌ Known issue did not match with the provided build.
Validation performed at: 7/13/2026 1:09:15 PM UTC

Report

Summary

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions