Skip to content

fix: fall back to an untracked spawn when fspy cannot start - #752

Open
lifeiscontent wants to merge 1 commit into
voidzero-dev:mainfrom
lifeiscontent:fix/vt-untracked-spawn-fallback
Open

lifeiscontent wants to merge 1 commit into
voidzero-dev:mainfrom
lifeiscontent:fix/vt-untracked-spawn-fallback

Conversation

@lifeiscontent

@lifeiscontent lifeiscontent commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Motivation

Part of #700, split out of #701. Initializing fspy panicked if its preload library couldn't be written to the temp dir, and any failed tracked spawn failed the task.

Changes

  • SPY_IMPL now holds an io::Result. fspy::Command::spawn returns an init failure as SpawnError::Injection instead of panicking.
  • If the tracked spawn fails, vt reruns the command without tracking and sets ChildOutcome::fspy_unavailable. The run isn't cached, and the summary shows "Not cached: file access tracking failed to start".
  • The cache-not-updated flags in summary.rs are grouped into a SuccessDetails struct, which keeps spawn_outcome_from_execution under clippy's argument limit.

This doesn't depend on #701 or #753.

@lifeiscontent
lifeiscontent force-pushed the fix/vt-untracked-spawn-fallback branch from b61e289 to 1ef7ac7 Compare September 23, 2026 23:50
@lifeiscontent
lifeiscontent force-pushed the fix/vt-untracked-spawn-fallback branch 2 times, most recently from bae3882 to 3842cbf Compare September 23, 2026 23:56
Initializing fspy panicked if the preload library couldn't be written
to the temp dir. Return the error from fspy::Command::spawn instead,
and have vt rerun the command without tracking. The task still runs,
isn't cached, and the summary says file access tracking failed to
start.
@lifeiscontent
lifeiscontent force-pushed the fix/vt-untracked-spawn-fallback branch from 3842cbf to 398f824 Compare September 24, 2026 10:38

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant