microsoft / vscode-remote-release

Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.
https://aka.ms/vscode-remote
Other
3.66k stars 286 forks source link

[Remote-SSH Bug]: No such file when copying VS Code Server to host with scp #10154

Closed jackdahms closed 2 months ago

jackdahms commented 2 months ago

Is there an existing issue for this bug?

Required Troubleshooting Steps

Connect Locally

It doesn’t connect successfully (same error message)

->

No response

Expected Behavior

I expect vscode-server.tar.gz and vscode-server.tar.gz.done to be successfully copied to my remote host. The files exist, but it seems like VS Code expects to be running powershell from their directory when it isn't.

Steps To Reproduce

  1. From windows trying to remote into a linux machine with no internet connection
  2. Wait for the latest vscode server update to drop
  3. Try to remote into the linux machine
  4. vscode-server.tar.gz: No such file or directory :(

Remote-SSH Log

Remote-SSH Log

``` [15:06:46.871] Log Level: 2 [15:06:46.883] VS Code version: 1.92.1 [15:06:46.883] Remote-SSH version: remote-ssh@0.113.2024072315 [15:06:46.883] win32 x64 [15:06:46.884] SSH Resolver called for "ssh-remote+ai-results", attempt 1 [15:06:46.885] "remote.SSH.useLocalServer": false [15:06:46.885] "remote.SSH.useExecServer": false [15:06:46.885] "remote.SSH.showLoginTerminal": false [15:06:46.885] "remote.SSH.path": undefined [15:06:46.886] "remote.SSH.configFile": undefined [15:06:46.886] "remote.SSH.useFlock": true [15:06:46.886] "remote.SSH.lockfilesInTmp": false [15:06:46.886] "remote.SSH.localServerDownload": auto [15:06:46.886] "remote.SSH.remoteServerListenOnSocket": false [15:06:46.886] "remote.SSH.showLoginTerminal": false [15:06:46.886] "remote.SSH.defaultExtensions": [] [15:06:46.886] "remote.SSH.loglevel": 2 [15:06:46.886] "remote.SSH.enableDynamicForwarding": true [15:06:46.887] "remote.SSH.enableRemoteCommand": false [15:06:46.887] "remote.SSH.serverPickPortsFromRange": {} [15:06:46.887] "remote.SSH.serverInstallPath": {} [15:06:46.887] "remote.SSH.permitPtyAllocation": false [15:06:46.887] "remote.SSH.preferredLocalPortRange: undefined [15:06:46.887] "remote.SSH.useCurlAndWgetConfigurationFiles: false [15:06:46.899] SSH Resolver called for host: ai-results [15:06:46.899] Setting up SSH remote "ai-results" [15:06:46.904] Using commit id "eaa41d57266683296de7d118f574d0c2652e1fc4" and quality "stable" for server [15:06:46.907] Install and start server if needed [15:06:46.916] Checking ssh with "C:\WINDOWS\system32\ssh.exe -V" [15:06:46.920] Got error from ssh: spawn C:\WINDOWS\system32\ssh.exe ENOENT [15:06:46.920] Checking ssh with "C:\WINDOWS\ssh.exe -V" [15:06:46.922] Got error from ssh: spawn C:\WINDOWS\ssh.exe ENOENT [15:06:46.922] Checking ssh with "C:\WINDOWS\System32\Wbem\ssh.exe -V" [15:06:46.924] Got error from ssh: spawn C:\WINDOWS\System32\Wbem\ssh.exe ENOENT [15:06:46.924] Checking ssh with "C:\WINDOWS\System32\WindowsPowerShell\v1.0\ssh.exe -V" [15:06:46.926] Got error from ssh: spawn C:\WINDOWS\System32\WindowsPowerShell\v1.0\ssh.exe ENOENT [15:06:46.926] Checking ssh with "C:\WINDOWS\System32\OpenSSH\ssh.exe -V" [15:06:46.999] > OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3 [15:06:47.007] Running script with connection command: "C:\WINDOWS\System32\OpenSSH\ssh.exe" -T -D 61242 "ai-results" bash [15:06:47.011] Terminal shell path: C:\WINDOWS\System32\cmd.exe [15:06:47.627] > jdahms@ai-results's password:]0;C:\WINDOWS\System32\cmd.exe [15:06:47.628] Got some output, clearing connection timeout [15:06:47.628] Showing password prompt [15:06:50.477] Got password response [15:06:50.477] "install" wrote data to terminal: "***********" [15:06:50.516] > [15:06:51.001] > 1a3673cc09ae: running [15:06:51.041] > Acquiring lock on /home/jdahms/.vscode-server/bin/eaa41d57266683296de7d118f574d0c2652e1fc4/vscode-remote-lock.jdahms.eaa41d57266683296de7d118f574d0c2652e1fc4 > Installing to /home/jdahms/.vscode-server/bin/eaa41d57266683296de7d118f574d0c2652e1fc4... > 1a3673cc09ae%%1%% [15:06:51.057] > Downloading with wget [15:07:05.086] > wget download failed > failed: Connection timed out. failed: Connection timed out. > printenv: > SHELL=/usr/bin/ksh > PWD=/home/jdahms/.vscode-server/bin/eaa41d57266683296de7d118f574d0c2652e1fc4 > LOGNAME=jdahms > MOTD_SHOWN=pam > HOME=/home/jdahms > LANG=C.UTF-8 > VSCODE_AGENT_FOLDER=/home/jdahms/.vscode-server > SSH_CONNECTION=2620:72:0:1107:391a:1fb0:e703:fcf0 61243 2620:72:0:88::27 22 > USER=jdahms > SHLVL=1 > SSH_CLIENT=2620:72:0:1107:391a:1fb0:e703:fcf0 61243 22 > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin > A__z="*SHLVL > OLDPWD=/home/jdahms > _=/usr/bin/printenv > Trigger local server download > 1a3673cc09ae:trigger_server_download > artifact==server-linux-legacy-x64== > destFolder==/home/jdahms/.vscode-server/bin/== > destFolder2==eaa41d57266683296de7d118f574d0c2652e1fc4/vscode-server.tar.gz== > 1a3673cc09ae:trigger_server_download_end > Waiting for client to transfer server archive... > Waiting for /home/jdahms/.vscode-server/bin/eaa41d57266683296de7d118f574d0c2652e > e1fc4/vscode-server.tar.gz.done and vscode-server.tar.gz to exist [15:07:05.086] Got request to download on client for {"artifact":"server-linux-legacy-x64","destPath":"/home/jdahms/.vscode-server/bin/eaa41d57266683296de7d118f574d0c2652e1fc4/vscode-server.tar.gz"} [15:07:05.087] server download URL: https://update.code.visualstudio.com/commit:eaa41d57266683296de7d118f574d0c2652e1fc4/server-linux-legacy-x64/stable [15:07:05.087] Downloading VS Code server locally... [15:07:05.100] > > [15:07:10.977] Downloaded VS Code server to c:\Users\jdahms\AppData\Local\Temp\a3ecf926-7fea-4863-87b6-61aa2394bb9b [15:07:10.983] Renamed VS Code server to c:\Users\jdahms\AppData\Local\Temp\vscode_server_1723234030978\vscode-server.tar.gz [15:07:10.988] Checking ssh with "C:\WINDOWS\system32\ssh.exe -V" [15:07:10.989] Got error from ssh: spawn C:\WINDOWS\system32\ssh.exe ENOENT [15:07:10.990] Checking ssh with "C:\WINDOWS\ssh.exe -V" [15:07:10.991] Got error from ssh: spawn C:\WINDOWS\ssh.exe ENOENT [15:07:10.991] Checking ssh with "C:\WINDOWS\System32\Wbem\ssh.exe -V" [15:07:10.993] Got error from ssh: spawn C:\WINDOWS\System32\Wbem\ssh.exe ENOENT [15:07:10.993] Checking ssh with "C:\WINDOWS\System32\WindowsPowerShell\v1.0\ssh.exe -V" [15:07:10.995] Got error from ssh: spawn C:\WINDOWS\System32\WindowsPowerShell\v1.0\ssh.exe ENOENT [15:07:10.995] Checking ssh with "C:\WINDOWS\System32\OpenSSH\ssh.exe -V" [15:07:11.068] > OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3 [15:07:11.074] Expecting scp to be next to ssh at C:\WINDOWS\System32\OpenSSH\scp.exe [15:07:11.074] Testing scp with "C:\WINDOWS\System32\OpenSSH\scp.exe" [15:07:11.155] scp exited with code: 1 [15:07:11.155] Got stderr from scp: usage: scp [-346ABCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file] [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target [15:07:11.156] Copying file to remote with "C:\WINDOWS\System32\OpenSSH\scp.exe" "vscode-server.tar.gz" "vscode-server.tar.gz.done" "ai-results":"/home/jdahms/.vscode-server/bin/eaa41d57266683296de7d118f574d0c2652e1fc4" [15:07:11.156] Using cwd: file:///c%3A/Users/jdahms/AppData/Local/Temp/vscode_server_1723234030978 [15:07:11.156] Terminal shell path: C:\WINDOWS\System32\cmd.exe [15:07:11.794] > jdahms@ai-results's password:]0;C:\WINDOWS\System32\cmd.exe [15:07:11.795] Showing password prompt [15:07:15.908] Got password response [15:07:15.908] "Copy server to host" wrote data to terminal: "***********" [15:07:15.959] > [15:07:16.220] > vscode-server.tar.gz: No such file or directory > vscode-server.tar.gz.done: No such file or directory [15:07:17.496] "Copy server to host" terminal command done ```

Anything else?

https://github.com/microsoft/vscode-remote-release/issues/7844 is the only other issue like this I can find, but the poster kinda went AWOL. One comment said to try running remote-ssh kill sever on remote, which I've tried, but it doesn't fix the problem.

The files exist, and once I scp them myself, the program resumes with no error. This is just a huge pain since it feels like the server updates every two days.

Is there a way to update the path that VS Code looks to for these files?

ccneko commented 2 months ago

I experienced the same issue It says Waiting for /home/xxx/.vscode-server/vscode-cli-eaa41d57266683296de7d118f574d0c2652e1fc4.tar.gz.done and vscode-server.tar.gz to exist and timed out, and what I found on the server is vscode-cli-eaa41d57266683296de7d1188f574d0c2652e1fc4.tar.gz.done and vscode-cli-eaa41d57266683296de7d118f574d0c2652e1fc4.tar.gz, with one more 8 in the file name.

image image

Interestingly, when I reckon I should try decompress the tarballs manually. This morning I saw they are already decompressed soon after the when I left my terminal, even though above error appeared and persisted for quite a while. image

joshspicer commented 2 months ago

/duplicate https://github.com/microsoft/vscode-remote-release/issues/10174

vs-code-engineering[bot] commented 2 months ago

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.

Happy Coding!

joshspicer commented 2 months ago

Thank you for the report. I understand the root cause of this issue and will track it in the issue above