Skip to content

fix(smoke): time out the full VHS process group#1655

Merged
Aaronontheweb merged 3 commits into
devfrom
fix/vhs-timeout-process-group
Jul 15, 2026
Merged

fix(smoke): time out the full VHS process group#1655
Aaronontheweb merged 3 commits into
devfrom
fix/vhs-timeout-process-group

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Collaborator

Failure

The macOS native-smoke job on Dependabot PR #1649 hung while starting config-workspaces-picker: VHS printed only the tape filename, executed no tape commands, ignored the nominal 600-second limit, and consumed the full 45-minute job budget.

Root cause

run-native-tape.sh invokes GNU timeout with --foreground. GNU documents that foreground mode does not time out child processes. VHS supervises ttyd/browser children, so a stuck child can survive the deadline and keep the harness blocked.

Fix

Run VHS in timeout’s separate process group and add --kill-after=10s. The full VHS child tree now receives the timeout signal, with a bounded escalation to SIGKILL, allowing the existing failure-artifact path to run deterministically.

Validation

  • bash -n scripts/smoke/run-native-tape.sh
  • git diff --check upstream/dev...HEAD

The PR smoke workflow supplies the required Linux and macOS native-tape validation.

@Aaronontheweb
Aaronontheweb enabled auto-merge (squash) July 15, 2026 14:42
@Aaronontheweb
Aaronontheweb force-pushed the fix/vhs-timeout-process-group branch from ae367b5 to 7bcf7b2 Compare July 15, 2026 14:56
@Aaronontheweb
Aaronontheweb merged commit 3d08e07 into dev Jul 15, 2026
20 checks passed
@Aaronontheweb
Aaronontheweb deleted the fix/vhs-timeout-process-group branch July 15, 2026 16:16
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