Skip to content

VS Code extension constantly runs out of memory and crashes #801

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
deanylev opened this issue Feb 19, 2025 · 4 comments
Open

VS Code extension constantly runs out of memory and crashes #801

deanylev opened this issue Feb 19, 2025 · 4 comments

Comments

@deanylev
Copy link

deanylev commented Feb 19, 2025

Ever since we adopted Glint a couple of years ago we have dealt with the VS Code extension crashing due to running of memory. Is there an easy way to bump the memory allowance? I tried setting NODE_OPTIONS to --max-old-space-size=16384 in my bashrc to no avail.

Output:

<--- Last few GCs --->

[53754:0x130004c0000]   340424 ms: Mark-Compact 4043.1 (4079.4) -> 4037.5 (4080.1) MB, pooled: 0 MB, 1226.50 / 0.00 ms  (average mu = 0.826, current mu = 0.059) allocation failure; scavenge might not succeed
[53754:0x130004c0000]   341828 ms: Mark-Compact 4042.5 (4080.4) -> 4040.0 (4080.9) MB, pooled: 2 MB, 1386.21 / 0.00 ms  (average mu = 0.697, current mu = 0.012) allocation failure; scavenge might not succeed


<--- JS stacktrace --->

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

 1: 0x11a879dfc node::OnFatalError(char const*, char const*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 2: 0x114e8ddf4 _$LT$font_types..tag..Tag$u20$as$u20$core..cmp..PartialEq$LT$$u5b$u8$u3b$$u20$4$u5d$$GT$$GT$::eq::h5661f81bf12469f3 [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 3: 0x114e8dd88 _$LT$font_types..tag..Tag$u20$as$u20$core..cmp..PartialEq$LT$$u5b$u8$u3b$$u20$4$u5d$$GT$$GT$::eq::h5661f81bf12469f3 [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 4: 0x115062c6c v8::CppHeap::CollectGarbageInYoungGenerationForTesting(cppgc::EmbedderStackState) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 5: 0x115061874 v8::CppHeap::CollectGarbageInYoungGenerationForTesting(cppgc::EmbedderStackState) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 6: 0x1150590dc v8::CppHeap::CollectGarbageInYoungGenerationForTesting(cppgc::EmbedderStackState) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 7: 0x1150385a0 v8::CppHeap::CollectGarbageInYoungGenerationForTesting(cppgc::EmbedderStackState) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 8: 0x115469b5c v8::internal::TickSample::print() const [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
 9: 0x1606a9574
10: 0x160610948
11: 0x15a3f21e0
12: 0x15944539c
13: 0x159a58af8
14: 0x1595a2b78
15: 0x15a3c3874
16: 0x158ee1d30
17: 0x159444cc0
18: 0x1595a2a84
19: 0x1588db768
20: 0x159444bf0
21: 0x159a591cc
22: 0x1595a2b78
23: 0x15a3c3700
24: 0x158ee1af8
25: 0x159444cc0
26: 0x1595a2a84
27: 0x1588dd448
28: 0x159444bf0
29: 0x159a591cc
30: 0x1595a2b78
31: 0x15a380ba8
32: 0x159444bf0
33: 0x1595a2a84
34: 0x158eebd04
35: 0x159444bf0
36: 0x1595a2a84
37: 0x15943d054
38: 0x158ef5c8c
39: 0x159444bf0
40: 0x159a58af8
41: 0x1595a2b78
42: 0x15943d054
43: 0x1594a2310
44: 0x159444bf0
45: 0x1595a2a84
46: 0x15943cf74
47: 0x159a10304
48: 0x1588f0518
49: 0x159444e6c
50: 0x1595a2a84
51: 0x158eed324
52: 0x15944519c
53: 0x1595a2a84
54: 0x159d65ab4
55: 0x158ee1c50
56: 0x159444d10
57: 0x159a591cc
58: 0x1595a2b78
59: 0x15a3da874
60: 0x159d7b480
61: 0x159a4d640
62: 0x159bfa0b0
63: 0x15a43cf1c
64: 0x158975668
65: 0x158f8bab4
66: 0x159e65e64
67: 0x1590428ec
68: 0x159a0e04c
69: 0x15949bccc
70: 0x15949ddcc
71: 0x16060b028
72: 0x16060ac74
73: 0x114fb617c v8::Unwinder::PCIsInV8(unsigned long, v8::MemoryRange const*, void*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
74: 0x114fb5dfc v8::Unwinder::PCIsInV8(unsigned long, v8::MemoryRange const*, void*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
75: 0x114ea7998 v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
76: 0x11a7fda70 node::SetCppgcReference(v8::Isolate*, v8::Local<v8::Object>, void*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
77: 0x113c7a148 uv_timer_get_due_in [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
78: 0x113c7d2c4 uv_run [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
79: 0x11a7b034c node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
80: 0x11a7b1210 node::SpinEventLoop(node::Environment*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
81: 0x113c91fe0 v8::ValueSerializer::Delegate::HasCustomHostObject(v8::Isolate*) [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
82: 0x113c8e0f0 ElectronInitializeICUandStartNode [/Applications/Visual Studio Code.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework]
83: 0x191370274 start [/usr/lib/dyld]
[Error - 11:59:20] Client Glint: connection to server is erroring. Shutting down server.
[Error - 11:59:20] Sending pending changes failed
Error: write EPIPE
	at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
[Error - 11:59:20] Delivering pending changes failed
Error: write EPIPE
	at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:95:16)
[Error - 11:59:20] Stopping server failed
  Message: Cannot call write after a stream was destroyed
  Code: -32099
[Error - 11:59:20] Stopping server failed
  Message: Cannot call write after a stream was destroyed
  Code: -32099
[Error - 11:59:20] Notify file events failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:1465)
	at Vl.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:112666)
	at runNextTicks (node:internal/process/task_queues:60:5)
	at process.processImmediate (node:internal/timers:454:9)
	at async Za.<anonymous> (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:39:10023)
[Error - 11:59:20] Sending document notification textDocument/didSave failed.
Error: Cannot call write after a stream was destroyed
	at _write (node:internal/streams/writable:491:11)
	at Writable.write (node:internal/streams/writable:510:10)
	at /Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:14027
	at new Promise (<anonymous>)
	at Fa.write (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:13948)
	at hs.doWrite (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:2:1639)
	at /Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:2:1538
[Error - 11:59:20] Notify file events failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:1465)
	at Vl.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:112666)
	at async Za.<anonymous> (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:39:10023)
[Error - 11:59:20] Notify file events failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:1465)
	at Vl.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:112666)
	at async Za.<anonymous> (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:39:10023)
[Error - 11:59:20] Notify file events failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:1465)
	at Vl.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:112666)
	at async Za.<anonymous> (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:39:10023)
[Error - 11:59:20] Sending document notification textDocument/didOpen failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:1465)
	at Vl.sendNotification (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:112666)
	at async t (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:34:11017)
[Error - 11:59:20] Request textDocument/codeAction failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendRequest (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:2494)
	at Vl.sendRequest (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:111517)
	at async im.provideCodeActions (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:135:132198)
[Error - 11:59:20] Request textDocument/codeAction failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendRequest (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:2494)
	at Vl.sendRequest (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:111517)
	at async im.provideCodeActions (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:135:132198)
[Error - 11:59:20] Request textDocument/codeAction failed.
Error: Connection is closed.
	at Yt (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:420)
	at Object.sendRequest (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:29:2494)
	at Vl.sendRequest (/Users/dean/.vscode/extensions/typed-ember.glint-vscode-1.3.0/dist/extension.js:37:111517)
	at async im.provideCodeActions (file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:135:132198)
@NullVoxPopuli
Copy link
Contributor

how are you launching VSCode?

VSCode will only inherit your NODE_OPTIONS if launched from the terminal.

export NODE_OPTIONS="....your options.... $NODE_OPTIONS"

code .

@deanylev
Copy link
Author

Just from the Applications folder (we're on macOS)

@NullVoxPopuli
Copy link
Contributor

Can you try setting NODE_OPTIONS, and then launching code from the terminal?

Hy hope is that this resolves your issue (i believe this is what people do at work because we have a huge codebase as well)

@machty
Copy link
Contributor

machty commented Apr 4, 2025

@deanylev can you try Glint 2 to see if that fixes anything for you? It's possible that Glint 2's rearchitecting to work atop TS Plugin might fix your OOM issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants