Cycle-5: soak .exe resolution (root cause of both Windows runner soak reds) + preflight cleanup race - #1289
Merged
Merged
Conversation
…ight dirs The version preflight PASSED (both images printed their version) and then the job died in the cleanup trap: Windows keeps the just-exited image's file busy for ~100ms (section teardown / first-touch AV), so 'rm -rf' in the EXIT trap raced it — 'Device or resource busy', exit 1 on a job whose actual work was green (observed on windows-11-arm ui in dry run 30232946513). Temp-dir cleanup on an ephemeral runner is best-effort with one retry, never a gate. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Both hosted-runner Windows soak legs failed at Phase 1/diagnostics with an empty frontend stderr while the daemon's own log showed a healthy diagnostics.start: the workflows pass the suffix-less binary path, msys resolves it transparently (so the old 'append .exe only when the plain name is not executable' branch never fired), and soak-test keys BOTH native-Windows gates — the cygpath'd CBM_CACHE_DIR and the coproc stdio branch — off the literal .exe suffix. A suffix-less native binary therefore received a POSIX-form cache path: daemon logs mis-rooted (diagnostics grep zero, arm64) and the frontend's cache path handling died silently (x64 SIGPIPE at first write). Reproduced on the VM's CLANG64 environment with a suffix-less invocation (same FAIL) and red->green proven: with the normalization the identical invocation runs the full quick soak to PASSED. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
soak-legs now resolves the .exe whenever it exists: workflows pass suffix-less paths, msys executes them transparently, and soak-test keys its native-Windows cache-path/coproc gates off the literal suffix — suffix-less native binaries got POSIX cache paths (mis-rooted daemon logs, silent frontend death). Reproduced and red->green proven on the VM CLANG64 rig. Plus best-effort retry on the Windows version/security preflight cleanup traps (image-teardown busy race that failed a job whose work was green).