Repository navigation
Open
Labels
type-infraA repository infrastructure change or enhancementA repository infrastructure change or enhancement
Description
On the build (windows, dev) bot, dart test --coverage=./coverage flakily fails to load a random test suite with a VM service WebSocket error:
Failed to load "<test_file>.dart": Connection closed before full header was received, uri = http://127.0.0.1:<port>/<token>=/ws
Pointers to failures
- PR [hooks_runner] Fail eagerly when file locking is not supported on file system #3679:
- https://github.com/dart-lang/native/actions/runs/36578763370/job/114766478704 (Attempt 2)
Failed to load "pkgs/record_use/test/filter_test.dart": Connection closed before full header was received, uri = http://127.0.0.1:53033/o39_S1yYgVk=/ws
- https://github.com/dart-lang/native/actions/runs/36578763370/job/109441104282 (Attempt 1)
Failed to load "pkgs/hooks/test/build_input_test.dart": Connection closed before full header was received, uri = http://127.0.0.1:61020/Z-u-_y79uNA=/ws- Hung after
2254 tests passed, 1 failed, 2 skipped.until canceled at the 6-hour GitHub Actions timeout.
- https://github.com/dart-lang/native/actions/runs/36425428909/job/108938101019
Failed to load "pkgs/code_assets/test/code_assets\link_mode_test.dart": Connection closed before full header was received, uri = http://127.0.0.1:62750/oFdTJyqnfKw=/ws- Hung after
2198 tests passed, 1 failed, 2 skipped.until canceled at the 6-hour GitHub Actions timeout.
- https://github.com/dart-lang/native/actions/runs/36578763370/job/114766478704 (Attempt 2)
main:- https://github.com/dart-lang/native/actions/runs/37399354778/job/112062809663
Failed to load "pkgs/hooks_runner/test/utils\run_process_test.dart": Connection closed before full header was received, uri = http://127.0.0.1:51706/sSf-f_tti5Y=/ws- Hung after
2234 tests passed, 1 failed, 2 skipped.until canceled at the 6-hour GitHub Actions timeout.
- https://github.com/dart-lang/native/actions/runs/37399354778/job/112062809663
Root cause notes
- WebSocket connection failure during suite loading:
Inpackage:test_core(lib/src/runner/vm/platform.dart),Configuration.debugistruewhenever--coverageis passed. InVMPlatform._loadSuite,test_corecallsvmServiceConnectUri(serviceWebsocket.toString())for every test suite it loads (andpackage:coverage'scollect()opens another WebSocket connection when each suite completes). Across ~200+ test suites running in a singledart test --coverage=./coverageinvocation on Windows, the local VM service server (127.0.0.1:<port>) occasionally drops a WebSocket handshake withHttpException: Connection closed before full header was received. - 6-hour hang on
test_core <= 0.6.20(fixed intest_core 0.6.21):
Intest_core 0.6.20(used in the three runs that timed out after 6 hours),VMPlatform.loadonly registeredisolate.killandreceivePort.closeto run whenchannelclosed after a suite finished. WhenvmServiceConnectUrithrew duringload, the already-spawned test isolate andReceivePortwere never cleaned up, preventing thedart testprocess from exiting after all tests finished.test_core 0.6.21wraps_loadSuitein atry/catchthat runscleanupCallbackson load failure, so the process now exits with code 1 instead of hanging for 6 hours, though the underlyingvmServiceConnectUriflake under--coverageremains.
Metadata
Metadata
Assignees
Labels
type-infraA repository infrastructure change or enhancementA repository infrastructure change or enhancement
Activity
dcharkes commentedon Oct 12, 2026
FYI @liamappelbe
dcharkes commentedon Oct 12, 2026
Potentially related:
fix(shorebird_ci): retry a test batch that died loading a suite