mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-21 18:52:56 +00:00
PR #1920 fixed pipe buffer deadlock in runServerCapture and waitForCloudInit but missed 6 other locations where Bun.spawn uses "pipe" for stderr without draining it before await proc.exited. When a child process writes >64KB to a piped stderr, the OS pipe buffer fills, the child blocks on write(), and the parent blocks on exited — classic deadlock. Fix: change stderr from "pipe" to "inherit" in all 6 locations since the stderr output is never read programmatically. This also lets users see installation errors and SCP errors in real time. Affected functions: - fly.ts ensureFlyCli() - sprite.ts ensureSpriteCli() - gcp.ts ensureGcloudCli() - hetzner.ts uploadFile() - digitalocean.ts uploadFile() - aws.ts uploadFile() -- refactor/code-health Agent: code-health Co-authored-by: B <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| agents.ts | ||
| fly.ts | ||
| main.ts | ||