microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.48k stars 28.97k forks source link

Out of Memory (OOM) Errors in VSCode Server on Microsoft Remote SSH #230941

Open deffcolony opened 1 week ago

deffcolony commented 1 week ago

Does this issue occur when all extensions are disabled?: Yes, but it seems to be happening with the remote ssh from microsoft not entirely sure

I am experiencing an issue while connecting to my Ubuntu server using the Microsoft Remote - SSH extension in Visual Studio Code (VSCode). After approximately five minutes of usage, the VSCode server encounters an "Out of Memory" error, causing disruption in my workflow.

Steps to Reproduce:

  1. Connect to a Linux server (this case ubuntu server) with Microsoft Remote - SSH extension
  2. After inputting a command like ls or cd after a while the error pops up

Remote - SSH log

[17:30:48.322] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 
[17:30:48.350] [server] <--- Last few GCs --->
[17:30:48.351] [server] 
[17:30:48.351] [server] [2186307:0x759af80]  2212192 ms: Scavenge 4043.8 (4122.7) -> 4039.9 (4139.4) MB, 10.43 / 0.00 ms  (average mu = 0.884, current mu = 0.806) task; 
[17:30:48.351] [server] [2186307:0x759af80]  2213043 ms: Mark-Compact 4051.4 (4139.4) -> 4042.1 (4143.2) MB, 623.92 / 0.00 ms  (average mu = 0.843, current mu = 0.696) task; scavenge might not succeed
[17:30:48.351] [server] 
[17:30:48.351] [server] 
[17:30:48.351] [server] <--- JS stacktrace --->
[17:30:48.352] [server] 
[17:30:48.352] [server] FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
[17:30:48.352] [server] ----- Native stack trace -----
[17:30:48.352] [server] 
[17:30:48.353] [server] 
[17:30:48.353] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  1: 0xb82d33 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.353] [server] 
[17:30:48.353] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  2: 0xef0c50 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.353] [server] 
[17:30:48.354] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  3: 0xef0f37 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.354] [server] 
[17:30:48.354] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  4: 0x1102ad5  [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.354] [server] 
[17:30:48.354] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  5: 0x111a958 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.355] [server] 
[17:30:48.355] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  6: 0x117352c v8::internal::MinorGCJob::Task::RunInternal() [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.355] [server] 
[17:30:48.355] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  7: 0xd392c6  [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.356] [server] 
[17:30:48.356] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  8: 0xd3c86f node::PerIsolatePlatformData::FlushForegroundTasksInternal() [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.356] [server] 
[17:30:48.356] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr>  9: 0x18b2093  [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.356] [server] 
[17:30:48.356] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 10: 0x18c6b0b  [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.357] [server] 
[17:30:48.357] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 11: 0x18b2db7 uv_run [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.357] [server] 
[17:30:48.357] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 12: 0xbc9be6 node::SpinEventLoopInternal(node::Environment*) [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.357] [server] 
[17:30:48.358] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 13: 0xd0d604  [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.358] [server] 
[17:30:48.358] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 14: 0xd0e09d node::NodeMainInstance::Run() [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.358] [server] 
[17:30:48.358] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 15: 0xc7216f node::Start(int, char**) [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.358] [server] 
[17:30:48.358] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 16: 0x72b35dc2a1ca  [/lib/x86_64-linux-gnu/libc.so.6]
[17:30:48.359] [server] 17: 0x72b35dc2a28b __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
[17:30:48.359] [server] 
[17:30:48.359] [server] [17:30:47] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307><stderr> 18: 0xbc6b6e _start [/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node]
[17:30:48.359] [server] 
[17:30:49.033] [server] [17:30:48] [<unknown>][a7ea0845][ExtensionHostConnection] <2186307> Extension Host Process exited with code: null, signal: SIGABRT.
[17:30:49.033] [server] Last EH closed, waiting before shutting down
[17:30:49.033] [server] [17:30:48] Last EH closed, waiting before shutting down
[17:31:08.386] [server] [17:31:08] [<unknown>][a7ea0845][ExtensionHostConnection] Unknown reconnection token (seen before).
[17:31:08.514] [server] [17:31:08] [<unknown>][2d04f632][ExtensionHostConnection] New connection established.
[17:31:08.514] [server] [17:31:08] [<unknown>][2d04f632][ExtensionHostConnection] <2251782> Launched Extension Host Process.

Extension Host (Remote) log

2024-10-09 17:31:08.311 [info] Extension host with pid 2251782 started
2024-10-09 17:31:08.311 [error] Error: EEXIST: file already exists, open '/root/.vscode-server/data/User/workspaceStorage/856e00d2be1a5a4b4d61e8fc3eafa924/vscode.lock'
2024-10-09 17:31:08.312 [info] Lock '/root/.vscode-server/data/User/workspaceStorage/856e00d2be1a5a4b4d61e8fc3eafa924/vscode.lock': Could not acquire lock, checking if the file is stale.
2024-10-09 17:31:08.314 [info] Lock '/root/.vscode-server/data/User/workspaceStorage/856e00d2be1a5a4b4d61e8fc3eafa924/vscode.lock': The pid 2186307 appears to be gone.
2024-10-09 17:31:08.314 [info] Lock '/root/.vscode-server/data/User/workspaceStorage/856e00d2be1a5a4b4d61e8fc3eafa924/vscode.lock': Deleting a stale lock.
2024-10-09 17:31:08.321 [info] Lock '/root/.vscode-server/data/User/workspaceStorage/856e00d2be1a5a4b4d61e8fc3eafa924/vscode.lock': Lock acquired.
2024-10-09 17:31:08.345 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage'
2024-10-09 17:31:08.346 [info] ExtensionService#_doActivateExtension vscode.git-base, startup: false, activationEvent: '*', root cause: vscode.git
2024-10-09 17:31:08.346 [info] ExtensionService#_doActivateExtension vscode.npm, startup: false, activationEvent: 'onTerminalQuickFixRequest:ms-vscode.npm-command'
2024-10-09 17:31:08.392 [info] ExtensionService#_doActivateExtension vscode.git, startup: false, activationEvent: '*'
2024-10-09 17:31:08.392 [info] ExtensionService#_doActivateExtension vscode.github, startup: false, activationEvent: '*'
2024-10-09 17:31:09.348 [info] Eager extensions activated
2024-10-09 17:31:09.349 [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch, startup: false, activationEvent: 'onStartupFinished'
2024-10-09 17:31:09.349 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished'

Tasks log

Error: Canceled

Error: Canceled

Error: Canceled

Screenshots

Task error popup

Image

Extensions in use

Image

Btop

Image

Fastfetch

Image

roblourens commented 1 week ago

After inputting a command like ls or cd after a while the error pops up

So this only happens after running a command in the terminal? 😕

Can you look up the full command line args of that node process that seems to be using a lot of memory?

deffcolony commented 1 week ago

@roblourens

I had ran the following command: where 2447309 was the PID of the node process for vscode server ps -p 2447309 -o args

Output

COMMAND /root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node --dns-result-order=ipv4first /root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/out/bootstrap-fork --type=extensionHost --transformURIs --useHostProxy=false

deffcolony commented 1 week ago

The current state of the process is that the memory usage of the node gradually increases until it crashes, after which it repeatedly restarts in an endless loop.

Image

This now reached 8.70 GB after 2 minutes which is not normal

Image

deffcolony commented 2 days ago

@roblourens Any updates on this? is it a bug? or what can i do to fix this memory leak from microsoft remote SSH? here is the detailed process where you can see its slowly increasing the memory use

https://github.com/user-attachments/assets/29bc1c7d-e54a-4924-b07a-1ca99e843a56