Skip to content

VS Code renderer crash (code 5) during heavy Copilot Chat + Remote-SSH usage on macOS #14139

@keyboardAnt

Description

@keyboardAnt

Summary

VS Code renderer crashes with:

The window terminated unexpectedly (reason: 'crashed', code: '5')

This happens during heavy Copilot Chat usage in a Remote-SSH workspace on macOS.

Impact

  • Frequent interruption while coding.
  • Current observed history: 13 renderer code-5 crashes between 2026-02-13 19:08:17 and 2026-02-19 18:06:09.

Environment

  • VS Code: 1.109.3 (b6a47e94e326b5c209d118cf0f994d6065585705)
  • OS: macOS (Darwin arm64 25.2.0)
  • Copilot Chat: github.copilot-chat@0.37.6 (enabled, required for workflow)
  • Copilot Labs: github.copilot-labs@0.17.1121 (disabled)
  • Remote SSH: ms-vscode-remote.remote-ssh@0.122.0

Repro (high-level, consistent in this setup)

  1. Open a Remote-SSH workspace.
  2. Use Copilot Chat heavily (including tool/terminal-oriented interactions) for ~15-60 min.
  3. During periods of remote extension-host instability (unresponsive/responsive churn), continue chat/tool usage.
  4. Renderer eventually terminates with code: 5.

Expected

VS Code window remains stable.

Actual

Renderer crashes (CodeWindow: renderer process gone (reason: crashed, code: 5)), extension host then exits cleanly because renderer closed the port.

What I already tested

  • github.copilot-labs disabled (still reproduces).
  • Kept github.copilot-chat enabled (required for workflow).
  • Issue persists.

Latest crash (most useful sample)

  • Main log:
    • 2026-02-19 18:06:09.300 [error] CodeWindow: renderer process gone (reason: crashed, code: 5)
  • Crash dump at same timestamp:
    • 4829f379-b4ef-4519-a384-16a8fb9de262.dmp
    • Crashpad xattr indicates uploaded (upload_count=1, uploaded=1)

15-minute pre-crash signal counts (latest crash window)

Window analyzed: window32 log directory (.../logs/20260213T171853/window32/renderer.log)

  • potential listener LEAK detected: 2
  • InstantiationService has been disposed: 6
  • tool-path markers (didExecuteTool/$invokeTool/LanguageModelToolsService): 8
  • terminal OSC path markers (OscHandler/OscParser): 6
  • remote unresponsive events: 20
  • remote responsive events: 20
  • before fetch request errors: 1

Representative log snippets

  • Listener leak right before crash window:
    • 2026-02-19 18:05:52.478 [error] ... potential listener LEAK detected ...
  • Remote churn right before crash:
    • 2026-02-19 18:06:05.145 [info] Extension host (Remote) is unresponsive.
    • 2026-02-19 18:06:06.231 [info] Extension host (Remote) is responsive.
  • Renderer/tool/terminal stack signals observed repeatedly in this window:
    • InstantiationService has been disposed
    • stack frames include aFt.didExecuteTool, $invokeTool, OscHandler
  • Extension host behavior at crash time (secondary consequence, not root):
    • Extension host terminating: renderer closed the MessagePort
    • Extension host with pid 66706 exiting with code 0

Crash history (timestamps)

2026-02-13 19:08:17.821
2026-02-13 20:07:38.320
2026-02-13 20:53:35.217
2026-02-13 21:46:54.517
2026-02-13 22:42:25.014
2026-02-13 23:12:22.149
2026-02-14 00:20:00.717
2026-02-15 16:07:40.995
2026-02-15 16:53:32.670
2026-02-15 17:46:13.331
2026-02-15 20:33:56.470
2026-02-19 16:26:15.378
2026-02-19 18:06:09.300

Notes for triage

  • This appears renderer-side and correlated with Chat/tool execution path + remote churn.
  • Happy to provide additional sanitized excerpts or narrowed repro if maintainers want a specific trace level / logging config.

Disclaimer: I used OpenAI's Codex with GPT-5.3-Codex to draft this issue body and organize logs/evidence. I haven't reviewed the content carefully.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions