Change:
Type: <bBug</bTry to open a remote connection to an external linux server. It fails in recent VSCode Insiders. (Problem appeared sometime last week approximately) It works correctly in regular VSCode towards the same server. Server OS: CentOS7 No rush, using regular VSCode until a fix arrives... VS Code version: Code - Insiders 1.86.0-insider (, 2023-12-18T05:36:59.983Z) OS version: WindowsNT x64 10.0. Modes: Connection to 'SSH: ' could not be established Refused to connect to unsupported server Connection to 'SSH: hpc2' could not be established Refused to connect to unsupported server <details<summarySystem Info</summary Connection to 'SSH: ' could not be established Refused to connect to unsupported server Connection to 'SSH: hpc2' could not be established Refused to connect to unsupported server </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
Can you please share your remote SSH logs?
Sure here goes: [17:07:59.381] Log Level: 2 [17:08:00.202] SSH Resolver called for "ssh-", attempt 1 [17:08:00.203] "remote.SSH.useLocalServer": false [17:08:00.203] "remote.SSH.useExecServer": true [17:08:00.204] "remote.SSH.showLoginTerminal": false [17:08:00.204] "remote.SSH.remotePlatform": {"hpc2":"linux","knox.homelan":"linux","knoxpub":"linux","knox":"linux","":"linux","":"linux","octopi.homelan":"linux","":"linux","":"linux","":"linux","ivy":"linux","192.168.2.135":"linux","":"linux"} [17:08:00.205] "": C:WindowsSystem32OpenSSH [17:08:00.216] "remote.SSH.configFile": C:Usersroy000.sshconfig [17:08:00.217] "remote.SSH.useFlock": true [17:08:00.217] "remote.SSH.lockfilesInTmp": false [17:08:00.218] "remote.SSH.localServerDownload": auto [17:08:00.218] "remote.SSH.remoteServerListenOnSocket": false [17:08:00.219] "remote.SSH.showLoginTerminal": false [17:08:00.219] "remote.SSH.defaultExtensions": [] [17:08:00.219] "remote.SSH.loglevel": 2 [17:08:00.220] "remote.SSH.enableDynamicForwarding": true [17:08:00.220] "remote.SSH.enableRemoteCommand": false [17:08:00.220] "remote.SSH.serverPickPortsFromRange": {} [17:08:00.221] "remote.SSH.serverInstallPath": {} [17:08:00.228] VS Code version: 1.86.0-insider [17:08:00.229] Remote-SSH version: remote-ssh [17:08:00.229] win32 x64 [17:08:00.244] SSH Resolver called for host: [17:08:00.244] Setting up SSH remote "" [17:08:00.273] Using commit id "" and quality "insider" for server [17:08:00.305] Install and start server if needed [17:08:00.318] Checking ssh with " C:WindowsSystem32OpenSSH -V" [17:08:00.325] Got error from ssh: spawn C:WindowsSystem32OpenSSH ENOENT [17:08:00.325] The specified path C:WindowsSystem32OpenSSH is not a valid SSH binary [17:08:00.326] Checking ssh with "C:WINDOWSsystem32 -V" [17:08:00.329] Got error from ssh: spawn C:WINDOWSsystem32 ENOENT [17:08:00.329] Checking ssh with "C:WINDOWS -V" [17:08:00.332] Got error from ssh: spawn C:WINDOWS ENOENT [17:08:00.333] Checking ssh with "C:WINDOWSSystem32Wbem -V" [17:08:00.339] Got error from ssh: spawn C:WINDOWSSystem32Wbem ENOENT [17:08:00.340] Checking ssh with "C:WINDOWSSystem32WindowsPowerShellv1.0 -V" [17:08:00.343] Got error from ssh: spawn C:WINDOWSSystem32WindowsPowerShellv1.0 ENOENT [17:08:00.343] Checking ssh with "C:WINDOWSSystem32OpenSSH -V" [17:08:01.527] OpenSSHforWindows8.6p1, Li [17:08:01.527] breSSL 3.4.3 [17:08:01.616] Using SSH config file "C:Usersroy000.sshconfig" [17:08:01.617] Running script with connection command: "C:WINDOWSSystem32OpenSSH" -T -D -F "C:Usersroy000.sshconfig" "" bash [17:08:01.623] Terminal shell path: C:WINDOWSSystem32 [17:08:03.909] : running [17:08:03.910] Got some output, clearing connection timeout [17:08:03.949] Removing old logfile at [17:08:03.964] [17:08:03.983] [17:08:03.992] : start [17:08:03.993] Received install output: SSHAUTHSOCK==/tmp/ssh-rWUVKSeHI2/agent.== DISPLAY==== listeningOn==127.0.0.1:== osReleaseId==centos== arch==x8664== vscodeArch==x64== bitness==64== tmpDir==/run/user/1000== platform==linux== unpackResult==== didLocalDownload==0== downloadTime==== installTime==== serverStartTime==76== execServerToken==== [17:08:03.993] Remote server is listening on port [17:08:03.994] Parsed server configuration: {"serverConfiguration":{"remoteListeningOn":{"port":},"osReleaseId":"centos","arch":"x8664","sshAuthSock":"/tmp/ssh-rWUVKSeHI2/agent.","display":"","tmpDir":"/run/user/1000","platform":"linux","execServerToken":""},"serverStartTime":76,"installUnpackCode":""} [17:08:04.001] Starting forwarding server. local port -socksPort -remotePort [17:08:04.002] Forwarding server listening on port [17:08:04.003] Waiting for ssh tunnel to be ready [17:08:04.009] [Forwarding server port ] Got connection 0 [17:08:04.011] Tunneled port to local port [17:08:04.011] Resolved "ssh-" to "port " [17:08:04.027] Initizing new exec server for ssh- [17:08:04.027] Resolving exec server at port [17:08:04.129] [Forwarding server port ] Got connection 1 [17:08:04.219] Exec server for ssh- created and cached [17:08:04.227] ------ [17:08:04.267] [server] Checking and for a running server... [17:08:04.267] [server] Installing and setting up Visual Studio Code Server... [17:08:04.268] [server] Server setup complete [17:08:04.268] [server] Starting server... [17:08:04.268] [server] Starting server with command... Command { std: "" "--connection-token=remotessh" "--accept-server-license-terms" "--start-server" "--enable-remote-auto-shutdown" "--socket-path=/tmp/code-insiders--d8be-43d9-8f2f-", killondrop: false } [17:08:04.345] [server] [17:08:04.345] [server] Visual Studio Code Server [17:08:04.345] [server] [17:08:04.346] [server] By using the software, you agree to [17:08:04.596] [server] [17:08:04] [17:08:04.640] [server] [17:08:04.640] [server] [17:08:04.640] [server] [17:08:04.641] [server] Error: version GLIBCXX3.4.20' not found (required by ) [17:08:04.641] [server] at (node:internal/modules/cjs/loader:1340:18) [17:08:04.641] [server] at (node:internal/modules/cjs/loader:1119:32) [17:08:04.641] [server] at (node:internal/modules/cjs/loader:960:12) [17:08:04.644] [server] Error: versionGLIBCXX3.4.20' not found (required by ) [17:08:04.644] [server] at (node:internal/modules/cjs/loader:1340:18) [17:08:04.644] [server] at (node:internal/modules/cjs/loader:1119:32) [17:08:04.645] [server] at (node:internal/modules/cjs/loader:960:12) [17:08:04.681] [server] [17:08:04] Error: version CXXABI1.3.9' not found (required by ) [17:08:04.682] [server] [17:08:04] Extension host agent started. [17:08:04.682] [server] at (node:internal/modules/cjs/loader:1340:18) [17:08:04.682] [server] at (node:internal/modules/cjs/loader:1119:32) [17:08:04.779] ------ [17:08:04.779] SSH Resolver called for "ssh-", attempt 2, (Reconnection) [17:08:04.782] SSH Resolver called for host: [17:08:04.782] Setting up SSH remote "" [17:08:04.783] Using commit id "" and quality "insider" for server [17:08:04.787] Install and start server if needed [17:08:04.796] Checking ssh with " C:WindowsSystem32OpenSSH -V" [17:08:04.799] Got error from ssh: spawn C:WindowsSystem32OpenSSH ENOENT [17:08:04.800] The specified path C:WindowsSystem32OpenSSH is not a valid SSH binary [17:08:04.800] Checking ssh with "C:WINDOWSsystem32 -V" [17:08:04.803] Got error from ssh: spawn C:WINDOWSsystem32 ENOENT [17:08:04.803] Checking ssh with "C:WINDOWS -V" [17:08:04.808] Got error from ssh: spawn C:WINDOWS ENOENT [17:08:04.808] Checking ssh with "C:WINDOWSSystem32Wbem -V" [17:08:04.812] Got error from ssh: spawn C:WINDOWSSystem32Wbem ENOENT [17:08:04.813] Checking ssh with "C:WINDOWSSystem32WindowsPowerShellv1.0 -V" [17:08:04.815] Got error from ssh: spawn C:WINDOWSSystem32WindowsPowerShellv1.0 ENOENT [17:08:04.816] Checking ssh with "C:WINDOWSSystem32OpenSSH -V" [17:08:05.000] OpenSSHforWindows8.6p1, LibreSSL 3.4.3 [17:08:05.019] Using SSH config file "C:Usersroy000.sshconfig" [17:08:05.019] Running script with connection command: "C:WINDOWSSystem32OpenSSH" -T -D -F "C:Usersroy000.sshconfig" "" bash [17:08:05.022] Terminal shell path: C:WINDOWSSystem32 [17:08:06.387] : running [17:08:06.388] Got some output, clearing connection timeout [17:08:06.400] [17:08:06.412] [17:08:06.431] Waiting for server log... [17:08:06.464] : start [17:08:06.465] Received install output: SSHAUTHSOCK==/tmp/ssh-uWhxwS20Dg/agent.== DISPLAY==== listeningOn==127.0.0.1:== osReleaseId==centos== arch==x8664== vscodeArch==x64== bitness==64== tmpDir==/run/user/1000== platform==linux== unpackResult==== didLocalDownload==0== downloadTime==== installTime==== serverStartTime==71== execServerToken==== [17:08:06.465] Remote server is listening on port [17:08:06.465] Parsed server configuration: {"serverConfiguration":{"remoteListeningOn":{"port":},"osReleaseId":"centos","arch":"x8664","sshAuthSock":"/tmp/ssh-uWhxwS20Dg/agent.","display":"","tmpDir":"/run/user/1000","platform":"linux","execServerToken":""},"serverStartTime":71,"installUnpackCode":""} [17:08:06.472] Starting forwarding server. local port -socksPort -remotePort [17:08:06.477] Forwarding server listening on port [17:08:06.477] Waiting for ssh tunnel to be ready [17:08:06.481] [Forwarding server port ] Got connection 0 [17:08:06.483] Tunneled port to local port [17:08:06.483] Resolved "ssh-" to "port " [17:08:06.487] [17:08:06.492] Verified and reusing cached exec server for ssh- [17:08:06.494] ------ [17:08:06.630] ------ [17:08:06.630] SSH Resolver called for "ssh-", attempt 3, (Reconnection) [17:08:06.634] SSH Resolver called for host: [17:08:06.635] Setting up SSH remote "" [17:08:06.635] Using commit id "" and quality "insider" for server [17:08:06.639] Install and start server if needed [17:08:06.644] Checking ssh with " C:WindowsSystem32OpenSSH -V" [17:08:06.646] Got error from ssh: spawn C:WindowsSystem32OpenSSH ENOENT [17:08:06.647] The specified path C:WindowsSystem32OpenSSH is not a valid SSH binary [17:08:06.647] Checking ssh with "C:WINDOWSsystem32 -V" [17:08:06.668] Got error from ssh: spawn C:WINDOWSsystem32 ENOENT [17:08:06.668] Checking ssh with "C:WINDOWS -V" [17:08:06.672] Got error from ssh: spawn C:WINDOWS ENOENT [17:08:06.673] Checking ssh with "C:WINDOWSSystem32Wbem -V" [17:08:06.681] Got error from ssh: spawn C:WINDOWSSystem32Wbem ENOENT [17:08:06.682] Checking ssh with "C:WINDOWSSystem32WindowsPowerShellv1.0 -V" [17:08:06.689] Got error from ssh: spawn C:WINDOWSSystem32WindowsPowerShellv1.0 ENOENT [17:08:06.689] Checking ssh with "C:WINDOWSSystem32OpenSSH -V" [17:08:07.017] OpenSSHforWin [17:08:07.017] dows8.6 [17:08:07.019] p1, L [17:08:07.019] ibreSSL 3.4.3 [17:08:07.043] Using SSH config file "C:Usersroy000.sshconfig" [17:08:07.043] Running script with connection command: "C:WINDOWSSystem32OpenSSH" -T -D -F "C:Usersroy000.sshconfig" "" bash [17:08:07.046] Terminal shell path: C:WINDOWSSystem32 [17:08:08.040] : running [17:08:08.040] Got some output, clearing connection timeout [17:08:08.053] [17:08:08.068] [17:08:08.087] Waiting for server log... [17:08:08.103] [17:08:08.112] : start [17:08:08.113] Received install output: SSHAUTHSOCK==/tmp/ssh-zja9iB554U/agent.== DISPLAY==== listeningOn==127.0.0.1:== osReleaseId==centos== arch==x8664== vscodeArch==x64== bitness==64== tmpDir==/run/user/1000== platform==linux== unpackResult==== didLocalDownload==0== downloadTime==== installTime==== serverStartTime==65== execServerToken==== [17:08:08.113] Remote server is listening on port [17:08:08.113] Parsed server configuration: {"serverConfiguration":{"remoteListeningOn":{"port":},"osReleaseId":"centos","arch":"x8664","sshAuthSock":"/tmp/ssh-zja9iB554U/agent.","display":"","tmpDir":"/run/user/1000","platform":"linux","execServerToken":""},"serverStartTime":65,"installUnpackCode":""} [17:08:08.128] [17:08:08.132] Starting forwarding server. local port -socksPort -remotePort [17:08:08.133] Forwarding server listening on port [17:08:08.134] Waiting for ssh tunnel to be ready [17:08:08.135] [Forwarding server port ] Got connection 0 [17:08:08.137] Tunneled port to local port [17:08:08.137] Resolved "ssh-" to "port " [17:08:08.148] Verified and reusing cached exec server for ssh- [17:08:08.150] ------ [17:08:08.260] ------ [17:08:08.260] SSH Resolver called for "ssh-", attempt 4, (Reconnection) [17:08:08.263] SSH Resolver called for host: [17:08:08.264] Setting up SSH remote "" [17:08:08.265] Using commit id "" and quality "insider" for server [17:08:08.269] Install and start server if needed [17:08:08.273] Checking ssh with " C:WindowsSystem32OpenSSH -V" [17:08:08.275] Got error from ssh: spawn C:WindowsSystem32OpenSSH ENOENT [17:08:08.275] The specified path C:WindowsSystem32OpenSSH is not a valid SSH binary [17:08:08.276] Checking ssh with "C:WINDOWSsystem32 -V" [17:08:08.279] Got error from ssh: spawn C:WINDOWSsystem32 ENOENT [17:08:08.279] Checking ssh with "C:WINDOWS -V" [17:08:08.281] Got error from ssh: spawn C:WINDOWS ENOENT [17:08:08.282] Checking ssh with "C:WINDOWSSystem32Wbem -V" [17:08:08.284] Got error from ssh: spawn C:WINDOWSSystem32Wbem ENOENT [17:08:08.285] Checking ssh with "C:WINDOWSSystem32WindowsPowerShellv1.0 -V" [17:08:08.287] Got error from ssh: spawn C:WINDOWSSystem32WindowsPowerShellv1.0 ENOENT [17:08:08.288] Checking ssh with "C:WINDOWSSystem32OpenSSH -V" [17:08:08.481] OpenSSHforW [17:08:08.487] indows8.6p1, LibreSSL 3.4.3 [17:08:08.516] Using SSH config file "C:Usersroy000.sshconfig" [17:08:08.516] Running script with connection command: "C:WINDOWSSystem32OpenSSH" -T -D -F "C:Usersroy000.sshconfig" "" bash [17:08:08.518] Terminal shell path: C:WINDOWSSystem32 [17:08:10.632] : running [17:08:10.633] Got some output, clearing connection timeout [17:08:10.822] Found existing installation at [17:08:10.840] XDGSESSIONID=55 [17:08:10.867] [17:08:10.873] [17:08:10.905] Waiting for server log... [17:08:10.906] Received install output: SSHAUTHSOCK==/tmp/ssh-RtrhNqWWEH/agent.== DISPLAY==== listeningOn==127.0.0.1:== osReleaseId==centos== arch==x8664== vscodeArch==x64== bitness==64== tmpDir==/run/user/1000== platform==linux== unpackResult==== didLocalDownload==0== downloadTime==== installTime==== serverStartTime==66== execServerToken==== [17:08:10.906] Remote server is listening on port [17:08:10.906] Parsed server configuration: {"serverConfiguration":{"remoteListeningOn":{"port":},"osReleaseId":"centos","arch":"x8664","sshAuthSock":"/tmp/ssh-RtrhNqWWEH/agent.","display":"","tmpDir":"/run/user/1000","platform":"linux","execServerToken":""},"serverStartTime":66,"installUnpackCode":""} [17:08:10.914] Starting forwarding server. local port -socksPort -remotePort [17:08:10.916] Forwarding server listening on port [17:08:10.917] Waiting for ssh tunnel to be ready [17:08:10.919] [Forwarding server port ] Got connection 0 [17:08:10.921] Tunneled port to local port [17:08:10.921] Resolved "ssh-" to "port " [17:08:10.924] [17:08:11.005] Verified and reusing cached exec server for ssh- [17:08:11.007] ------ [17:08:11.079] ------ [17:08:11.079] SSH Resolver called for "ssh-", attempt 5, (Reconnection) [17:08:11.082] SSH Resolver called for host: [17:08:11.082] Setting up SSH remote "" [17:08:11.084] Using commit id "" and quality "insider" for server [17:08:11.087] Install and start server if needed [17:08:11.090] Checking ssh with " C:WindowsSystem32OpenSSH -V" [17:08:11.092] Got error from ssh: spawn C:WindowsSystem32OpenSSH ENOENT [17:08:11.092] The specified path C:WindowsSystem32OpenSSH is not a valid SSH binary [17:08:11.093] Checking ssh with "C:WINDOWSsystem32 -V" [17:08:11.095] Got error from ssh: spawn C:WINDOWSsystem32 ENOENT [17:08:11.095] Checking ssh with "C:WINDOWS -V" [17:08:11.097] Got error from ssh: spawn C:WINDOWS ENOENT [17:08:11.098] Checking ssh with "C:WINDOWSSystem32Wbem -V" [17:08:11.100] Got error from ssh: spawn C:WINDOWSSystem32Wbem ENOENT [17:08:11.101] Checking ssh with "C:WINDOWSSystem32WindowsPowerShellv1.0 -V" [17:08:11.103] Got error from ssh: spawn C:WINDOWSSystem32WindowsPowerShellv1.0 ENOENT [17:08:11.103] Checking ssh with "C:WINDOWSSystem32OpenSSH -V" [17:08:11.510] OpenSSHforWindows8.6p1, LibreSSL 3.4.3 [17:08:11.530] Using SSH config file "C:Usersroy000.sshconfig" [17:08:11.530] Running script with connection command: "C:WINDOWSSystem32OpenSSH" -T -D -F "C:Usersroy000.sshconfig" "" bash [17:08:11.536] Terminal shell path: C:WINDOWSSystem32 [17:08:13.921] : running [17:08:13.922] Got some output, clearing connection timeout [17:08:13.923] Received install output: SSHAUTHSOCK==/tmp/ssh-APiH5y8FE4/agent.== DISPLAY==== listeningOn==127.0.0.1:== osReleaseId==centos== arch==x8664== vscodeArch==x64== bitness==64== tmpDir==/run/user/1000== platform==linux== unpackResult==== didLocalDownload==0== downloadTime==== installTime==== serverStartTime==65== execServerToken==== [17:08:13.923] Remote server is listening on port [17:08:13.923] Parsed server configuration: {"serverConfiguration":{"remoteListeningOn":{"port":},"osReleaseId":"centos","arch":"x8664","sshAuthSock":"/tmp/ssh-APiH5y8FE4/agent.","display":"","tmpDir":"/run/user/1000","platform":"linux","execServerToken":""},"serverStartTime":65,"installUnpackCode":""} [17:08:13.960] Starting forwarding server. local port -socksPort -remotePort [17:08:13.962] Forwarding server listening on port [17:08:13.962] Waiting for ssh tunnel to be ready [17:08:13.963] [Forwarding server port ] Got connection 0 [17:08:13.965] Tunneled port to local port [17:08:13.965] Resolved "ssh-" to "port " [17:08:14.003] Verified and reusing cached exec server for ssh- [17:08:14.005] ------ [17:08:14.596] [server] [17:08:14] [Error: ENOENT: no such file or directory, scandir ''] { [17:08:14.596] [server] [17:08:14] [Error: ENOENT: no such file or directory, scandir ''] { [17:08:14.596] [server] [17:08:14] [Error: ENOENT: no such file or directory, scandir ''] { [17:08:14.596] [server] [17:08:14] [Error: ENOENT: no such file or directory, scandir ''] { [17:08:14.597] [server] [17:08:14] [Error: ENOENT: no such file or directory, scandir ''] { [17:08:14.597] [server] errno: -2, [17:08:14.597] [server] errno: -2, [17:08:14.597] [server] errno: -2, [17:08:14.598] [server] errno: -2, [17:08:14.598] [server] errno: -2, [17:08:14.598] [server] code: 'ENOENT', [17:08:14.598] [server] code: 'ENOENT', [17:08:14.599] [server] code: 'ENOENT', [17:08:14.599] [server] code: 'ENOENT', [17:08:14.599] [server] code: 'ENOENT', [17:08:14.600] [server] syscall: 'scandir', [17:08:14.600] [server] syscall: 'scandir', [17:08:14.600] [server] syscall: 'scandir', [17:08:14.600] [server] syscall: 'scandir', [17:08:14.600] [server] syscall: 'scandir', [17:08:17.632] Opening exec server for ssh- [17:08:17.697] Verified and reusing cached exec server for ssh-
Ahh, now that I know where to look it appears that the libstdc++ on CentOS is too old for the Node version used in Insiders. From the log: [17:08:04.641] [server] Error: versionGLIBCXX3.4.20' not found (required by ) I guess I should upgrade my jumphost. Was planning to do that anyway, but there are still a bunch of CentOS7 servers around so you should be prepared for a lot of complaints when this hits regular VSCode.
This happened in , will confirm what the new versions of everything are so we can update our checkers which would normally give you a nicer alert
After the latest update, I'm still getting the same errors.
Confirmed no terminal launching on update: Version: 1.86.0-insider (Universal) Commit:
Diving into this more, it looks like the breaking change is the new requirement of . If this is the intention, then I think we have a bigger problem on our hands. Amazon Linux 2 is bundled with GLIBC v2.26. I'm sure many people use this for development with VS Code, including myself and my colleagues. Related breaking change: Related article:
Can someone explain why this issue is closed if my terminal still wont launch?
They upped the minimum requirements. Looks like it's not supported anymore.
Me,too
I guess I won't be able to use Ubuntu 18 WSL anymore?
TBD whether Ubuntu 18 and such will be supported for the next release; we're still evaluating:
On what timescale would this be decided? Days, weeks, months? I do all my coding on Ubuntu 18.04, so I need to know if I should hold out or get my system set up all over again on a more recent version of Ubuntu
If the upcoming release of vs code breaks all of Amazon Linux 2, is there an analysis somewhere I can read to better understand the cost/benefits of that large of an impact in loss of support?
I agree, more details should be listed out before making such a drastic change. Dropping support on Amazon Linux 2, which I believe many developers are working off remotely, without any notification in advance feels very irresponsible to me. I don't think the issue should be marked as Closed at all, since the new change has caused new problems. Seeing as how this will cascade onto the next monthly VSCode release, does anyone know what changes are necessary in order for us to get this working again? Or does it mean all developers have to re-setup their virtual machines?
There about dropping support for glibc 2.28 in the August release.
We will share additional details on the GLIBC version bump after the holidays but the gist is that we are aligning our platform requirements to be same as v18 that is used for our server binaries. Newer requirements will be GLIBC = 2.28 and GLIBCXX = 3.4.25 moving forward.
A workaround is to sideload a newer version of the needed libraries into a non-system location. For instance using conda to install nodejs will pull inn libgcc-ng and libstdcxx-ng. Then putting export LDLIBRARYPATH=LDLIBRARYPATH into .bashrc makes the remote server work again. (that is, the embedded terminal doesn't seem to work). (~/myenv is the location of my own conda environment).
If this is really going to be done a useful addition would be to allow the remote extension to search for GLIBC in a non-standard, VSCode-configurable location. In CentOS 7 one could install GLIBC 2.28+ in a non-standard location (which is not totally painless) but I would not want to set to point to that location generally since it may mess with other things in the system.
I guess there are some ways to resolve this problem such as supporting old version remote server by plugin and static complie remote server?
I upgraded from Ubuntu 18 to 22 in order to get around this problem but I'm now realizing I won't be able to use Code on my university's computing cluster (RHEL7) is truly a painful change. I agree that facilitating support for GLIBC in a non-standard location would soften the blow. Or even optionally bundling the needed version of GLIBC?
I totally see the point of using "official" binaries, especially about not using a self-patched version - but has someone from the team considered to just switch to the (there are some for risc, armv61 longaarch, ...)? While it is explicit marked as experimental and comes with no guarantees - it actually works quite fine. From 18.6 on there is a new one: x8664-glibc-217 and of course it works fine. For upcoming electron releases and updated dependency, they can also be used (the newest one is the 21.5 from December 2023). If this isn't used in the build pipeline (I'd highly suggest to do that as then it will just work for the users as before - get electron upstream, then replace node by the official unofficial glibc-217 one), then it is still usable, but with a one-time manual work as follows (the details may be a bit different as I don't use the MS builds, but it should work the same). Of course: check the version in the about menu of vscode first, then check for the URL at https://unofficial- that matches that minor version (taking the newest patchlevel, of course), if it isn't available, then use the one that comes after - 18.6 is the first one. Steps for the manual fix for remote workspaces (should also work fine with Amazon Linux - it would be nice if someone could check): try to connect to the machine the first time there will be an installation and, as shown above, the server won't start as the node binary has a higher glibc dependency now manually_ connect to the machine via (for example in the vscode terminal) and do the following: The resulting server part can even be copied to other machines including RHEL9 and works fine out of the box.
I tried to make it running on rhel 7 by pointing the correct env variables to a compatible glibc version. I somewhat managed to get the server to start as well as opening a workspace. The opened session then partially works (explorer is working, files open, extensions works (at least python does), etc.). The only major thing not working as far as I can tell is the terminal. The somehow tried to load the wrong version of , making it impossible to use the integrated terminal. The error is the following: I suspect the node bootstrap to spawn new processes, not inheriting from the environment. There must be a simple fix for this, but my limited knowledge on node ends there. EDIT: Before the above-mentioned there is also this error. I've noticed that only contains a subdir. Symlinking from the removes this specific error but does not solve the issue. <brPS: Even if those systems are rather old (10 years in rhel 7 case) and going out of support, they still represent a big marketshare when it comes to enterprise infrastructures (which are all in on stability). Dropping support altogether for these configs is going to result in a lot of people stuck on vscode 1.85 if we can't provide workarounds with newer versions. I hope this version is well tested for stability because I expect quite a number of tickets with this version._
The irony here is that javascript developers don't even know what specific feature from glibc 2.28 they really need. My guess is probably none! You could probably go rebuild all of your dependencies with older glibc. Please don't try to ship your own glibc, you will screw up unless you know what you're doing. EDIT: GitMensch in his fantastic post above proved that none of vscode's dependencies require any glibc 2.28 feature. This seems to be a lazy consequence of a build toolchain upgrade on the external project called "node", and is unrelated to vscode's own CI. It's good practice to build everything yourself and not rely on someone else to cook binaries for you.
I've tried these steps, and it does create a working $VSCBIN/node --version returned, but it doesn't fix anything for letting vscode connect to the centos7 host. however, an easier work around for now is to change the default setting in vscode to update to the latest release (switch off) and install the november release (185) which still works with CentOS 7.
Quote from in The official working solution is to be posted there "when available". In the meantime you'd need to additional adjust the new version check script: on the server, before trying to connect.
I don't understand the answer. Node's source code doesn't require a new glibc, so it's a matter of improving your CI to build node using an appropriate toolchain to maximise GNU/Linux compatibility. You could also publish separate repositories for different linux distribution releases if for some reason there's a will to start using new glibc features, but as far as I understand, there's no need.

Discussion:
static ref GENERIC_VERSION_RE: Regex = Regex::new(r"^([0-9]+).([0-9]+)$").unwrap(); static ref LIBSTD_CXX_VERSION_RE: BinRegex = BinRegex::new(r"GLIBCXX_([0-9]+).([0-9]+)(?:.([0-9]+))?").unwrap(); <del> static ref MIN_CXX_VERSION: SimpleSemver = SimpleSemver::new(3, 4, 18); static ref MIN_LDD_VERSION: SimpleSemver = SimpleSemver::new(2, 17, 0); </del> <ins> static ref MIN_CXX_VERSION: SimpleSemver = SimpleSemver::new(3, 4, 25); static ref MIN_LDD_VERSION: SimpleSemver = SimpleSemver::new(2, 28, 0); </ins> } const NIXOS_TEST_PATH: &str = "/etc/NIXOS";