voidzero-dev / voidzero-dev/vite-task

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

Offen
#605 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Rust
Sterne
466
Forks
42
Ø Merge
1 T. 15 Std.
Gemergte PRs (30 T.)
19

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Lokalisieren Sie die Unix-preload-Einstiegspunkte von fspy und verfolgen Sie die Pfade für cached-task, signal, post-fork und teardown. Prüfen Sie, wie interposed calls Ergebnisse und errno bewahren, und führen Sie anschließend die vorhandene Testsuite aus, bevor Sie Regressionsabdeckung für Linux und macOS in jedem Kontext hinzufügen. Als abgeschlossen gilt die Arbeit, wenn Fehler unvollständiges Caching überspringen, ohne abzubrechen, Deadlocks zu verursachen oder Workload-Ergebnisse zu verändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
linux, macos, rust
Bereich
devtools, operating-systems, testing-qa
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.