Development record
TestVulncheckInterruptedLeavesNoCopyBehind (internal/core/lint/preflightscans_test.go) is flaky: it fails with 'the interrupted scan did not end' when its SIGINT races the stub's own fork. The stub `go` writes its started marker with the builtin `:` and only then forks `sleep 30`, so a signal sent in that fork-to-exec window misses the sleep, which is orphaned holding the command-substitution pipes in scripts/preflight-scans.sh open until it ends at 30 seconds, past the test's 20-second wait. The script's interrupt path is not at fault: every slow run still exited 130 through its INT trap with the copy removed. Reproduced locally in 18 of 150 runs with no load and no race detector, each ending at about 30.0 seconds; with the stub changed to `exec sleep 30`, none of 400 runs was slow. On 2026-11-01 it dropped a records-only pull request (#1319) from the merge queue in the macOS race run (Actions run 41298480855), though nothing in that change reaches the lint package. A measurement must use the bash the test runs, which is the first on the test process's PATH, not the stub PATH's.
TestVulncheckInterruptedLeavesNoCopyBehind (internal/core/lint/preflightscans_test.go) is flaky: it fails with 'the interrupted scan did not end' when its SIGINT races the stub's own fork. The stub go writes its started marker with the builtin : and only then forks sleep 30, so a signal sent in that fork-to-exec window misses the sleep, which is orphaned holding the command-substitution pipes in scripts/preflight-scans.sh open until it ends at 30 seconds, past the test's 20-second wait. The script's interrupt path is not at fault: every slow run still exited 130 through its INT trap with the copy removed. Reproduced locally in 18 of 150 runs with no load and no race detector, each ending at about 30.0 seconds; with the stub changed to exec sleep 30, none of 400 runs was slow. On 2026-11-01 it dropped a records-only pull request (#1319) from the merge queue in the macOS race run (Actions run 41298480855), though nothing in that change reaches the lint package. A measurement must use the bash the test runs, which is the first on the test process's PATH, not the stub PATH's.
Frontmatter
| id | iss-2611011153130169 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2611011153130169-testvulncheckinterruptedleavesnocopybehi.md
open on GitHub ↗ · commit history ↗