You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Sdk.Tests net11.0 module hung on Linux CI (#442 run 39031358513, 50 min, not reproduced in 4 configurations on dev-01) #447
In #442's run 39031358513 (head 656db84f), the Linux job's Test step ran from 12:11:15 to 12:58:51 UTC, until the run was cancelled. A green master run finishes that step in about 4 minutes.
The step runs dotnet test --configuration Release --no-build --max-parallel-test-modules 4. Its log shows the following:
Module
Result
OpenCode.Sdk.Extensions.Tests net10.0 and net11.0
passed, 12:11:21
OpenCode.Sdk.Tools.Tests net10.0
passed (+2033), 12:13:46
OpenCode.Sdk.Tests net10.0
passed (+2800), 12:14:50
OpenCode.Sdk.Tests net11.0
started at 12:11:18 and never finished
The job timeout killed the process before it wrote a TRX, so no test row is named. Windows and macOS were green on the same head.
Not reproduced on dev-01 (Linux)
All four runs used the same head (656db84f) on dev-01, with these settings:
OPENCODE_SDK_TESTS_BUN_MISMATCH=allow, because dev-01 has Bun 1.4.3 and the pin is 1.4.2;
OPENCODE_SDK_TESTS_RUN_ROOT=/var/tmp/…;
TMPDIR under ~/.tools/tmp;
DOTNET_CLI_USE_MSBUILD_SERVER=0.
#
Configuration
Result
1
Launcher namespace, net10.0
166/170. The 4 reds are environmental: the service fixture was not built.
2
Launcher namespace, net11.0
170/170
3
All of OpenCode.Sdk.Tests, net11.0 alone
2798/2800. The 2 reds are environmental: netstandard2.0 and net472 assets not built. Slowest row 15.0 s. No hang.
4
CI's exact command (--max-parallel-test-modules 4, every module)
OpenCode.Sdk.Tests net10.0 2800/2800 and net11.0 2800/2800, about 2.5 min each. The 3 Tools.Tests reds are environmental: jscpd not installed in that worktree.
Next
A CI change adds the Microsoft Testing Platform session --timeout to the Test steps. A hung module then ends inside its step and leaves a TRX that names its in-flight rows.
Next escalation, if this recurs and the listed-minus-recorded diff from the CI --timeout guard does not name the row: Microsoft.Testing.Extensions.HangDump, which names in-flight tests. It is a test-side package, so it needs a dependency decision.
Diagnostic run on #442 rebased onto #449 (head 28eb395, run 39043694161): green on all three OSes, with each Test step finished well inside the new 25-minute session timeout: Linux 15:10:26-15:13:56, macOS 15:11:15-15:15:10, Windows 15:12:51-15:18:57. The hang did not recur. This stays open as a non-deterministic suspect: the next occurrence fails inside its step, and test-results/main/listed-tests.txt narrows the in-flight rows.
Activity
Blind-Striker commentedon Oct 17, 2026
Next escalation, if this recurs and the listed-minus-recorded diff from the CI
--timeoutguard does not name the row: Microsoft.Testing.Extensions.HangDump, which names in-flight tests. It is a test-side package, so it needs a dependency decision.Blind-Striker commentedon Oct 17, 2026
Diagnostic run on #442 rebased onto #449 (head 28eb395, run 39043694161): green on all three OSes, with each Test step finished well inside the new 25-minute session timeout: Linux 15:10:26-15:13:56, macOS 15:11:15-15:15:10, Windows 15:12:51-15:18:57. The hang did not recur. This stays open as a non-deterministic suspect: the next occurrence fails inside its step, and test-results/main/listed-tests.txt narrows the in-flight rows.