I'm having these problems in the VS Code Insiders connection output:
bash: cannot set terminal process group (23989): Inappropriate ioctl for device
bash: no job control in this shell
And these in the end of the output:
Server did not start successfully. Full server log:
Failed to parse remote port from server output: d4409ca8-79c6-4a5c-9035-76f99ae9da07====
Here's the full trace with some sensible info enclosed into [] (like [user]):
SSH Resolver called for "ssh-remote+bigdata"
SSH Resolver called for host: bigdata
Setting up SSH remote "bigdata"
Using commit id "473af338e1bd9ad4d9853933da1cd9d5d9e07dc9" and quality "insider" for server
Install and start server if needed
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.2.0-42-generic x86_64)
- Documentation: https://help.ubuntu.com/
New release '16.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.bash: cannot set terminal process group (28684): Inappropriate ioctl for device
bash: no job control in this shell
Found existing installation...
Printing the current remote environment...
XDG_SESSION_ID=1574
SHELL=/bin/bash
DERBY_HOME=/usr/lib/jvm/java-8-oracle/db
SSH_CLIENT=[ip_address] 61384 22
LC_ALL=en_US.UTF-8
USER=[user]
LS_COLORS=
PYSPARK_PYTHON=/usr/bin/python3
MAIL=/var/mail/[user]
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
PWD=/home/[directory]/[user]
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171/
LANG=en_US.UTF-8
AGENT_HOME=/etc/everest-agent/
SHLVL=3
HOME=/home/[directory]/[user]
LANGUAGE=en_US:en
LOGNAME=[user]
J2SDKDIR=/usr/lib/jvm/java-8-oracle
SSH_CONNECTION=[ip_address] 61384 [ip_address] 22
LC_CTYPE=C
LESSOPEN=| /usr/bin/lesspipe %s
XDG_RUNTIME_DIR=/run/user/1081
J2REDIR=/usr/lib/jvm/java-8-oracle/jre
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/printenv
Starting agent...
Waiting for server log...
Waiting for server log...
Waiting for server log...
Waiting for server log...
Waiting for server log...
Waiting for server log...
Waiting for server log...
Waiting for server log...*
- Reminder: You may only use this software with Visual Studio family products,
- as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057)
*Server did not start successfully. Full server log:
/home/[directory]/[user]/.vscode-remote/bin/473af338e1bd9ad4d9853933da1cd9d5d9e07dc9/server.sh: 10: /home/[directory]/[user]/.vscode-remote/bin/473af338e1bd9ad4d9853933da1cd9d5d9e07dc9/server.sh: realpath: not found
/home/[directory]/[user]/.vscode-remote/bin/473af338e1bd9ad4d9853933da1cd9d5d9e07dc9/server.sh: 12: /home/[directory]/[user]/.vscode-remote/bin/473af338e1bd9ad4d9853933da1cd9d5d9e07dc9/server.sh: ./node: not found
d4409ca8-79c6-4a5c-9035-76f99ae9da07====
"install" terminal command done
Received install output: d4409ca8-79c6-4a5c-9035-76f99ae9da07====
Failed to parse remote port from server output: d4409ca8-79c6-4a5c-9035-76f99ae9da07====
Just in case, here is the contents of that server.sh file:
#!/usr/bin/env sh
#
# Copyright (c) Microsoft Corporation. All rights reserved.
#
case "$1" in
--inspect*) INSPECT="$1"; shift;;
esac
ROOT="$(dirname "$(realpath "$0")")"
"$ROOT/node" ${INSPECT:-} "$ROOT/out/remoteExtensionHostAgent.js" "$@"
My config file looks like this:
Host bigdata
HostName [host_internet_address]
User [user]
Steps to Reproduce:
@sergei3000 thanks for the detailed report! You are on Ubuntu 14.04. We only support 18.04 right now.
@kieferrm, thanks for the quick response! Are there any plans to support 16.04 or 14.04 and what's the approx. ETA if there are? It's not easy to make server admins move to next OS version over VSCode which is my favourite IDE (they'll just tell me to use PyCharm).
Hi, I'm having a similar error except the remote system I work with is RHEL 6.10, which I guess is also not supported (and probably really out of date as well).
Superficially it seemed that server.sh would run with ROOT set to the right value, so I tried that and get
Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/soh/.vscode-remote/bin/473af338e1bd9ad4d9853933da1cd9d5d9e07dc9/node_modules/spdlog/build/Release/spdlog.node)
(very long dependency log follows)
Surely enough the GLIBCXX on the remote machine is lagging behind (has versions only upto 3.4.13).
Is it likely that this extension will only support remote machines with os and everything kept up-to-date? I'd also love to use this but frequently, remote machines lag behind and we just don't have the privilege to update...
I had this issue too and here is my solution:
sudo apt-get install realpath@EnixCoda I don't have access to sudo on that machine. Do you know any other way to do this?
Same issues as @smoh trying to run the server on CentOS 6.9. I was able to force it to run by editing the server.sh file to use readlink -f instead of realpath. Seems like this could be included in the script as a fall back.
Then I also had to explicitly set LD_LIBRARY_PATH to a location with updated GCC libraries, also edited in place in the server.sh script.
Is there anyway to define environment variables for the remote server to run with. My edits to server.sh quickly got replaced when restarting the server later.
@kieferrm Given that readlink -f -- appears to offer a drop-in replacement using a more prevalent utility, can it be switched?
@sergei3000, An interim workaround might be to to add something to your .bashrc (or .bash_profile, &c.) along the lines of:
alias realpath='readlink -f --'
Thanks @tnaumann for the idea, but rather than an alias, define it as a function then it'll get passed to the subshell. Adding LD_LIBRARY_PATH to point at my Conda libs and defining a realpath function as below in my .bashrc got the server up and running for me.
export LD_LIBRARY_PATH=/home/abrammer/applications/miniconda3/lib
realpath() { readlink -f "$@"; }
export -f realpath
@tnaumann thanks for the hint, but I tried it and it didn't work for me.
@abrammer I did as you suggested adding your code to the top of my .bashrc but now when I login to my remote server it throws:
-bash: /home/x52019q2/x5_zakharov/.bashrc: line 2: syntax error near unexpected token
(' -bash: /home/x52019q2/x5_zakharov/.bashrc: line 2:realpath() { readlink -f "$@"; }'
Do you have any idea how this could be fixed?
I had this and other problems related to the fact that my remote environment is quite "vintage" by default, but it can be remedied by modifying one's .bashrc. However, by replacing cure utilities on the remote host, I step into unchartered waters and I would rather much prefer that the VS Code tooling looked for and sourced a custom rc file (e.g. ~/.vscoderc or similar) before it executed any other commands on the remote host.
Most helpful comment
Same issues as @smoh trying to run the server on CentOS 6.9. I was able to force it to run by editing the
server.shfile to usereadlink -finstead ofrealpath. Seems like this could be included in the script as a fall back.Then I also had to explicitly set
LD_LIBRARY_PATHto a location with updated GCC libraries, also edited in place in theserver.shscript.Is there anyway to define environment variables for the remote server to run with. My edits to server.sh quickly got replaced when restarting the server later.