jeanp413 / open-remote-ssh

VSCode Remote Development: Open any folder on a remote machine using SSH.
MIT License
309 stars 43 forks source link

RPI 4: Couldn't install vscode server on remote server, install script returned non-zero exit status #114

Open MystikReasons opened 1 year ago

MystikReasons commented 1 year ago

Hi all,

For remote coding on my Raspberry Pi4 I've used this software for a long time. But I'm getting the error mentioned in the title since setting up my OS again (I don't know if this could be connected to the issue).

The output of trying to connect to my RPI4 is the following:

`[Info - 19:54:05.215] Resolving ssh remote authority 'ssh-remote+rpi' (attemp #1) [Error - 19:54:05.224] Couldn't get identities from OpenSSH agent Error: SSH_AUTH_SOCK environment variable not defined at t.gatherIdentityFiles (/home/user/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.42-universal/out/extension.js:1:428658) at async /home/user/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.42-universal/out/extension.js:1:388901 [Trace - 19:54:05.224] Identity keys: None [Info - 19:54:05.309] Trying no-auth authentication [Info - 19:54:05.315] Trying password authentication [Trace - 19:54:17.821] Server install command:

[Trace - 19:54:20.458] Server install command stdout: Server script already installed in /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/bin/codium-server Error server did not start sucessfully ceffb478af3f471b99590943: start exitCode==1== listeningOn==== connectionToken==cfcd70b0-7ad0-4eed-9e56-abf8858e7fef== logFile==/home/user/.vscodium-server/.a5004432af6600c99fa4f918a3f2f8df44df71e6.log== osReleaseId==raspbian== arch==aarch64== platform==Linux== tmpDir==/run/user/1001== ceffb478af3f471b99590943: end

[Error - 19:54:20.459] Error resolving authority Error: Couldn't install vscode server on remote server, install script returned non-zero exit status at t.installCodeServer (/home/user/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.42-universal/out/extension.js:1:426540) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async /home/user/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.42-universal/out/extension.js:1:390494 `

Does anyone have an idea what the error could be? I'm using Open Remote - SSH v0.0.42 and VsCodium 1.82.2.23257 (currently the newest)

Thank you for every input!

jeanp413 commented 1 year ago

@MystikReasons could you share contents of /home/user/.vscodium-server/.a5004432af6600c99fa4f918a3f2f8df44df71e6.log and then try deleting /home/user/.vscodium-server folder and connecting again

MystikReasons commented 1 year ago

Hi @jeanp413 Thank you for your quick reply. Unfortunately, there is no log file. This is the folder structure: ~/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6 But inside it there is no log file either.

I also tried your other approach with removing .vscodium-server and then connecting again but it is giving me the same error message.

But this time it created a .log file. Here is the content: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/bin/codium-server: 12: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/bin/codium-server: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node: not found

jeanp413 commented 1 year ago

Could you share the contents of the ~/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6 folder? It should be the same as this, from the logs it says the node binary is not present, maybe the server tar file gets corrupted while downloading it :thinking:

gitpod ~ $ ls -l ~/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/
total 88800
drwxr-xr-x   4 gitpod gitpod       60 Sep 14 18:28 bin
drwxr-xr-x  34 gitpod gitpod     4096 Sep 14 18:28 extensions
-rwxr-xr-x   1 gitpod gitpod 90900480 Sep 14 18:27 node
drwxr-xr-x 111 gitpod gitpod     4096 Sep 14 18:28 node_modules
drwxr-xr-x   3 gitpod gitpod      178 Sep 14 18:28 out
-rw-r--r--   1 gitpod gitpod       88 Sep 14 18:10 package.json
-rw-r--r--   1 gitpod gitpod    13716 Sep 14 18:14 product.json
MystikReasons commented 1 year ago

Sure, here is the content of the folder:

total 88432 drwxr-xr-x 4 user user 4096 Sep 14 20:33 bin drwxr-xr-x 34 user user 4096 Sep 14 20:33 extensions -rwxr-xr-x 1 user user 90511392 Sep 14 20:33 node drwxr-xr-x 111 user user 4096 Sep 14 20:34 node_modules drwxr-xr-x 3 user user 4096 Sep 14 20:33 out -rw-r--r-- 1 user user 88 Sep 14 20:10 package.json -rw-r--r-- 1 user user 13716 Sep 14 20:17 product.json

jeanp413 commented 1 year ago

Server folder contents looks good :thinking:, could you try runing the server manually with this command /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/bin/codium-server --start-server --host=127.0.0.1 --port=0 and share the output

MystikReasons commented 1 year ago

When trying to start the server locally it respons as follows: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/bin/codium-server: 12: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/bin/codium-server: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node: not found

jeanp413 commented 1 year ago

mmm does the node binary alone work? Just run /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node it should start the node repl If not then maybe it's some upstream bug in vscodium, could you try downloading the server manually from the vscodium releases in your case it's vscodium-reh-linux-arm64-1.82.2.23257.tar.gz and try runing the server/node manually again and share output, also maybe as a workaround you can try downgrading vscodium to the last release you remember it working

MystikReasons commented 1 year ago

When typing /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node it replies with: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node: No such file or directory.

I will try to download the server manually tomorrow. Thank you anyways for your input, it is highly appreciated :)

jeanp413 commented 1 year ago

When typing /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node it replies with: /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node: No such file or directory

That's weird, but the binary does exist from your previous comment right? :thinking:

Sure, here is the content of the folder:

total 88432
drwxr-xr-x 4 user user 4096 Sep 14 20:33 bin
drwxr-xr-x 34 user user 4096 Sep 14 20:33 extensions
-rwxr-xr-x 1 user user 90511392 Sep 14 20:33 node
drwxr-xr-x 111 user user 4096 Sep 14 20:34 node_modules
drwxr-xr-x 3 user user 4096 Sep 14 20:33 out
-rw-r--r-- 1 user user 88 Sep 14 20:10 package.json
-rw-r--r-- 1 user user 13716 Sep 14 20:17 product.json
esa1020 commented 1 year ago

I had a very similar issue, but as you mentioned removing the ~/.vscodium-server folder on the remote (in fact renaming) solved it - thanks 👍

# Finish server setup
print_install_results_and_exit 0

[Trace  - 04:41:03.473] Server install command stderr:

gzip: stdin: invalid compressed data--format violated
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

[Trace  - 04:41:03.473] Server install command stdout:
Error while extracting server contents
80bf3ab9a63b67b3a3a6c9c2: start
exitCode==1==
listeningOn====
connectionToken====
logFile==/HOME/**remote-user**/.vscodium-server/.a5004432af6600c99fa4f918a3f2f8df44df71e6.log==
osReleaseId==ubuntu==
arch==x86_64==
platform==Linux==
tmpDir==/run/user/2065468==
SSH_AUTH_SOCK==/tmp/ssh-DW0tDvtXX5/agent.21542==
80bf3ab9a63b67b3a3a6c9c2: end

[Error  - 04:41:03.474] Error resolving authority
Error: Couldn't install vscode server on remote server, install script returned non-zero exit status
    at t.installCodeServer (/Users/**local-user**/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.43-universal/out/extension.js:1:426540)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /Users/**local-user**/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.43-universal/out/extension.js:1:390494
MystikReasons commented 1 year ago

An update from my side:

I've tried installing the it manually but I did receive the same error when trying to connect via VSCodium.

Regarding the file not found on node, I had to type node in front of the path, which I did not know. Like this: node /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node

This gives me the following error: `/home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node:1 ELF ^

SyntaxError: Invalid or unexpected token at wrapSafe (internal/modules/cjs/loader.js:1029:16) at Module._compile (internal/modules/cjs/loader.js:1078:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10) at Module.load (internal/modules/cjs/loader.js:979:32) at Function.Module._load (internal/modules/cjs/loader.js:819:12) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12) at internal/main/run_main_module.js:17:47`

Maybe you know something more on this, because Javascript is not really my strength ^^

jeanp413 commented 1 year ago

Regarding the file not found on node, I had to type node in front of the path, which I did not know.

Nope, typing /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node is the correct command, it will start the node binary shipped with vscodium, if you type node in front of it, it will invoke the system wide node installation.

I've tried installing the it manually but I did receive the same error when trying to connect via VSCodium.

Then you should try downgrading your local vscodium to 1.81 and try connecting again, seems like something is wrong with the node binary in version 1.82

MystikReasons commented 1 year ago

Regarding the file not found on node, I had to type node in front of the path, which I did not know.

Nope, typing /home/user/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node is the correct command, it will start the node binary shipped with vscodium, if you type node in front of it, it will invoke the system wide node installation.

Interesting, therefore the old issue with the node not being found is still the real issue.

I've tried installing the it manually but I did receive the same error when trying to connect via VSCodium.

Then you should try downgrading your local vscodium to 1.81 and try connecting again, seems like something is wrong with the node binary in version 1.82

Will try that in the next few days, thank you for the suggestion

neychevr commented 1 year ago

Similar issue from my side, but the problem is not in missing node but rather GLIBC version mismatch. If I run the server manually it returns the following error:

/home/neychevr/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found 
(required by /home/neychevr/.vscodium-server/bin/a5004432af6600c99fa4f918a3f2f8df44df71e6/node)

Command ldd --version return is:

ldd (Ubuntu GLIBC 2.27-3ubuntu1.6) 2.27
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

It worked recently (couple of weeks ago). Any ways to fix it? According to this updating GLIBC manually is not a good idea.

Update: downgrading to versions v0.0.42 and v0.0.37 did not help (I've removed the .vscodium-server before my attempts.

OS info:

NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
MystikReasons commented 1 year ago

I'm back again after testing different VSCodium releases. Unfortunately, this did not solve my issue. I tried it on my main linux machine and on the windows machine and the error stays the same. I've tried 4 different VSCodium versions, the oldest dating back to 1.77.0 which is from April 2023.

I can imagine multiple reasons for that:

Will check in the next days if I find out more.

jeanp413 commented 1 year ago

@neychevr that's a vscodium issue https://github.com/VSCodium/vscodium/issues/1634, version 1.82 updated nodejs to v18 which requires glibc 2.28 or greater, official MS vscode shipped a custom node build so its not affected, easier workaround for now is downgrade to 1.81

python-and-fiction commented 1 year ago

I'm back again after testing different VSCodium releases. Unfortunately, this did not solve my issue. I tried it on my main linux machine and on the windows machine and the error stays the same. I've tried 4 different VSCodium versions, the oldest dating back to 1.77.0 which is from April 2023.

I can imagine multiple reasons for that:

  • VSCodium is pulling the new software, despite being on an older version
  • The error is somehow related to the Raspberry Pi
  • There is a problem with a newer version of open-remote-ssh (least plausible)

Will check in the next days if I find out more.

Here is VSCode Server's url,You can replace node in vscodium-reh with node in vscode-server manually.It maybe works. https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-linux-arm64/stable

neychevr commented 1 year ago

@neychevr that's a vscodium issue VSCodium/vscodium#1634, version 1.82 updated nodejs to v18 which requires glibc 2.28 or greater, official MS vscode shipped a custom node build so its not affected, easier workaround for now is downgrade to 1.81

Thank you! 1.81 version works fine

MystikReasons commented 1 year ago

Here is VSCode Server's url,You can replace node in vscodium-reh with node in vscode-server manually.It maybe works. https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-linux-arm64/stable

Do you mean replacing it manuall in .vscodium-server on the RPI4?

jeanp413 commented 1 year ago

Do you mean replacing it manuall in .vscodium-server on the RPI4?

@MystikReasons you could try that but probably won't help in your case, if that was the case then downgrading to 1.81 would have worked

MystikReasons commented 1 year ago

@MystikReasons you could try that but probably won't help in your case, if that was the case then downgrading to 1.81 would have worked

@jeanp413 You are right, this did indeed not work. I tried another idea and that was installing VSCode on my windows machine and trying the "Remote - SSH" extension from Microsoft and this is just working fine. I will later check if that extension is also on the linux version of VSCode. But it seems that it either has to be VSCodium or this extension.

@python-and-fiction but still thank you for the suggestion!

Update: Never mind, the extension is not showing up in either VSCodium nor Code - OSS. Therefore the current solution of mine is using Windows.

TCMAD commented 10 months ago

Same problem here with the version VSCodium 1.85.1. I will try to downgrade to the 1.81. Any upgrade to use it with a more recent version?

Update : I tried with 1.81.0.23216, 1.81.1.23222, but I still have the same issue on my side.

sneakylenny commented 9 months ago

Thanks @jeanp413, this seemed to work for me:

try deleting /home/user/.vscodium-server folder and connecting again

LECOQQ commented 6 months ago

Exactly the same use case: trying to connect on my homelab (rpi4 8go w/ raspbian lts) through vscodium and open-remote-ssh extension. Running on the latest version (VSCodium 1.89.1, w/ open-remote-ssh v0.0.45). VS-Code and Remote-SSH working properly, SSH in general working properly, and no major issue w/ this part of the homelab. Tried to rename/remove the .vscode and .vscodium servers - still not working. Tried installing manually through super user - not working Going into the ~/.vscodium-server/bin/xxx/ i can see the node exe. Can't start it with bash nor natively. I need to force it through "node node" When doing so, I got the following output:

YYY@XXX:~/.vscodium-server/bin/a045dcfceda27f896936bfd8cbf524f6a93a2f46 $ node node /home/YYY/.vscodium-server/bin/a045dcfceda27f896936bfd8cbf524f6a93a2f46/node:1 ELF ^

SyntaxError: Invalid or unexpected token at wrapSafe (node:internal/modules/cjs/loader:1281:20) at Module._compile (node:internal/modules/cjs/loader:1321:27) at Module._extensions..js (node:internal/modules/cjs/loader:1416:10) at Module.load (node:internal/modules/cjs/loader:1208:32) at Module._load (node:internal/modules/cjs/loader:1024:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12) at node:internal/main/run_main_module:28:49

Node.js v20.13.1

I'll try to check later on. Quentin

capntack commented 4 months ago

After much googling I've arrived at this issue which is exactly what I am experiencing. Followed some t/s steps listed here and arrived at all the same points. Everything ssh works fine with the RPI4, just not this. Acts like the node file doesn't exist when it clear does.

bon-ami commented 2 months ago

vscodium 1.92.2 on local Windows 10. remote linux with proxy to WAN. after first tries, a folder of ~/.vscodium-server/bin/... created on remote, and an empty vscode-server.tar.gz under it. local log shows the URL, https://github.com/VSCodium/vscodium/releases/download/1.92.2.24228/vscodium-reh-linux-x64-1.92.2.24228.tar.gz, so I manually downloaded it to the remote linux, extract it to the folder as above, and move the gz file to vscode-server.tar.gz as above . then it works.

amirseyedian commented 2 months ago

Encountering same issue on 1.82.2, Had to enable it from argv.json otherwise it wouldn't show up on the side panel and this is the error trace from the client side. server side seem to be working I tried it on in vscode 1.88 it was fine.

[Info  - 12:29:27.4] Resolving ssh remote authority 'ssh-remote+10.10.1.109' (attemp #1)
[Trace  - 12:29:27.62] Identity keys:
/home/user/.ssh/key ssh-ed25519 SHA256:FtXNmE+EpAo6OYvj9ZlxBqMf3lowa6vcvUdhSRnLHk8=
[Info  - 12:29:27.254] Trying no-auth authentication
[Info  - 12:29:27.308] Trying publickey authentication: /home/user/.ssh/key ssh-ed25519 SHA256:FtXNmE+EpAo6OYvj9ZlxBqMf3lowa6vcvUdhSRnLHk8=
[Trace  - 12:29:27.608] Server install command:

# Server installation script

TMP_DIR="${XDG_RUNTIME_DIR:-"/tmp"}"

DISTRO_VERSION="1.82.2"
DISTRO_COMMIT="undefined"
DISTRO_QUALITY="undefined"
DISTRO_VSCODIUM_RELEASE=""

SERVER_APP_NAME="code-server-oss"
SERVER_INITIAL_EXTENSIONS=""
SERVER_LISTEN_FLAG="--port=0"
SERVER_DATA_DIR="$HOME/.vscode-server-oss"
SERVER_DIR="$SERVER_DATA_DIR/bin/$DISTRO_COMMIT"
SERVER_SCRIPT="$SERVER_DIR/bin/$SERVER_APP_NAME"
SERVER_LOGFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.log"
SERVER_PIDFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.pid"
SERVER_TOKENFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.token"
SERVER_ARCH=
SERVER_CONNECTION_TOKEN=
SERVER_DOWNLOAD_URL=

LISTENING_ON=
OS_RELEASE_ID=
ARCH=
PLATFORM=

# Mimic output from logs of remote-ssh extension
print_install_results_and_exit() {
    echo "9a75667f01d7ee7ce46ec34b: start"
    echo "exitCode==$1=="
    echo "listeningOn==$LISTENING_ON=="
    echo "connectionToken==$SERVER_CONNECTION_TOKEN=="
    echo "logFile==$SERVER_LOGFILE=="
    echo "osReleaseId==$OS_RELEASE_ID=="
    echo "arch==$ARCH=="
    echo "platform==$PLATFORM=="
    echo "tmpDir==$TMP_DIR=="

    echo "9a75667f01d7ee7ce46ec34b: end"
    exit 0
}

# Check if platform is supported
KERNEL="$(uname -s)"
case $KERNEL in
    Darwin)
        PLATFORM="darwin"
        ;;
    Linux)
        PLATFORM="linux"
        ;;
    FreeBSD)
        PLATFORM="freebsd"
        ;;
    DragonFly)
        PLATFORM="dragonfly"
        ;;
    *)
        echo "Error platform not supported: $KERNEL"
        print_install_results_and_exit 1
        ;;
esac

# Check machine architecture
ARCH="$(uname -m)"
case $ARCH in
    x86_64 | amd64)
        SERVER_ARCH="x64"
        ;;
    armv7l | armv8l)
        SERVER_ARCH="armhf"
        ;;
    arm64 | aarch64)
        SERVER_ARCH="arm64"
        ;;
    ppc64le)
        SERVER_ARCH="ppc64le"
        ;;
    riscv64)
        SERVER_ARCH="riscv64"
        ;;
    *)
        echo "Error architecture not supported: $ARCH"
        print_install_results_and_exit 1
        ;;
esac

# https://www.freedesktop.org/software/systemd/man/os-release.html
OS_RELEASE_ID="$(grep -i '^ID=' /etc/os-release 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')"
if [[ -z $OS_RELEASE_ID ]]; then
    OS_RELEASE_ID="$(grep -i '^ID=' /usr/lib/os-release 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')"
    if [[ -z $OS_RELEASE_ID ]]; then
        OS_RELEASE_ID="unknown"
    fi
fi

# Create installation folder
if [[ ! -d $SERVER_DIR ]]; then
    mkdir -p $SERVER_DIR
    if (( $? > 0 )); then
        echo "Error creating server install directory"
        print_install_results_and_exit 1
    fi
fi

SERVER_DOWNLOAD_URL="$(echo "https://github.com/VSCodium/vscodium/releases/download/\${version}.\${release}/vscodium-reh-\${os}-\${arch}-\${version}.\${release}.tar.gz" | sed "s/\${quality}/$DISTRO_QUALITY/g" | sed "s/\${version}/$DISTRO_VERSION/g" | sed "s/\${commit}/$DISTRO_COMMIT/g" | sed "s/\${os}/$PLATFORM/g" | sed "s/\${arch}/$SERVER_ARCH/g" | sed "s/\${release}/$DISTRO_VSCODIUM_RELEASE/g")"

# Check if server script is already installed
if [[ ! -f $SERVER_SCRIPT ]]; then
    if [[ "$PLATFORM" != "darwin" ]] && [[ "$PLATFORM" != "linux" ]]; then
        echo "Error "$PLATFORM" needs manual installation of remote extension host"
        print_install_results_and_exit 1
    fi

    pushd $SERVER_DIR > /dev/null

    if [[ ! -z $(which wget) ]]; then
        wget --tries=3 --timeout=10 --continue --no-verbose -O vscode-server.tar.gz $SERVER_DOWNLOAD_URL
    elif [[ ! -z $(which curl) ]]; then
        curl --retry 3 --connect-timeout 10 --location --show-error --silent --output vscode-server.tar.gz $SERVER_DOWNLOAD_URL
    else
        echo "Error no tool to download server binary"
        print_install_results_and_exit 1
    fi

    if (( $? > 0 )); then
        echo "Error downloading server from $SERVER_DOWNLOAD_URL"
        print_install_results_and_exit 1
    fi

    tar -xf vscode-server.tar.gz --strip-components 1
    if (( $? > 0 )); then
        echo "Error while extracting server contents"
        print_install_results_and_exit 1
    fi

    if [[ ! -f $SERVER_SCRIPT ]]; then
        echo "Error server contents are corrupted"
        print_install_results_and_exit 1
    fi

    rm -f vscode-server.tar.gz

    popd > /dev/null
else
    echo "Server script already installed in $SERVER_SCRIPT"
fi

# Try to find if server is already running
if [[ -f $SERVER_PIDFILE ]]; then
    SERVER_PID="$(cat $SERVER_PIDFILE)"
    SERVER_RUNNING_PROCESS="$(ps -o pid,args -p $SERVER_PID | grep $SERVER_SCRIPT)"
else
    SERVER_RUNNING_PROCESS="$(ps -o pid,args -A | grep $SERVER_SCRIPT | grep -v grep)"
fi

if [[ -z $SERVER_RUNNING_PROCESS ]]; then
    if [[ -f $SERVER_LOGFILE ]]; then
        rm $SERVER_LOGFILE
    fi
    if [[ -f $SERVER_TOKENFILE ]]; then
        rm $SERVER_TOKENFILE
    fi

    touch $SERVER_TOKENFILE
    chmod 600 $SERVER_TOKENFILE
    SERVER_CONNECTION_TOKEN="ff84d858-bc66-4f93-8878-12c73c9e4c1e"
    echo $SERVER_CONNECTION_TOKEN > $SERVER_TOKENFILE

    $SERVER_SCRIPT --start-server --host=127.0.0.1 $SERVER_LISTEN_FLAG $SERVER_INITIAL_EXTENSIONS --connection-token-file $SERVER_TOKENFILE --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms &> $SERVER_LOGFILE &
    echo $! > $SERVER_PIDFILE
else
    echo "Server script is already running $SERVER_SCRIPT"
fi

if [[ -f $SERVER_TOKENFILE ]]; then
    SERVER_CONNECTION_TOKEN="$(cat $SERVER_TOKENFILE)"
else
    echo "Error server token file not found $SERVER_TOKENFILE"
    print_install_results_and_exit 1
fi

if [[ -f $SERVER_LOGFILE ]]; then
    for i in {1..5}; do
        LISTENING_ON="$(cat $SERVER_LOGFILE | grep -E 'Extension host agent listening on .+' | sed 's/Extension host agent listening on //')"
        if [[ -n $LISTENING_ON ]]; then
            break
        fi
        sleep 0.5
    done

    if [[ -z $LISTENING_ON ]]; then
        echo "Error server did not start sucessfully"
        print_install_results_and_exit 1
    fi
else
    echo "Error server log file not found $SERVER_LOGFILE"
    print_install_results_and_exit 1
fi

# Finish server setup
print_install_results_and_exit 0

[Trace  - 12:29:28.520] Server install command stderr:
https://github.com/VSCodium/vscodium/releases/download/1.82.2./vscodium-reh-linux-x64-1.82.2..tar.gz:
2024-09-13 12:29:36 ERROR 404: Not Found.

[Trace  - 12:29:28.520] Server install command stdout:
Error downloading server from https://github.com/VSCodium/vscodium/releases/download/1.82.2./vscodium-reh-linux-x64-1.82.2..tar.gz
9a75667f01d7ee7ce46ec34b: start
exitCode==1==
listeningOn====
connectionToken====
logFile==/home/caretaker/.vscode-server-oss/.undefined.log==
osReleaseId==ubuntu==
arch==x86_64==
platform==linux==
tmpDir==/run/user/1000==
9a75667f01d7ee7ce46ec34b: end

[Error  - 12:29:28.520] Error resolving authority
Error: Couldn't install vscode server on remote server, install script returned non-zero exit status
    at t.installCodeServer (/home/user/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.46-universal/out/extension.js:1:441139)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/user/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.46-universal/out/extension.js:1:404879
LECOQQ commented 1 month ago

The raspberry pi doesn't seem to be the root cause of the issue. Using the same exact setup (raspberry pi 4 8gb of ram), while just changing the os (raspbian cli to ubuntu lts 24.04 cli) the remote-server installation goes smoothly. I believe that the issue has to do with raspbian. I'll try the fix proposed earlier (manual installation on raspbian) to see if it works for me.