Summary
IndexCommandRunnerTests.SymbolExtractionWorker_Utf8RequestsPreserveUnicodeAcrossLanguages can exceed its fixed 5-second callback budget on net9.0 when the Release test suite runs net8.0 and net9.0 in parallel. The failure presents as csharp: with no worker error because the result is a timeout.
Observed while validating #4844 at commit 5c1041a3e88f875f756539c7edfcc100a84f9119.
Reproduction
dotnet test CodeIndex.sln -c Release -p:UseSharedCompilation=false --no-restore --no-build
Observed results:
- Full parallel run: net8.0 passed; net9.0 failed this test at the 5-second worker budget.
- Focused parallel-TFM rerun: net8.0 passed; net9.0 failed again at 5 seconds.
- net9.0-only rerun: passed in 2 seconds.
No files in the symbol-worker implementation or this test differed from origin/main in the validating branch.
Expected behavior
The UTF-8 protocol regression test should remain deterministic under normal full-suite parallel load. Its timeout/setup should distinguish a real worker hang from process-startup contention without weakening the production worker timeout contract.
Suggested scope
Keep the fix limited to test/process-startup determinism or a dedicated test seam. Add coverage that exercises the net9 worker path under contention, run the full net8.0/net9.0 suite, and add the required bilingual changelog fragment.
Summary
IndexCommandRunnerTests.SymbolExtractionWorker_Utf8RequestsPreserveUnicodeAcrossLanguagescan exceed its fixed 5-second callback budget on net9.0 when the Release test suite runs net8.0 and net9.0 in parallel. The failure presents ascsharp:with no worker error because the result is a timeout.Observed while validating #4844 at commit
5c1041a3e88f875f756539c7edfcc100a84f9119.Reproduction
Observed results:
No files in the symbol-worker implementation or this test differed from
origin/mainin the validating branch.Expected behavior
The UTF-8 protocol regression test should remain deterministic under normal full-suite parallel load. Its timeout/setup should distinguish a real worker hang from process-startup contention without weakening the production worker timeout contract.
Suggested scope
Keep the fix limited to test/process-startup determinism or a dedicated test seam. Add coverage that exercises the net9 worker path under contention, run the full net8.0/net9.0 suite, and add the required bilingual changelog fragment.