-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Problem
When pi is connected to a remote VM via vers_vm_use, running a bash command that prompts for interactive input (e.g. tailscale up, apt-get install with Y/N) causes the pi session to freeze permanently (or until the 120s timeout).
Root Cause
In extensions/vers-vm.ts, the execStreaming() and exec() methods spawn SSH without:
- The
-Tflag (disable pseudo-terminal allocation) - Stdin redirect from
/dev/nullfor remote commands
SSH forwards stdin to the remote process. When the remote process blocks on input, SSH blocks, pi blocks. Permanent freeze.
Proposed Fix
Two changes in extensions/vers-vm.ts:
- Add
-TtosshArgs()to disable PTY allocation - Wrap remote commands:
< /dev/null ${command}in bothexecStreaming()andexec()
This prevents remote processes from ever blocking on stdin, while preserving stdout/stderr capture.
Context
- Discovered by noah-fleet agents repeatedly freezing when running Tailscale setup, git operations, and package installs on VMs
- Existing 120s timeout is a mitigation, not a fix — commands still block for the full timeout before dying
- Issue SSH commands hang chat for extended periods - need timeout/backgrounding #1 was closed with just the timeout addition
- Scully-9 investigation report: https://e0eab0bb-31f1-460d-8a2a-2b4bcdb8ac82.vm.vers.sh:3000/reports/share/1df99de6-8463-4fe5-808a-e5348a2eea9d
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels