microsoft / microsoft/vscode-remote-release
Ripgrep pinned at 100% cpu when connecting to remote server.
Nobody has claimed this yet.
- Dominant language
- Dockerfile
- Stars
- 4.2k
- Forks
- 469
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
Is there an existing issue for this bug?
- I have searched the existing open issues and found none that apply.
- If I find any issue of interest that is related or closed, I will included a link to it in this issue.
Required Troubleshooting Steps
- I have read and performed the troubleshooting steps
- I have tried both values of the
remote.SSH.useLocalServersetting - My issue was not covered in the Tips and Tricks linked from the Troubleshooting Wiki.
- I will include a complete copy of my Remote - SSH logs by running Remote-SSH: Show Log in the command palette or from View > Output in the menu bar
[Optional] Diagnose with Copilot
I did not ask the @remote-ssh participant for help
In step 2 of the troubleshooting wiki, what was the result of running the generated SSH command verbatim outside of VS Code?
I COULD successfully SSH to the remote machine with the generated SSH command
Remote-SSH Log
Remote-SSH Log
[12:15:24.152] Log Level: 2
[12:15:24.169] VS Code version: 1.104.2
[12:15:24.169] Remote-SSH version: remote-ssh@0.120.0
[12:15:24.169] win32 x64
[12:15:24.171] SSH Resolver called for "ssh-remote+unraid", attempt 1
[12:15:24.172] remote.SSH.useLocalServer = false
[12:15:24.172] remote.SSH.useExecServer = true
[12:15:24.172] remote.SSH.bindHost = {}
[12:15:24.172] remote.SSH.showLoginTerminal = false
[12:15:24.173] remote.SSH.remotePlatform = {"unraid":"linux","UniMachine":"linux","Phorge":"linux","phorge":"linux","192.168.1.173":"linux","4.212.240.190":"linux","172.205.210.121":"linux"}
[12:15:24.173] remote.SSH.path = undefined
[12:15:24.173] remote.SSH.configFile = undefined
[12:15:24.173] remote.SSH.useFlock = true
[12:15:24.173] remote.SSH.lockfilesInTmp = false
[12:15:24.173] remote.SSH.localServerDownload = auto
[12:15:24.173] remote.SSH.remoteServerListenOnSocket = false
[12:15:24.173] remote.SSH.defaultExtensions = []
[12:15:24.173] remote.SSH.defaultExtensionsIfInstalledLocally = []
[12:15:24.173] remote.SSH.loglevel = 2
[12:15:24.173] remote.SSH.enableDynamicForwarding = true
[12:15:24.173] remote.SSH.enableRemoteCommand = false
[12:15:24.174] remote.SSH.serverPickPortsFromRange = {}
[12:15:24.174] remote.SSH.serverInstallPath = {}
[12:15:24.174] remote.SSH.permitPtyAllocation = false
[12:15:24.174] remote.SSH.preferredLocalPortRange = undefined
[12:15:24.174] remote.SSH.useCurlAndWgetConfigurationFiles = false
[12:15:24.174] remote.SSH.experimental.chat = false
[12:15:24.174] remote.SSH.experimental.enhancedSessionLogs = false
[12:15:24.174] remote.SSH.httpProxy = {}
[12:15:24.174] remote.SSH.httpsProxy = {}
[12:15:24.185] SSH Resolver called for host: unraid
[12:15:24.185] Setting up SSH remote "unraid"
[12:15:24.194] Using commit id "e3a5acfb517a443235981655413d566533107e92" and quality "stable" for server
[12:15:24.194] Extensions to install:
[12:15:24.201] Install and start server if needed
[12:15:24.204] Checking ssh with "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\x64\ssh.exe -V"
[12:15:24.206] Got error from ssh: spawn C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\x64\ssh.exe ENOENT
[12:15:24.206] Checking ssh with "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\ssh.exe -V"
[12:15:24.207] Got error from ssh: spawn C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin\ssh.exe ENOENT
[12:15:24.207] Checking ssh with "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\bin\ssh.exe -V"
[12:15:24.208] Got error from ssh: spawn C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\bin\ssh.exe ENOENT
[12:15:24.208] Checking ssh with "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\libnvvp\ssh.exe -V"
[12:15:24.209] Got error from ssh: spawn C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\libnvvp\ssh.exe ENOENT
[12:15:24.209] Checking ssh with "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin\ssh.exe -V"
[12:15:24.210] Got error from ssh: spawn C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin\ssh.exe ENOENT
[12:15:24.210] Checking ssh with "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\libnvvp\ssh.exe -V"
[12:15:24.211] Got error from ssh: spawn C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\libnvvp\ssh.exe ENOENT
[12:15:24.211] Checking ssh with "C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin\ssh.exe -V"
[12:15:24.211] Got error from ssh: spawn C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin\ssh.exe ENOENT
[12:15:24.211] Checking ssh with "C:\WINDOWS\system32\ssh.exe -V"
[12:15:24.212] Got error from ssh: spawn C:\WINDOWS\system32\ssh.exe ENOENT
[12:15:24.212] Checking ssh with "C:\WINDOWS\ssh.exe -V"
[12:15:24.213] Got error from ssh: spawn C:\WINDOWS\ssh.exe ENOENT
[12:15:24.213] Checking ssh with "C:\WINDOWS\System32\Wbem\ssh.exe -V"
[12:15:24.214] Got error from ssh: spawn C:\WINDOWS\System32\Wbem\ssh.exe ENOENT
[12:15:24.214] Checking ssh with "C:\WINDOWS\System32\WindowsPowerShell\v1.0\ssh.exe -V"
[12:15:24.215] Got error from ssh: spawn C:\WINDOWS\System32\WindowsPowerShell\v1.0\ssh.exe ENOENT
[12:15:24.215] Checking ssh with "C:\WINDOWS\System32\OpenSSH\ssh.exe -V"
[12:15:24.253] > OpenSSH_for_Windows_9.5p2, LibreSSL 3.8.2
[12:15:24.270] Running script with connection command: "C:\WINDOWS\System32\OpenSSH\ssh.exe" -T -D 50235 unraid sh
[12:15:24.271] Generated SSH command: 'type "C:\Users\MJERVE~1\AppData\Local\Temp\vscode-linux-multi-line-command-unraid-502498570.sh" | "C:\WINDOWS\System32\OpenSSH\ssh.exe" -T -D 50235 unraid sh'
[12:15:24.272] Using connect timeout of 17 seconds
[12:15:24.272] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[12:15:24.510] >
[12:15:24.510] Got some output, clearing connection timeout
[12:15:25.337] > dd67e4ae88cc: running
[12:15:25.360] > Script executing under PID: 101373
> Found existing installation at /root/.vscode-server...
> Starting VS Code CLI...
> Removing old logfile at /root/.vscode-server/.cli.e3a5acfb517a443235981655413d566533107e92.log
> Spawned remote CLI: 101426
> Waiting for server log...
[12:15:25.374] > dd67e4ae88cc: start
> listeningOn==127.0.0.1:45363==
> osReleaseId==unraid-os==
> arch==x86_64==
> vscodeArch==x64==
> bitness==64==
> tmpDir==/run/user/0==
> platform==linux==
> unpackResult====
> didLocalDownload==0==
> downloadTime====
> installTime====
> serverStartTime==36==
> execServerToken==11a11a11-aa1a-1aa1-1a1a-a111a1111111==
> platformDownloadPath==cli-alpine-x64==
> SSH_AUTH_SOCK====
> DISPLAY====
> dd67e4ae88cc: end
[12:15:25.375] Received install output:
listeningOn==127.0.0.1:45363==
osReleaseId==unraid-os==
arch==x86_64==
vscodeArch==x64==
bitness==64==
tmpDir==/run/user/0==
platform==linux==
unpackResult====
didLocalDownload==0==
downloadTime====
installTime====
serverStartTime==36==
execServerToken==11a11a11-aa1a-1aa1-1a1a-a111a1111111==
platformDownloadPath==cli-alpine-x64==
SSH_AUTH_SOCK====
DISPLAY====
[12:15:25.375] Remote server is listening on port 45363
[12:15:25.375] Parsed server configuration: {"serverConfiguration":{"remoteListeningOn":{"port":45363},"osReleaseId":"unraid-os","arch":"x86_64","sshAuthSock":"","display":"","tmpDir":"/run/user/0","platform":"linux","execServerToken":"11a11a11-aa1a-1aa1-1a1a-a111a1111111"},"serverStartTime":36,"installUnpackCode":""}
[12:15:25.378] Starting forwarding server. local port 50239 -> socksPort 50235 -> remotePort 45363
[12:15:25.379] Forwarding server listening on port 50239
[12:15:25.379] Waiting for ssh tunnel to be ready
[12:15:25.381] [Forwarding server port 50239] Got connection 0
[12:15:25.382] Tunneled port 45363 to local port 50239
[12:15:25.382] Resolved "ssh-remote+unraid" to "port 50239"
[12:15:25.388] Initizing new exec server for ssh-remote+unraid
[12:15:25.388] Resolving exec server at port 50239
[12:15:25.389] [Forwarding server port 50239] Got connection 1
[12:15:25.537] Exec server for ssh-remote+unraid created and cached
[12:15:25.537] Extensions to install:
[12:15:25.544] ------
[12:15:25.544] No hints found in the recent session.
[12:15:25.599] [server] Checking /root/.vscode-server/cli/servers/Stable-e3a5acfb517a443235981655413d566533107e92/log.txt and /root/.vscode-server/cli/servers/Stable-e3a5acfb517a443235981655413d566533107e92/pid.txt for a running server...
[12:15:25.599] [server] Found running server (pid=28869)
[12:15:39.697] Opening exec server for ssh-remote+unraid
[12:15:39.764] Verified and reusing cached exec server for ssh-remote+unraid
[12:15:39.765] No hints found in the recent session.
[12:15:42.206] Opening exec server for ssh-remote+unraid
[12:15:42.256] Verified and reusing cached exec server for ssh-remote+unraid
[12:15:42.256] No hints found in the recent session.
[12:15:42.305] Opening exec server for ssh-remote+unraid
[12:15:42.359] Verified and reusing cached exec server for ssh-remote+unraid
[12:15:42.359] No hints found in the recent session.
Expected Behavior
Connects to server and works normally without bringing servers to it's knees.
Actual Behavior
Connects to server and pins cpu to 100% for the first 10-15 minutes while ripgrep does ~something.
Steps To Reproduce
- Connect to remote server as / path
- open htop or top and see that ripgrep is trying to grep all files on the file system
- wait 10-15 minutes until it to finish a load disappear of server.
Anything else?
I should note that I am connecting to a /mnt/nvme/appdata folder where all the data for ~40 docker containers reside. I assume it's trying to parse all this data and build a cache using it. (240 GB of files), but i assume this same issue would occur with large mono repos as well.
This might also be an edge case but would be a nice to have to solve so it vscode doesn't being servers to their knees when you connect to them for debugging.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Remote-SSH log and the generated SSH command, then reproduce the connection while monitoring the remote host with htop or top. Investigate which Remote-SSH startup step launches ripgrep and how it scans the /mnt/nvme/appdata tree; done means connecting without sustained 100% CPU or a 10–15 minute scan.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100