Agents window: renderer SIGTRAP crash after remote agent-host reconnect storms (4× same stack in 14h); streaming turn left permanently blank after reconnect
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
Type: Bug
### Environment
- VS Code 1.128.0 (stable, commit `fc3def6774c76082adf699d366f31a557ce5573f`), macOS 26.5 arm64
- Agents window with `chat.agentHost.enabled: true`, sessions on a **remote agent host over SSH tunnel** (Linux x64 server, same 1.128 commit) plus local agent-host sessions
- Claude agent in native (BYOK) mode. One earlier occurrence coincided with a Codex agent-host session erroring, but the **latest crash happened with no Codex usage at all** (Claude sessions only), so this is not Codex-specific.
### Symptom
The renderer process dies (SIGTRAP) and the window must be reloaded. **4 crashes within ~14 hours**, all with an identical faulting stack.
Crash report timestamps (local): 2026-07-13 21:48:21, 22:51:13, 23:57:05, 2026-07-14 10:55:08.
### Crash signature (identical in all 4 `.ips` reports)
`EXC_BREAKPOINT (SIGTRAP)`, faulting thread inside Electron Framework. Nearest-symbol frames (stripped binary, so symbol names are approximate offsets):
```
Electron Framework ares_dns_rr_get_ttl (+83614320) ×4 frames
Electron Framework rust_bmp$cxxbridge1$194$Reader$image_data_loaded (+107208556)
Electron Framework v8::Isolate::NumberOfHeapSpaces (+59616552)
```
The repeated-offset pattern and the V8 frame suggest a V8 fatal CHECK / heap-related abort rather than a genuine c-ares fault.
### Correlated renderer-log evidence
1. In the minutes before a crash, the renderer log fills with a **repeating unhandled `TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))`** — one every few seconds (observed 2026-07-13 21:47:24 → 21:48:14, crash at 21:48:21).
2. `potential listener LEAK detected` fires immediately after `[RemoteAgentHost] SSH connection re-established` (2026-07-13 22:50:40, crash at 22:51:13).
3. **Every crash follows a remote agent-host disconnect/reconnect burst.** Example from today (2026-07-14): 10:51:40 `Re-establishing SSH connection (attempt 1)` … attempts 2–7 … 10:52:48 re-established → 10:54:32 another reconnect → **10:55:08 renderer SIGTRAP**.
### Related UX symptom in the same disconnect windows
When a turn is actively streaming while the connection drops, the response bubble stays permanently empty (only the copy-message icon renders). The content is safe server-side: reopening the session — or just sending the next message, which forces a state resync — restores it. Possibly the same resume gap family as #324276.
### What I can provide
Full `.ips` crash reports and renderer / agent-host logs on request.
Contributor guide
Research direction
Start by correlating the renderer logs around RemoteAgentHost SSH disconnect/reconnect bursts with the repeated undefined-is-not-iterable errors and the renderer crash timestamps. Trace the reconnect and active-stream resume paths for both remote and local agent-host sessions, then reproduce a reconnect storm and verify that the renderer stays alive and the streamed response is restored without reopening the session.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- developer-experience, distributed-systems, frontend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100