voidzero-dev / voidzero-dev/vite-task
fspy preload can abort or deadlock cached tasks during signals, fork, or teardown
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 466
- Forks
- 42
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 19
Description
fspy’s Unix preload must not make a traced process less reliable. Interposed calls can run from signal handlers, post-fork() children, or during teardown, where unsafe runtime state can cause deadlocks or aborts.
Expected behavior:
- Never panic, abort, or deadlock the workload.
- Preserve the original call’s result and
errno. - Work safely during signals, after
fork(), and during teardown on Linux and macOS. - If tracing fails, let the workload continue but skip caching the incomplete trace.
- Add regression coverage for these contexts.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate fspy’s Unix preload entry points and follow the cached-task, signal, post-fork, and teardown paths. Check how interposed calls preserve results and errno, then run the existing test suite before adding regression coverage for Linux and macOS in each context. Done means failures skip incomplete caching without aborting, deadlocking, or changing workload results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, macos, rust
- Domain
- devtools, operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100