GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||
GeezerVison is showing github.com — Fix ETXTBSY flake in vlt npx shim self-test by mikolalysenko · Pull Request #441 · SocketDev/socket-patch Conversation
|
| runs | failures (Text file busy) |
|
|---|---|---|
| before (origin/main) | 300 (2×150) | 9 (7 + 2, at both exec sites) |
| after (this PR) | 300 | 0 |
Without the fork churn, e2e_vlt at --test-threads=32 passed 200/200 even before the fix, which is consistent with a load-dependent race.
Also run locally:
vlt_e2e_harness* self-tests: pass in all 7 binaries; e2e_vlt non-ignored suite: 24 passed.cargo clippy -p socket-patch-cli --test <each of the 7> -- -D warnings: no findings in vlt_e2e_common. The only findings are pre-existing ones in prebuilt_common/mod.rs; that file is untouched, and CI's clippy job doesn't build test targets.rustfmt --check on the changed file.--include-ignored vlt_pinned_matrix) here because the sandbox can't reach npmjs. The PR's e2e (*, *vlt*, …) CI jobs run them.Nothing is moved or removed. Every test runs where it did before.
🤖 Generated with Claude Code
https://claude.ai/code/session_013p5RirmgQs47AecZUsbSmd
Generated by Claude Code
Sorry, something went wrong.
There was an error while loading. Please reload this page.
vlt_e2e_harness_npx_shim_forwards_the_args_after_the_package wrote
two shell scripts with fs::write and exec'd them right away. When a
sibling test thread forks while that write fd is open, its child keeps
the fd until it execs, and Linux refuses the exec with ETXTBSY ("Text
file busy"). This hit both exec sites: the test's own spawn of the
npx shim and the shim's `exec` of the fake socket binary. The latter
can't be fixed by retrying the spawn.
Add write_executable, which stages the bytes next to the target and
has a child `cp` create the executable, so the test process never
holds a writable fd to it. Use it for the npx/vlt shims (also exec'd
by the real-vlt legs) and the fake binary.
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_013p5RirmgQs47AecZUsbSmd
|
bugbot run Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 30fdbaf. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
[burn-down agent] Ready for review on
Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.