microsoft / microsoft/vscode

Enabling (not using) Copilot Chat crash-loops the extension host with a V8 out-of-memory abort

Open
#326,017 0 comments 0 reactions 1 assignee Claimed by @justschen View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

## Title
Enabling (not using) Copilot Chat crash-loops the extension host with a V8 out-of-memory abort

## Body

- Copilot Chat Extension Version:
- VS Code Version: 1.128.1 (commit 5264f2156cbcd7aea5fd004d29eaa10209155d66, arm64)
- OS Version: macOS 26.5.2 (Apple Silicon, Mac17,7, 128 GB RAM)
- Feature (e.g. agent/edit/ask mode): none — the extension was enabled but never used (no chat session opened, no model selected)
- Selected model (e.g. GPT 4.1, Claude 3.7 Sonnet): none
- Logs: see below

### Observed facts

**1. The extension host repeatedly exits with code 5.**
From VS Code's main log:
```
[info] Extension host with pid exited with code: 5, signal: unknown.
```
This line recurs every ~13 seconds across multiple sessions.

**2. The exits are V8 out-of-memory aborts.**
macOS DiagnosticReports contain 15 `node` crash reports over ~7 days, all with this signature:
```
SIGABRT / abort() called
node::OOMErrorHandler
v8::internal::V8::FatalProcessOutOfMemory
v8::internal::Heap::CollectGarbage -> FatalProcessOutOfMemory
```

**3. The main extension-host process heap grows to ~5 GB in ~12 seconds, then the process disappears.**
Sampling RSS of `Code Helper (Plugin)` (single PID) with `ps -axo pid,rss,command`:
```
0s : 1210 MB
3s : 2660 MB
6s : 3366 MB
9s : 5076 MB
12s : process gone; an orphaned child is reparented to launchd (ppid=1)
```
Child processes (language servers, etc.) stayed under ~300 MB throughout; the growth was in the main extension host itself.

**4. Disabling the GitHub Copilot Chat extension stops the crash loop; re-enabling reproduces it.**

**5. The repository is git-clean, but Copilot Chat's checkpoint session directories contain pathspec files listing ~9,573 paths each.**
- `git status --porcelain | wc -l` → `0`
- `git ls-files | wc -l` → `15830`
- Multiple `…/globalStorage/github.copilot-chat/vscode-sessions-/pathspec.txt` files each contain ~9,573 lines.
- Those paths include large gitignored build artifacts, e.g. an embedded CPython distribution and a `.tar.gz` bundle under `app/build/.python-bundle-prod/` (git itself ignores these — they do not appear in `git status`).

**6. The extension-host log emits, immediately before each exit:**
```
[Decorations] CAPPING events from decorations provider vscode.git 9575
```

**7. A `git add -A --pathspec-from-file=…/github.copilot-chat/vscode-sessions-/pathspec.txt` process was observed running (visible in VS Code's Process Explorer).**

### Steps to Reproduce

1. Enable the GitHub Copilot Chat extension. Do not open chat, sign into a session, or select a model.
2. Open a large workspace (this one: 15,830 tracked files; git working tree clean).
3. Observe: the extension host heap climbs to ~5 GB within ~12 seconds, the host exits with code 5 (V8 OOM), and restarts — repeating indefinitely.
4. Disable the Copilot Chat extension. The loop stops.

### Workaround
Disabling the GitHub Copilot Chat extension stops the crash loop.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.