voidzero-dev / voidzero-dev/vite-task

fspy preload can abort or deadlock cached tasks during signals, fork, or teardown

Open
#605 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.