[Remote SSH]: Code server did not start successfully

Describe the Bug

Vscode is work fine, but cursor can not connet my server

 66700K .......... ..........
2025-06-16 14:50:14.266 [info] (ssh_tunnel) stdout:  .......... .......... .......... 99%  325K 0s
 66750K .......... .......... .......... .......... .         100%  109M=4m9s

2025-06-16 14:50:14 (268 KB/s) - ‘cursor-server-90254e93-f3f1-4169-8743-f8c24c8b8051.tar.gz’ saved [68394992/68394992]


2025-06-16 14:50:16.037 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ echo "Checking node executable"
Checking node executable
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<017:~$ if ! $SERVER_NODE_EXECUTABLE --version; then
> 
2025-06-16 14:50:16.037 [info] (ssh_tunnel) stdout: 
<DE_EXECUTABLE is not working, checking system node"
>     SYSTEM_NODE=$(which node)
>     if [[ -n "$SYSTEM_NODE" ]]; then
>         echo "System node version: $($SYSTEM_NODE --version)"
> 
<(parseInt(process.version.slice(1)) >= 20 ? 0 : 1)"
>         if [[ $? -eq 0 ]]; then
>             echo "System node version is 20 or higher, creating symlink"
>             ln -sf $SYSTEM_NODE $SERVER_NODE_EXECUTABLE
> 
<mlink from $SERVER_NODE_EXECUTABLE to $SYSTEM_NODE"
>         else
> 
<l NodeJS 20 or higher on your remote system" "true"
>         fi
>     else
> 
2025-06-16 14:50:16.043 [info] (ssh_tunnel) stdout: 
<l NodeJS 20 or higher on your remote system" "true"
>     fi
> fi
v20.18.2
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ # Clean up stale builds
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<ITS=$(ls -1 -t "$SERVER_DATA_DIR/bin" | tail -n +6)
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<rning-4801017:~$ for OLD_COMMIT in $OLD_COMMITS; do
> 
<_COMMIT | grep -v grep | wc -l | tr -d '[:space:]'`
>     if [[ $IS_RUNNING -eq 0 ]]; then
>         echo "Cleaning up stale build $OLD_COMMIT"
>         if [[ "$OLD_COMMIT" != "$SERVER_COMMIT" ]]; then
> 
</bin/$OLD_COMMIT" "$SERVER_DATA_DIR/.$OLD_COMMIT.*"
>         fi
>     else
>         echo "Build $OLD_COMMIT is still running, skipping"
>     fi
> done
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
Iyongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<01017:~$ # Try to find if server is already running
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<running multiplex server: $MULTIPLEX_SERVER_SCRIPT"
Checking for running multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<1017:~$ if [[ -f $MULTIPLEX_SERVER_PIDFILE ]]; then
>     MULTIPLEX_SERVER_PID="$(cat $MULTIPLEX_SERVER_PIDFILE)"
> 
<TIPLEX_SERVER_PID | grep $MULTIPLEX_SERVER_SCRIPT)"
> else
> 
<-A | grep $MULTIPLEX_SERVER_SCRIPT | grep -v grep)"
> fi

2025-06-16 14:50:16.257 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<ultiplex server: $MULTIPLEX_SERVER_RUNNING_PROCESS"

2025-06-16 14:50:16.258 [info] (ssh_tunnel) stdout: Running multiplex server: 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<OGFILE || ! -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
>     if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
> 
2025-06-16 14:50:16.262 [info] (ssh_tunnel) stdout:         rm $MULTIPLEX_SERVER_LOGFILE
>     fi
>     if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
>         rm $MULTIPLEX_SERVER_TOKENFILE
>     fi
> 
>     touch $MULTIPLEX_SERVER_TOKENFILE
>     chmod 600 $MULTIPLEX_SERVER_TOKENFILE
> 
<ECTION_TOKEN="d3a817fc-3771-4b6b-bee5-a594776b8024"
>     echo $MULTIPLEX_SERVER_CONNECTION_TOKEN > $MULTIPLEX_SERVER_TOKENFILE
> 
> 
<e manually inject it into the extension host later.
> 
<s from being used across ALL connections by default
> 
>     # Backing it up, NOT exporting it
>     if [[ -n "$SSH_AUTH_SOCK" ]]; then
>         ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
>         unset SSH_AUTH_SOCK
>     fi
> 
> 
<tiplex server: $(dirname $MULTIPLEX_SERVER_SCRIPT)"
>     mkdir -p $(dirname "$MULTIPLEX_SERVER_SCRIPT")
>     echo "Writing multiplex server script to $MULTIPLEX_SERVER_SCRIPT"
> 
2025-06-16 14:50:16.269 [info] (ssh_tunnel) stdout: 
<dev/null || base64 -D) > "$MULTIPLEX_SERVER_SCRIPT"

2025-06-16 14:50:16.270 [info] (ssh_tunnel) stdout: > 
> 
2025-06-16 14:50:16.272 [info] (ssh_tunnel) stdout: 
<X_SERVER_SCRIPT $MULTIPLEX_SERVER_CONNECTION_TOKEN"
> 
2025-06-16 14:50:16.272 [info] (ssh_tunnel) stdout: 
<R_CONNECTION_TOKEN"  &> $MULTIPLEX_SERVER_LOGFILE &
>     echo $! > $MULTIPLEX_SERVER_PIDFILE
> 
> 
2025-06-16 14:50:16.274 [info] (ssh_tunnel) stdout:     # Restoring the original SSH_AUTH_SOCK
>     if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
>         export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
>         unset ORIGINAL_SSH_AUTH_SOCK
>     fi
> else
> 
<ng processes are $MULTIPLEX_SERVER_RUNNING_PROCESS"

2025-06-16 14:50:16.276 [info] (ssh_tunnel) stdout: > fi

2025-06-16 14:50:16.279 [info] (ssh_tunnel) stdout: Creating directory for multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server

2025-06-16 14:50:16.284 [info] (ssh_tunnel) stdout: Writing multiplex server script to /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js

2025-06-16 14:50:16.287 [info] (ssh_tunnel) stdout: Starting multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/53b99ce608cba35127ae3a050c1738a959750860/node /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js d3a817fc-3771-4b6b-bee5-a594776b8024
[2] 3450397

2025-06-16 14:50:16.288 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
2025-06-16 14:50:16.288 [info] (ssh_tunnel) stdout: 
<plex server token file $MULTIPLEX_SERVER_TOKENFILE"
Reading multiplex server token file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a9597508606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.token
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
2025-06-16 14:50:16.293 [info] (ssh_tunnel) stdout: 
<17:~$ if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
>     echo "Multiplex server token file found"
>     MULTIPLEX_SERVER_CONNECTION_TOKEN="$(cat $MULTIPLEX_SERVER_TOKENFILE)"
> else
> 
< token file not found: $MULTIPLEX_SERVER_TOKENFILE"
> fi
Multiplex server token file found
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<ultiplex server log file $MULTIPLEX_SERVER_LOGFILE"
Reading multiplex server log file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a9597508606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.log
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ for i in {1..20}; do
>     if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
> 
<listening on .+' | sed 's/Server listening on //')"
>         if [[ -n "$MULTIPLEX_LISTENING_ON" ]]; then
>             break

2025-06-16 14:50:16.293 [info] (ssh_tunnel) stdout: >         fi
>     fi
>     sleep 0.5
> done

2025-06-16 14:50:16.802 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<1017:~$ if [[ -z "$MULTIPLEX_LISTENING_ON" ]]; then
>     echo "Error multiplex server did not start successfully"
>     # Reading the logfile, to help with debugging
>     cat $MULTIPLEX_SERVER_LOGFILE || true
> 
<xit 1 "Multiplex server did not start successfully"

2025-06-16 14:50:16.803 [info] (ssh_tunnel) stdout: > fi
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<earning-4801017:~$ echo "Checking for code servers"
Checking for code servers
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<g-4801017:~$ if [[ -f $CODE_SERVER_PIDFILE ]]; then
>     CODE_SERVER_PID="$(cat $CODE_SERVER_PIDFILE)"
> 
<ep -w $CODE_SERVER_PID | grep $CODE_SERVER_SCRIPT)"
> else
> 
<args -A | grep $CODE_SERVER_SCRIPT | grep -v grep)"
> fi

2025-06-16 14:50:17.002 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<les exists; otherwise we need to start a new server
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<VER_TOKENFILE || ! -f $CODE_SERVER_LOGFILE ]]; then
>     echo "Code server script is not running"
> 
2025-06-16 14:50:17.002 [info] (ssh_tunnel) stdout:     if [[ -f $CODE_SERVER_LOGFILE ]]; then
>         rm $CODE_SERVER_LOGFILE
>     fi
>     if [[ -f $CODE_SERVER_TOKENFILE ]]; then
>         rm $CODE_SERVER_TOKENFILE
>     fi
> 
>     touch $CODE_SERVER_TOKENFILE

2025-06-16 14:50:17.002 [info] (ssh_tunnel) stdout: >     chmod 600 $CODE_SERVER_TOKENFILE
>     CODE_SERVER_CONNECTION_TOKEN="7176e82a-ae42-4877-bd95-5b2b223e0eaf"
>     echo $CODE_SERVER_CONNECTION_TOKEN > $CODE_SERVER_TOKENFILE
> 
> 
<e manually inject it into the extension host later.
> 
<s from being used across ALL connections by default
> 
>     # Backing it up, NOT exporting it
>     if [[ -n "$SSH_AUTH_SOCK" ]]; then
>         ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
>         unset SSH_AUTH_SOCK
>     fi
> 
> 
<ept-server-license-terms &> $CODE_SERVER_LOGFILE &"
> 
> 
<cept-server-license-terms &> $CODE_SERVER_LOGFILE &
>     echo $! > $CODE_SERVER_PIDFILE
> 
>     # Restoring the original SSH_AUTH_SOCK
>     if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
>         export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
>         unset ORIGINAL_SSH_AUTH_SOCK
>     fi
> else
> 
<Running processes are $CODE_SERVER_RUNNING_PROCESS"
> fi
Code server script is not running

2025-06-16 14:50:17.003 [info] (ssh_tunnel) stdout: Starting code server script /home/yongshuai_■■■■/.cursor-server/bin/53b99ce608cba35127ae3a050c1738a959750860/bin/cursor-server --start-server --host=127.0.0.1 --port 0  --connection-token-file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a959750860.code.token --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms &> /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a959750860.code.log &
[3] 3450539

2025-06-16 14:50:17.008 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<4801017:~$ if [[ -f $CODE_SERVER_TOKENFILE ]]; then
>     CODE_SERVER_CONNECTION_TOKEN="$(cat $CODE_SERVER_TOKENFILE)"
> else
> 
<erver token file not found: $CODE_SERVER_TOKENFILE"
> fi
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ for i in {1..20}; do
>     if [[ -f $CODE_SERVER_LOGFILE ]]; then
> 
<+' | sed 's/Extension host agent listening on //')"
>         if [[ -n "$CODE_LISTENING_ON" ]]; then
>             break
>         fi
>     fi
>     sleep 0.5
> done

2025-06-16 14:50:17.513 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ 
<g-4801017:~$ if [[ -z "$CODE_LISTENING_ON" ]]; then
>     echo "Error code server did not start successfully"
>     # Reading the logfile, to help with debugging
>     cat $CODE_SERVER_LOGFILE || true
> 
2025-06-16 14:50:17.514 [info] (ssh_tunnel) stdout: 
< 1 "Code server did not start successfully" "false"
> fi
yongshuai_■■■■@ubuntu-DeepLearning-4801017:~$ print_install_results_and_wait


Steps to Reproduce

Platform: windows
Remote-ssh: 1.0.12

Operating System

Windows 10/11

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.0.0
Vscode version: 1.99.3

~/.cursor-server/bin/multiplex-server$ ls
6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js

"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var r,o=1,t=arguments.length;o<t;o++)for(var n in r=arguments[o])Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);return e},__assign.apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var net_1=require("net"),child_process_1=require("child_process"),crypto_1=require("crypto"),token=process.argv[2];token||(console.error("Token must be provided as the first argument"),process.exit(1));var inactivityTimer,server=(0,net_1.createServer)({keepAlive:!0},(function(e){console.log("Server received connection"),resetInactivityTimer();var r,o,t=Buffer.alloc(0);e.on("close",(function(){console.log("[remoteServer][".concat(o,"] Socket closed; killing child process")),r&&r.pid&&!r.killed&&((null==r?void 0:r.kill())||console.error("[remoteServer][".concat(o,"] Failed to kill child process")))})),e.on("data",(function(n){var i,s,c;if(t=Buffer.concat([t,n]),void 0===r){var a=t.indexOf(Buffer.from("\n"));if(-1===a)return;var d=t.subarray(0,a).toString();t=t.subarray(a+1);var l=void 0;try{l=JSON.parse(d)}catch(r){return console.error("Error parsing JSON command:",r),void e.destroy()}if(l.token!==token)return console.error("Invalid token:",l.token),e.write(JSON.stringify({type:"exit",code:401})+"\n"),void e.end();o=null!==(i=l.id)&&void 0!==i?i:(0,crypto_1.randomUUID)(),console.log("[command][".concat(o,"] Executing command: ").concat(l.command," ").concat((null!==(s=l.args)&&void 0!==s?s:[]).join(" "))),(r=(0,child_process_1.spawn)(l.command,null!==(c=l.args)&&void 0!==c?c:[],{env:__assign(__assign({},process.env),l.env),cwd:l.cwd,shell:!1,stdio:"pipe"})).stdout.on("data",(function(r){var o={type:"stdout",data:r.toString("base64")};e.write(JSON.stringify(o)+"\n")})),r.stdout.on("end",(function(){e.write(JSON.stringify({type:"stdout-end"})+"\n")})),r.stderr.on("data",(function(r){var o={type:"stderr",data:r.toString("base64")};e.write(JSON.stringify(o)+"\n")})),r.stderr.on("end",(function(){e.write(JSON.stringify({type:"stderr-end"})+"\n")}));var u=!1;r.on("error",(function(r){u?console.log("[command][".concat(o,"] Process exited with error but we already sent an exit message"),r):(u=!0,console.error("[command][".concat(o,"] Process error"),r),e.write(JSON.stringify({type:"exit",code:1})+"\n"),e.end())})),r.on("exit",(function(r){if(u)console.log("[command][".concat(o,"] Process exited with code ").concat(r," but we already sent an exit message"));else{u=!0,console.log("[command][".concat(o,"] Process exited with code ").concat(r,". Sending exit message"));var t={type:"exit",code:null!==r?r:0};e.write(JSON.stringify(t)+"\n"),e.end()}}))}var v=t.indexOf(0);if(-1!==v){var f=t.subarray(0,v);try{var g=Buffer.from(f.toString("utf-8"),"base64");r.stdin.write(g)}catch(o){return console.error("Error decoding base64 data:",o),e.destroy(),void r.kill("SIGKILL")}return r.stdin.end(),void(t=Buffer.alloc(0))}var y=4*Math.floor(t.length/4);if(0!==y){var p=t.subarray(0,y);t=t.subarray(y);try{g=Buffer.from(p.toString("utf-8"),"base64"),r.stdin.write(g)}catch(o){return console.error("Error decoding base64 data:",o),r.kill("SIGKILL"),void e.destroy()}}})),e.on("error",(function(e){console.error("[remoteServer][".concat(o,"] Socket error:"),e),r&&r.kill("SIGKILL")}))}));function resetInactivityTimer(){inactivityTimer&&clearTimeout(inactivityTimer),inactivityTimer=setTimeout((function(){console.error("No connections received for 5 minutes, shutting down..."),process.exit(0)}),3e5)}resetInactivityTimer(),server.listen({host:"127.0.0.1",port:0},(function(){var e=server.address();null===e&&(console.error("Failed to get server address"),process.exit(1)),"string"==typeof e&&(console.error("Invalid address: ".concat(e)),process.exit(1)),console.log("Server listening on ".concat(e.port))})),process.on("SIGINT",(function(){server.close((function(){console.log("Server closed"),process.exit(0)}))}));

Hi @HPUedCSLearner, thanks for reporting this issue and sharing the logs. However, the first set of logs look like they are mangled. Could you try sharing them again so we can take a look at what is happening? Thanks!

Thanks!


2025-06-18 10:09:40.166 [info] (ssh_tunnel) stdout: ........ .......... .......... 99%  285K 1s
 66300K .......... .......... .......... .......... .......... 99% 82.0M 1s
 66350K ..
2025-06-18 10:09:40.331 [info] (ssh_tunnel) stdout: ........ ........
2025-06-18 10:09:40.331 [info] (ssh_tunnel) stdout: .. .......... .......... .......... 99%  288K 1s
 66400K .......
2025-06-18 10:09:40.337 [info] (ssh_tunnel) stdout: ... .......... .......... .......... ........
2025-06-18 10:09:40.499 [info] (ssh_tunnel) stdout: .. 99%  291K 1s
 66450K .......... ....
2025-06-18 10:09:40.500 [info] (ssh_tunnel) stdout: ...... .......... ....
2025-06-18 10:09:40.501 [info] (ssh_tunnel) stdout: ...... .......... 99% 16.7M 0s
 66500K .......... 
2025-06-18 10:09:40.501 [info] (ssh_tunnel) stdout: .......... .......... .....
2025-06-18 10:09:40.505 [info] (ssh_tunnel) stdout: ..... ....
2025-06-18 10:09:40.696 [info] (ssh_tunnel) stdout: ...... 99%  292K 0s
 66550K ..........
2025-06-18 10:09:40.697 [info] (ssh_tunnel) stdout:  .......... .......... .......... .......... 99% 16.0M 0s
2025-06-18 10:09:40.701 [info] (ssh_tunnel) stdout: 
 66600K .......... .......... .......... ..........
2025-06-18 10:09:40.712 [info] (ssh_tunnel) stdout:  .......... 99% 1.33M 0s
 66650K ......
2025-06-18 10:09:40.901 [info] (ssh_tunnel) stdout: .... .......... .......... ........
2025-06-18 10:09:40.902 [info] (ssh_tunnel) stdout: .. .......... 99%  363K 0s
 66700K .......... .......... .......... .......... .......... 99% 95.4M 0s
 66750K ..
2025-06-18 10:09:41.106 [info] (ssh_tunnel) stdout: ........ .......... .......... ....
2025-06-18 10:09:41.106 [info] (ssh_tunnel) stdout: ...... .         100%  244K=1m54s

2025-06-18 10:07:14 (586 KB/s) - ‘cursor-server-a75f5d62-01a8-42d1-807d-d3512e3f8aba.tar.gz’ saved [68394992/68394992]


2025-06-18 10:09:42.491 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<Learning-4801031:~$ echo "Checking node executable" 

2025-06-18 10:09:42.492 [info] (ssh_tunnel) stdout: Checking node executable

2025-06-18 10:09:42.495 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<031:~$ if ! $SERVER_NODE_EXECUTABLE --version; then 

2025-06-18 10:09:42.495 [info] (ssh_tunnel) stdout: > 
2025-06-18 10:09:42.502 [info] (ssh_tunnel) stdout: 
<DE_EXECUTABLE is not working, checking system node"
>     SYSTEM_NODE=$(which node)
>     if [[ -n "$SYSTEM_NODE" ]]; then
>         echo "System node version: $($SYSTEM_NODE --version)"
> 
<(parseInt(process.version.slice(1)) >= 20 ? 0 : 1)"
>         if [[ $? -eq 0 ]]; then
>             echo "System node version is 20 or higher, creating symlink"
>             ln -sf $SYSTEM_NODE $SERVER_NODE_EXECUTABLE
> 
<mlink from $SERVER_NODE_EXECUTABLE to $SYSTEM_NODE"
>         else
> 
<l NodeJS 20 or higher on your remote system" "true"
>         fi
>     else
> 
<l NodeJS 20 or higher on your remote system" "true"
>     fi
> fi

2025-06-18 10:09:42.503 [info] (ssh_tunnel) stdout: v20.18.2

2025-06-18 10:09:42.503 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 

2025-06-18 10:09:42.504 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
2025-06-18 10:09:42.509 [info] (ssh_tunnel) stdout: # Clean up stale builds
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<ITS=$(ls -1 -t "$SERVER_DATA_DIR/bin" | tail -n +6) 

2025-06-18 10:09:42.509 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<rning-4801031:~$ for OLD_COMMIT in $OLD_COMMITS; do 

2025-06-18 10:09:42.509 [info] (ssh_tunnel) stdout: > 
2025-06-18 10:09:42.517 [info] (ssh_tunnel) stdout: 
<_COMMIT | grep -v grep | wc -l | tr -d '[:space:]'`
>     if [[ $IS_RUNNING -eq 0 ]]; then
>         echo "Cleaning up stale build $OLD_COMMIT"
>         if [[ "$OLD_COMMIT" != "$SERVER_COMMIT" ]]; then
> 
</bin/$OLD_COMMIT" "$SERVER_DATA_DIR/.$OLD_COMMIT.*"
>         fi
>     else
>         echo "Build $OLD_COMMIT is still running, skipping"
>     fi
> done
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<01031:~$ # Try to find if server is already running 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<running multiplex server: $MULTIPLEX_SERVER_SCRIPT" 
Checking for running multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<1031:~$ if [[ -f $MULTIPLEX_SERVER_PIDFILE ]]; then 
>     MULTIPLEX_SERVER_PID="$(cat $MULTIPLEX_SERVER_PIDFILE)"
> 
2025-06-18 10:09:42.517 [info] (ssh_tunnel) stdout: 
<TIPLEX_SERVER_PID | grep $MULTIPLEX_SERVER_SCRIPT)"
> else

2025-06-18 10:09:42.522 [info] (ssh_tunnel) stdout: > 
<-A | grep $MULTIPLEX_SERVER_SCRIPT | grep -v grep)"
> fi

2025-06-18 10:09:42.634 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
2025-06-18 10:09:42.634 [info] (ssh_tunnel) stdout: 
<ultiplex server: $MULTIPLEX_SERVER_RUNNING_PROCESS" 
Running multiplex server: 

2025-06-18 10:09:42.635 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
2025-06-18 10:09:42.637 [info] (ssh_tunnel) stdout: 
<OGFILE || ! -f $MULTIPLEX_SERVER_TOKENFILE ]]; then 

2025-06-18 10:09:42.644 [info] (ssh_tunnel) stdout: >     if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
>         rm $MULTIPLEX_SERVER_LOGFILE
>     fi
>     if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
>         rm $MULTIPLEX_SERVER_TOKENFILE
>     fi
> 
>     touch $MULTIPLEX_SERVER_TOKENFILE
>     chmod 600 $MULTIPLEX_SERVER_TOKENFILE
> 
<ECTION_TOKEN="aded87c4-66c3-4c47-bd0e-4c768d2766e2"
>     echo $MULTIPLEX_SERVER_CONNECTION_TOKEN > $MULTIPLEX_SERVER_TOKENFILE
> 
> 
2025-06-18 10:09:42.645 [info] (ssh_tunnel) stdout: 
<e manually inject it into the extension host later.
> 
<s from being used across ALL connections by default

2025-06-18 10:09:42.653 [info] (ssh_tunnel) stdout: > 
>     # Backing it up, NOT exporting it
>     if [[ -n "$SSH_AUTH_SOCK" ]]; then
>         ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
>         unset SSH_AUTH_SOCK
>     fi
> 
x> 
<tiplex server: $(dirname $MULTIPLEX_SERVER_SCRIPT)"
>     mkdir -p $(dirname "$MULTIPLEX_SERVER_SCRIPT")
>     echo "Writing multiplex server script to $MULTIPLEX_SERVER_SCRIPT"
> 
2025-06-18 10:09:42.693 [info] (ssh_tunnel) stdout: 
<dev/null || base64 -D) > "$MULTIPLEX_SERVER_SCRIPT"

2025-06-18 10:09:42.694 [info] (ssh_tunnel) stdout: > 
n> 
2025-06-18 10:09:42.694 [info] (ssh_tunnel) stdout: 
<X_SERVER_SCRIPT $MULTIPLEX_SERVER_CONNECTION_TOKEN"
> 
2025-06-18 10:09:42.695 [info] (ssh_tunnel) stdout: 
<R_CONNECTION_TOKEN"  &> $MULTIPLEX_SERVER_LOGFILE &

2025-06-18 10:09:42.701 [info] (ssh_tunnel) stdout: >     echo $! > $MULTIPLEX_SERVER_PIDFILE
> 
]>     # Restoring the original SSH_AUTH_SOCK
>     if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
>         export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
>         unset ORIGINAL_SSH_AUTH_SOCK
>     fi
> else
> 
<ng processes are $MULTIPLEX_SERVER_RUNNING_PROCESS"
> fi

2025-06-18 10:09:42.703 [info] (ssh_tunnel) stdout: Creating directory for multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server

2025-06-18 10:09:42.706 [info] (ssh_tunnel) stdout: Writing multiplex server script to /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js

2025-06-18 10:09:42.709 [info] (ssh_tunnel) stdout: Starting multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/53b99ce608cba35127ae3a050c1738a959750860/node /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js aded87c4-66c3-4c47-bd0e-4c768d2766e2

2025-06-18 10:09:42.709 [info] (ssh_tunnel) stdout: [2] 706587
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 

2025-06-18 10:09:42.710 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<plex server token file $MULTIPLEX_SERVER_TOKENFILE" 
Reading multiplex server token file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a9597508606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.token
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<31:~$ if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then 
>     echo "Multiplex server token file found"
>     MULTIPLEX_SERVER_CONNECTION_TOKEN="$(cat $MULTIPLEX_SERVER_TOKENFILE)"
> else
> 
2025-06-18 10:09:42.715 [info] (ssh_tunnel) stdout: 
< token file not found: $MULTIPLEX_SERVER_TOKENFILE"
> fi
Multiplex server token file found
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<ultiplex server log file $MULTIPLEX_SERVER_LOGFILE" 
Reading multiplex server log file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a9597508606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.log
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ for i in {1..20}; do
>     if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
> 
<listening on .+' | sed 's/Server listening on //')"
>         if [[ -n "$MULTIPLEX_LISTENING_ON" ]]; then
>             break
>         fi
>     fi
>     sleep 0.5
> done

2025-06-18 10:09:43.223 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 

2025-06-18 10:09:43.224 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<1031:~$ if [[ -z "$MULTIPLEX_LISTENING_ON" ]]; then 
> 
2025-06-18 10:09:43.224 [info] (ssh_tunnel) stdout:     echo "Error multiplex server did not start successfully"
> 
2025-06-18 10:09:43.230 [info] (ssh_tunnel) stdout:     # Reading the logfile, to help with debugging
>     cat $MULTIPLEX_SERVER_LOGFILE || true
> 
<xit 1 "Multiplex server did not start successfully"
> fi
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<earning-4801031:~$ echo "Checking for code servers" 
Checking for code servers
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<g-4801031:~$ if [[ -f $CODE_SERVER_PIDFILE ]]; then 
>     CODE_SERVER_PID="$(cat $CODE_SERVER_PIDFILE)"
> 
<ep -w $CODE_SERVER_PID | grep $CODE_SERVER_SCRIPT)"
> else
> 
<args -A | grep $CODE_SERVER_SCRIPT | grep -v grep)"
> fi

2025-06-18 10:09:43.351 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
2025-06-18 10:09:43.351 [info] (ssh_tunnel) stdout: 
<les exists; otherwise we need to start a new server 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
2025-06-18 10:09:43.351 [info] (ssh_tunnel) stdout: 
<VER_TOKENFILE || ! -f $CODE_SERVER_LOGFILE ]]; then 
> 
2025-06-18 10:09:43.358 [info] (ssh_tunnel) stdout:     echo "Code server script is not running"
>     if [[ -f $CODE_SERVER_LOGFILE ]]; then
>         rm $CODE_SERVER_LOGFILE
>     fi
>     if [[ -f $CODE_SERVER_TOKENFILE ]]; then
>         rm $CODE_SERVER_TOKENFILE
>     fi
> 
>     touch $CODE_SERVER_TOKENFILE
>     chmod 600 $CODE_SERVER_TOKENFILE
>     CODE_SERVER_CONNECTION_TOKEN="feec97fb-94cc-4f8d-9b6d-e39997d76b8d"
>     echo $CODE_SERVER_CONNECTION_TOKEN > $CODE_SERVER_TOKENFILE
> 
> 
<e manually inject it into the extension host later.
> 
<s from being used across ALL connections by default
> 
>     # Backing it up, NOT exporting it
>     if [[ -n "$SSH_AUTH_SOCK" ]]; then
>         ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
>         unset SSH_AUTH_SOCK
>     fi
> 
> 
2025-06-18 10:09:43.358 [info] (ssh_tunnel) stdout: 
<ept-server-license-terms &> $CODE_SERVER_LOGFILE &"

2025-06-18 10:09:43.359 [info] (ssh_tunnel) stdout: > 
> 
2025-06-18 10:09:43.359 [info] (ssh_tunnel) stdout: 
<cept-server-license-terms &> $CODE_SERVER_LOGFILE &

2025-06-18 10:09:43.361 [info] (ssh_tunnel) stdout: >     echo $! > $CODE_SERVER_PIDFILE
> 
>     # Restoring the original SSH_AUTH_SOCK
>     if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
>         export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
>         unset ORIGINAL_SSH_AUTH_SOCK
>     fi
> else
> 
2025-06-18 10:09:43.363 [info] (ssh_tunnel) stdout: 
<Running processes are $CODE_SERVER_RUNNING_PROCESS"

2025-06-18 10:09:43.363 [info] (ssh_tunnel) stdout: > fi
Code server script is not running

2025-06-18 10:09:43.367 [info] (ssh_tunnel) stdout: Starting code server script /home/yongshuai_■■■■/.cursor-server/bin/53b99ce608cba35127ae3a050c1738a959750860/bin/cursor-server --start-server --host=127.0.0.1 --port 0  --connection-token-file /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a959750860.code.token --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms &> /home/yongshuai_■■■■/.cursor-server/.53b99ce608cba35127ae3a050c1738a959750860.code.log &
[3] 706795

2025-06-18 10:09:43.368 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<4801031:~$ if [[ -f $CODE_SERVER_TOKENFILE ]]; then 
>     CODE_SERVER_CONNECTION_TOKEN="$(cat $CODE_SERVER_TOKENFILE)"
> else
> 
<erver token file not found: $CODE_SERVER_TOKENFILE"

2025-06-18 10:09:43.373 [info] (ssh_tunnel) stdout: > fi
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ for i in {1..20}; do
>     if [[ -f $CODE_SERVER_LOGFILE ]]; then
> 
<+' | sed 's/Extension host agent listening on //')"
>         if [[ -n "$CODE_LISTENING_ON" ]]; then
>             break
>         fi
>     fi
>     sleep 0.5
> done

2025-06-18 10:09:43.882 [info] (ssh_tunnel) stdout: (base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
2025-06-18 10:09:43.884 [info] (ssh_tunnel) stdout: 
<g-4801031:~$ if [[ -z "$CODE_LISTENING_ON" ]]; then 
> 
2025-06-18 10:09:43.884 [info] (ssh_tunnel) stdout:     echo "Error code server did not start successfully"
>     # Reading the logfile, to help with debugging
> 
2025-06-18 10:09:43.894 [info] (ssh_tunnel) stdout:     cat $CODE_SERVER_LOGFILE || true
> 
< 1 "Code server did not start successfully" "false"
> fi
(base) yongshuai_■■■■@ubuntu-DeepLearning-4801031:~$ 
<pLearning-4801031:~$ print_install_results_and_wait 

cursor about

Version: 1.0.0 (user setup)
VSCode Version: 1.96.2
Commit: 53b99ce608cba35127ae3a050c1738a959750860
Date: 2025-06-04T19:44:25.253Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Windows_NT x64 10.0.26100

Remote ssh: latest

Hi @HPUedCSLearner, I still am unable to parse the logs – it appears to be the source code for some sections, and many line are truncated. I’ll take a guess that this might be because of some flag set in a ~/.bashrc, ~/.bash_profile, or ~/.profile on your remote machine. Could you try restoring these files to the defaults?

Hi!


yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ cp .bash_history .bash_history.bk
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ cp  .bash_logout .bash_logout.bk
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ cp  .bashrc  .bashrc.bk
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ cp .profile .profile.bk
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ echo "debug" > .bash_history
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ echo "debug" > .bash_logout
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ echo "debug" > .bashrc
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ echo "debug" > .profile

This is the ssh log. Because the log is too long, I only posted the first half of the log downloaded from the server through wget. The second half of the log is what I posted before. Please forgive me.

2025-06-19 14:36:19.714 [info] Resolving ssh remote authority '10.48.2.112-l40s' (Unparsed 'ssh-remote+7b22686f73744e616d65223a2231302e34382e322e3131322d6c343073227d') (attempt #1)
2025-06-19 14:36:19.792 [info] SSH askpass server listening on port 60994
2025-06-19 14:36:19.794 [info] Using askpass script: c:\Users\yongshuai_■■■■\.cursor\extensions\anysphere.remote-ssh-1.0.14\dist\scripts\launchSSHAskpass.bat with javascript file c:\Users\yongshuai_■■■■\.cursor\extensions\anysphere.remote-ssh-1.0.14\dist\scripts\sshAskClient.js. Askpass handle: 60994
2025-06-19 14:36:19.812 [info] Launching SSH server via shell with command: type "C:\Users\YONGSH~1\AppData\Local\Temp\cursor_remote_install_93985.sh" | ssh -v -T -D 60995 10.48.2.112-l40s bash --login -c bash
2025-06-19 14:36:19.812 [info] Started installation script. Waiting for it to finish...
2025-06-19 14:36:19.812 [info] Waiting for server to install via process(31132)...
2025-06-19 14:36:19.919 [info] (ssh_tunnel) stderr: OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2

2025-06-19 14:36:19.921 [info] (ssh_tunnel) stderr: debug1: Reading configuration data C:\\Users\\yongshuai_■■■■/.ssh/config

2025-06-19 14:36:19.921 [info] (ssh_tunnel) stderr: debug1: C:\\Users\\yongshuai_■■■■/.ssh/config line 28: Applying options for 10.48.2.112-l40s

2025-06-19 14:36:19.947 [info] (ssh_tunnel) stderr: debug1: Connecting to d1000.intsig.net [106.75.209.254] port 38222.

2025-06-19 14:36:19.992 [info] (ssh_tunnel) stderr: debug1: Connection established.

2025-06-19 14:36:19.994 [info] (ssh_tunnel) stderr: debug1: identity file C:\\Users\\yongshuai_■■■■\\.ssh\\jumper-key.pem type -1

2025-06-19 14:36:19.995 [info] (ssh_tunnel) stderr: debug1: identity file C:\\Users\\yongshuai_■■■■\\.ssh\\jumper-key.pem-cert type -1

2025-06-19 14:36:19.995 [info] (ssh_tunnel) stderr: debug1: Local version string SSH-2.0-OpenSSH_for_Windows_9.5

2025-06-19 14:36:20.009 [info] (ssh_tunnel) stderr: debug1: Remote protocol version 2.0, remote software version JumpServer

2025-06-19 14:36:20.009 [info] (ssh_tunnel) stderr: debug1: compat_banner: no match: JumpServer

2025-06-19 14:36:20.009 [info] (ssh_tunnel) stderr: debug1: Authenticating to d1000.intsig.net:38222 as 'yongshuai_■■■■@yongshuai_■■■■@10.48.2.112'

2025-06-19 14:36:20.010 [info] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen C:\\Users\\yongshuai_■■■■/.ssh/known_hosts2: No such file or directory

2025-06-19 14:36:20.011 [info] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts: No such file or directory

2025-06-19 14:36:20.011 [info] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts2: No such file or directory

2025-06-19 14:36:20.011 [info] (ssh_tunnel) stderr: debug1: SSH2_MSG_KEXINIT sent

2025-06-19 14:36:20.018 [info] (ssh_tunnel) stderr: debug1: SSH2_MSG_KEXINIT received

2025-06-19 14:36:20.018 [info] (ssh_tunnel) stderr: debug1: kex: algorithm: curve25519-sha256

2025-06-19 14:36:20.019 [info] (ssh_tunnel) stderr: debug1: kex: host key algorithm: rsa-sha2-512

2025-06-19 14:36:20.019 [info] (ssh_tunnel) stderr: debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none

2025-06-19 14:36:20.019 [info] (ssh_tunnel) stderr: debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none

2025-06-19 14:36:20.021 [info] (ssh_tunnel) stderr: debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

2025-06-19 14:36:20.033 [info] (ssh_tunnel) stderr: debug1: SSH2_MSG_KEX_ECDH_REPLY received

2025-06-19 14:36:20.033 [info] (ssh_tunnel) stderr: debug1: Server host key: ssh-rsa SHA256:YEv59DUXo0iRh88lqPXp2DK0ruwGpLmZpGZ7RhAkJfw

2025-06-19 14:36:20.034 [info] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen C:\\Users\\yongshuai_■■■■/.ssh/known_hosts2: No such file or directory

2025-06-19 14:36:20.034 [info] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts: No such file or directory

2025-06-19 14:36:20.035 [info] (ssh_tunnel) stderr: debug1: load_hostkeys: fopen __PROGRAMDATA__\\ssh/ssh_known_hosts2: No such file or directory

2025-06-19 14:36:20.035 [info] (ssh_tunnel) stderr: debug1: Host '[d1000.intsig.net]:38222' is known and matches the RSA host key.

2025-06-19 14:36:20.035 [info] (ssh_tunnel) stderr: debug1: Found key in C:\\Users\\yongshuai_■■■■/.ssh/known_hosts:1

2025-06-19 14:36:20.036 [info] (ssh_tunnel) stderr: debug1: ssh_packet_send2_wrapped: resetting send seqnr 3

2025-06-19 14:36:20.037 [info] (ssh_tunnel) stderr: debug1: rekey out after 134217728 blocks

2025-06-19 14:36:20.038 [info] (ssh_tunnel) stderr: debug1: SSH2_MSG_NEWKEYS sent

2025-06-19 14:36:20.038 [info] (ssh_tunnel) stderr: debug1: expecting SSH2_MSG_NEWKEYS

2025-06-19 14:36:20.038 [info] (ssh_tunnel) stderr: debug1: ssh_packet_read_poll2: resetting read seqnr 3

2025-06-19 14:36:20.038 [info] (ssh_tunnel) stderr: debug1: SSH2_MSG_NEWKEYS received

2025-06-19 14:36:20.038 [info] (ssh_tunnel) stderr: debug1: rekey in after 134217728 blocks

2025-06-19 14:36:20.038 [info] (ssh_tunnel) stderr: debug1: get_agent_identities: ssh_get_authentication_socket: No such file or directory

2025-06-19 14:36:20.039 [info] (ssh_tunnel) stderr: debug1: Will attempt key: C:\\Users\\yongshuai_■■■■\\.ssh\\jumper-key.pem  explicit

2025-06-19 14:36:20.039 [info] (ssh_tunnel) stderr: debug1: SSH2_MSG_EXT_INFO received

2025-06-19 14:36:20.039 [info] (ssh_tunnel) stderr: debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-dss>

2025-06-19 14:36:20.039 [info] (ssh_tunnel) stderr: debug1: kex_ext_info_check_ver: [email protected]=<0>

2025-06-19 14:36:20.112 [info] (ssh_tunnel) stderr: debug1: SSH2_MSG_SERVICE_ACCEPT received

2025-06-19 14:36:20.121 [info] (ssh_tunnel) stderr: Welcome to JumpServer SSH Server

2025-06-19 14:36:20.122 [info] (ssh_tunnel) stderr: debug1: Authentications that can continue: password,publickey

2025-06-19 14:36:20.122 [info] (ssh_tunnel) stderr: debug1: Next authentication method: publickey

2025-06-19 14:36:20.122 [info] (ssh_tunnel) stderr: debug1: Trying private key: C:\\Users\\yongshuai_■■■■\\.ssh\\jumper-key.pem

2025-06-19 14:36:20.620 [info] (ssh_tunnel) stderr: Authenticated to d1000.intsig.net ([106.75.209.254]:38222) using "publickey".

2025-06-19 14:36:20.620 [info] (ssh_tunnel) stderr: debug1: Local connections to LOCALHOST:60995 forwarded to remote address socks:0

2025-06-19 14:36:20.620 [info] (ssh_tunnel) stderr: debug1: Local forwarding listening on ::1 port 60995.

2025-06-19 14:36:20.621 [info] (ssh_tunnel) stderr: debug1: channel 0: new port-listener [port listener] (inactive timeout: 0)

2025-06-19 14:36:20.621 [info] (ssh_tunnel) stderr: debug1: Local forwarding listening on 127.0.0.1 port 60995.

2025-06-19 14:36:20.621 [info] (ssh_tunnel) stderr: debug1: channel 1: new port-listener [port listener] (inactive timeout: 0)

2025-06-19 14:36:20.621 [info] (ssh_tunnel) stderr: debug1: channel 2: new session [client-session] (inactive timeout: 0)

2025-06-19 14:36:20.622 [info] (ssh_tunnel) stderr: debug1: Entering interactive session.

2025-06-19 14:36:20.622 [info] (ssh_tunnel) stderr: debug1: pledge: filesystem

2025-06-19 14:36:20.630 [info] (ssh_tunnel) stderr: debug1: Sending command: bash --login -c bash

2025-06-19 14:36:22.961 [info] (ssh_tunnel) stdout: /home/yongshuai_■■■■/.bashrc: line 1: debug: command not found

2025-06-19 14:36:22.963 [info] (ssh_tunnel) stdout: 
TMP_DIR="${XDG_RUNTIME_DIR:-"/tmp"}"
SERVER_COMMIT="979ba33804ac150108481c14e0b5cb970bda3260"
SERVER_LINE="production"
SERVER_DATA_DIR="$HOME/.cursor-server"
SERVER_DIR="$SERVER_DATA_DIR/bin/979ba33804ac150108481c14e0b5cb970bda3260"
SERVER_NODE_EXECUTABLE="$SERVER_DIR/node"
CODE_SERVER_SCRIPT="$SERVER_DIR/bin/cursor-server"
CODE_SERVER_LOGFILE="$SERVER_DATA_DIR/.$SERVER_COMMIT.code.log"
CODE_SERVER_TOKENFILE="$SERVER_DATA_D
2025-06-19 14:36:22.964 [info] (ssh_tunnel) stdout: IR/.$SERVER_COMMIT.code.token"
CODE_SERVER_PIDFILE="$SERVER_
2025-06-19 14:36:22.971 [info] (ssh_tunnel) stdout: DATA_DIR/.$SERVER_COMMIT.code.pid"
CODE_SERVER_PROCESS_ALL_VERSIONS_GREP_PATTERN="$SERVER_DATA_DIR/bin/.*/out/server-main.js"
CODE_LISTENING_ON=
CODE_SERVER_CONNECTION_TOKEN=
MULTIPLEX_SERVER_SCRIPT="$SERVER_DATA_DIR/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js"
MULTIPLEX_SERVER_LOGFILE="$SERVER_DATA_DIR/.979ba33804ac150108481c14e0b5cb970bda32606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.log"
MULTIPLEX_SERVER_TOKENFILE="$SERVER_DATA_DIR/.979ba33804ac150108481c14e0b5cb970bda32606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.token"
MULTIPLEX_SERVER_PIDFILE="$SERVER_DATA_DIR/.979ba33804ac150108481c14e0b5cb970bda32606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.pid"
MULTIPLEX_SERVER_PROCESS_ALL_VERSIONS_GREP_PATTERN="$SERVER_DATA_DIR/bin/multiplex-server/.*.js"
MULTIPLEX_LISTENING_ON=
SERVER_ARCH=
SERVER_DOWNLOAD_URL=
# This is a magic variable
export VSCODE_AGENT_FOLDER="$SERVER_DATA_DIR"
OS_RELEASE_ID=
ARCH=
PLATFORM=
print_install_results_and_exit() {
    echo "428b23c198586cd7b7f418de: start"
    echo "exitCode==$1=="
    echo "nodeExecutable==$SERVER_NODE_EXECUTABLE=="
    echo "multiplexListeningOn==$MULTIPLEX_LISTENING_ON=="
    echo "multiplexConnectionToken==$MULTIPLEX_SERVER_CONNECTION_TOKEN=="
    echo "codeListeningOn==$CODE_LISTENING_ON=="
    echo "errorMessage==$2=="
    echo "isFatalError==$3=="
    echo "codeConnectionToken==$CODE_SERVER_CONNECTION_TOKEN=="
    echo "detectedPlatform==$PLATFORM=="
    echo "arch==$SERVER_ARCH=="
    echo "SSH_AUTH_SOCK==$SSH_AUTH_SOCK=="
    echo "428b23c198586cd7b7f418de: end"
    exit $1
}

print_install_results_and_wait() {
    # Try to get PIDs from PID files first, fallback to extracting from running processes
    if [[ -f $CODE_SERVER_PIDFILE ]]; then
        CODE_SERVER_PID="$(cat $CODE
2025-06-19 14:36:22.972 [info] Server install command exit code:  NaN
2025-06-19 14:36:22.973 [error] Error installing server: Cannot read properties of undefined (reading 'includes')
2025-06-19 14:36:22.973 [info] Deleting local script C:\Users\YONGSH~1\AppData\Local\Temp\cursor_remote_install_93985.sh
2025-06-19 14:36:22.974 [error] Error resolving SSH authority Cannot read properties of undefined (reading 'includes')
2025-06-19 14:36:22.975 [info] (ssh_tunnel) stdout: _SERVER_PIDFILE)"
    else
        # PID file doesn't exist, try to extract PID from running process
        CODE_SERVER_RUNNING_PROCESS="$(ps -o pid,args -A | grep $CODE_SERVER_SCRIPT | grep -v grep | head -1)"
        if [[ -n "$CODE_SERVER_RUNNING_PROCESS" ]]; then
            CODE_SERVER_PID="$(echo "$CODE_SERVER_RUNNING_PROCESS" | awk '{print $1}')"
        else
            print_install_results_and_exit 1 "Code server PID file not found and no running code server process detected" "false"
        fi
    fi

    if [[ -f $MULTIPLEX_SERVER_PIDFILE ]]; then
        MULTIPLEX_SERVER_PID="$(cat $MULTIPLEX_SERVER_PIDFILE)"
    else
        # PID file doesn't exist, try to extract PID from running process
        MULTIPLEX_SERVER_RUNNING_PROCESS="$(ps -o pid,args -A | grep $MULTIPLEX_SERVER_SCRIPT | grep -v grep | head -1)"
        if [[ -n "$MULTIPLEX_SERVER_RUNNING_PROCESS" ]]; then
            MULTIPLEX_SERVER_PID="$(echo "$MULTIPLEX_SERVER_RUNNING_PROCESS" | awk '{print $1}')"
        else
            print_install_results_and_exit 1 "Multiplex server PID file not found and no running multiplex server process detected" "false"
        fi
    fi

    echo "428b23c198586cd7b7f418de: start"
    echo "exitCode==0=="
    echo "nodeExecutable==$SERVER_NODE_EXECUTABLE=="
    echo "errorMessage===="
    echo "isFatalError==false=="
    echo "multiplexListeningOn==$MULTIPLEX_LISTENING_ON=="
    echo "multiplexConnectionToken==$MULTIPLEX_SERVER_CONNECTION_TOKEN=="
    echo "codeListeningOn==$CODE_LISTENING_ON=="
    echo "codeConnectionToken==$CODE_SERVER_CONNECTION_TOKEN=="
    echo "detectedPlatform==$PLATFORM=="
    echo "arch==$SERVER_ARCH=="
    echo "SSH_AUTH_SOCK==$SSH_AUTH_SOC/home/yongshuai_■■■■/.profile: line 1: debug: command not found
bash: debug: command not found
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
Kyongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<40S-4802112:~$ TMP_DIR="${XDG_RUNTIME_DIR:-"/tmp"}"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<R_COMMIT="979ba33804ac150108481c14e0b5cb970bda3260"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ SERVER_LINE="production"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<S-4802112:~$ SERVER_DATA_DIR="$HOME/.cursor-server"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<A_DIR/bin/979ba33804ac150108481c14e0b5cb970bda3260"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<802112:~$ SERVER_NODE_EXECUTABLE="$SERVER_DIR/node"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
< CODE_SERVER_SCRIPT="$SERVER_DIR/bin/cursor-server"
Syongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<LOGFILE="$SERVER_DATA_DIR/.$SERVER_COMMIT.code.log"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<NFILE="$SERVER_DATA_DIR/.$SERVER_COMMIT.code.token"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<PIDFILE="$SERVER_DATA_DIR/.$SERVER_COMMIT.code.pid"
}
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<ATTERN="$SERVER_DATA_DIR/bin/.*/out/server-main.js"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ CODE_LISTENING_ON=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ CODE_SERVER_CONNECTION_TOKEN=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:36:22.979 [info] (ssh_tunnel) stdout: 
<80182a74799f35540e2d611693e0d8ecb19f.multiplex.log"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<182a74799f35540e2d611693e0d8ecb19f.multiplex.token"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<80182a74799f35540e2d611693e0d8ecb19f.multiplex.pid"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<TTERN="$SERVER_DATA_DIR/bin/multiplex-server/.*.js"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ MULTIPLEX_LISTENING_ON=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ SERVER_ARCH=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ SERVER_DOWNLOAD_URL=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ # This is a magic variable
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<12:~$ export VSCODE_AGENT_FOLDER="$SERVER_DATA_DIR"
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ OS_RELEASE_ID=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ ARCH=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ PLATFORM=
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ print_install_results_and_exit() {
>     echo "428b23c198586cd7b7f418de: start"
>     echo "exitCode==$1=="
>     echo "nodeExecutable==$SERVER_NODE_EXECUTABLE=="
>     echo "multiplexListeningOn==$MULTIPLEX_LISTENING_ON=="
e>     echo "multiplexConnectionToken==$MULTIPLEX_SERVER_CONNECTION_TOKEN=="
>     echo "codeListeningOn==$CODE_LISTENING_ON=="
>     echo "errorMessage==$2=="
>     echo "isFatalError==$3=="
 >     echo "codeConnectionToken==$CODE_SERVER_CONNECTION_TOKEN=="
>     echo "detectedPlatform==$PLATFORM=="
>     echo "arch==$SERVER_ARCH=="
al>     echo "SSH_AUTH_SOCK==$SSH_AUTH_SOCK=="
>     echo "428b23c198586cd7b7f418de: end"
>     exit $1
R> }
_Dyongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
Ayongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ print_install_results_and_wait() {
> 
<irst, fallback to extracting from running processes
>     if [[ -f $CODE_SERVER_PIDFILE ]]; then
R>         CODE_SERVER_PID="$(cat $CODE_SERVER_PIDFILE)"
>     else
>         # PID file doesn't exist, try to extract PID from running process
> 
<grep $CODE_SERVER_SCRIPT | grep -v grep | head -1)"
>         if [[ -n "$CODE_SERVER_RUNNING_PROCESS" ]]; then
> 
<"$CODE_SERVER_RUNNING_PROCESS" | awk '{print $1}')"
>         else
.> 
<nd no running code server process detected" "false"
>         fi
>     fi
g > 
>     if [[ -f $MULTIPLEX_SERVER_PIDFILE ]]; then
>         MULTIPLEX_SERVER_PID="$(cat $MULTIPLEX_SERVER_PIDFILE)"
>     else
>         # PID file doesn't exist, try to extract PID from running process
l> 
<$MULTIPLEX_SERVER_SCRIPT | grep -v grep | head -1)"
>         if [[ -n "$MULTIPLEX_SERVER_RUNNING_PROCESS" ]]; then
> 
<TIPLEX_SERVER_RUNNING_PROCESS" | awk '{print $1}')"
>         else
> 
< running multiplex server process detected" "false"
>         fi
 >     fi
> 
>     echo "428b23c198586cd7b7f418de: start"
>     echo "exitCode==0=="
> 
2025-06-19 14:36:22.980 [info] (ssh_tunnel) stdout:     echo "nodeExecutable==$SERVER_NODE_EXECUTABLE=="
>     echo "errorMessage===="
>     echo "isFatalError==false=="
>     echo "multiplexListeningOn==$MULTIPLEX_LISTENING_ON=="
>     echo "multiplexConnectionToken==$MULTIPLEX_SERVER_CONNECTION_TOKEN=="
>     echo "codeListeningOn==$CODE_LISTENING_ON=="
>     echo "codeConnectionToken==$CODE_SERVER_CONNECTION_TOKEN=="
 >     echo "detectedPlatform==$PLATFORM=="
>     echo "arch==$SERVER_ARCH=="
>     echo "SSH_AUTH_SOCK==$SSH_AUTH_SOCK=="
>     echo "428b23c198586cd7b7f418de: end"
>     unlock
qu>     trap - EXIT
> 
<r over ssh, the code server won't have a connection
>     while ps -o pid -A | grep -w $CODE_SERVER_PID >/dev/null 2>&1
>     do
>         sleep 10
>     done
>     echo "Code server process $CODE_SERVER_PID died"
> 
2025-06-19 14:36:22.980 [info] (ssh_tunnel) stdout:     while ps -o pid -A | grep -w $MULTIPLEX_SERVER_PID >/dev/null 2>&1

>     do
 >         sleep 10
>     done
>     echo "Multiplex server process $MULTIPLEX_SERVER_PID died"
>     exit 0
> }
  yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
 yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ get_lockfile() {

2025-06-19 14:36:22.981 [info] (ssh_tunnel) stdout: > 
< | (md5sum 2>/dev/null || md5) | awk '{print $1}')"
> }
c/
2025-06-19 14:36:22.981 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ if [[ "true" == "true" ]]; then
>     echo "Killing all running Cursor servers"
> 
<_ALL_VERSIONS_GREP_PATTERN | grep -v grep || true)"
>     if [[ -z "$CODE_SERVER_RUNNING_PROCESS" ]]; then
>         echo "No running code servers found"
>     fi
>     echo "Killing running code servers: $CODE_SERVER_RUNNING_PROCESS"

2025-06-19 14:36:22.982 [info] (ssh_tunnel) stdout: >     echo "$CODE_SERVER_RUNNING_PROCESS" | while read -r line; do
>         pid=$(echo "$line" | awk '{print $1}')
>         if [[ -n "$pid" ]]; then
>             echo "Killing server process with PID: $pid"
>             kill -9 "$pid"
>         fi
>     done
>     CODE_SERVER_RUNNING_PROCESS=""
>     echo "Killing all running multiplex servers"

2025-06-19 14:36:22.982 [info] (ssh_tunnel) stdout: > 
<_ALL_VERSIONS_GREP_PATTERN | grep -v grep || true)"
> 
2025-06-19 14:36:22.983 [info] (ssh_tunnel) stdout:     if [[ -z "$MULTIPLEX_SERVER_RUNNING_PROCESS" ]]; then
>         echo "No running multiplex servers found"
S>     fi
> 
<ltiplex servers: $MULTIPLEX_SERVER_RUNNING_PROCESS"
>     echo "$MULTIPLEX_SERVER_RUNNING_PROCESS" | while read -r line; do
>         pid=$(echo "$line" | awk '{print $1}')
>         if [[ -n "$pid" ]]; then
> 
2025-06-19 14:36:23.025 [info] (ssh_tunnel) stdout:             echo "Killing server process with PID: $pid"
>             kill -9 "$pid"
67>         fi
>     done
>     MULTIPLEX_SERVER_RUNNING_PROCESS=""
> fi
Killing all running Cursor servers

2025-06-19 14:36:23.062 [info] (ssh_tunnel) stdout: No running code servers found
Killing running code servers: 

2025-06-19 14:36:23.062 [info] (ssh_tunnel) stdout: Killing all running multiplex servers

2025-06-19 14:36:23.126 [info] (ssh_tunnel) stdout: No running multiplex servers found
Killing running multiplex servers: 

2025-06-19 14:36:23.130 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 

2025-06-19 14:36:23.131 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ if [[ 'true' == "true" ]]; then
>     echo "Removing all existing Cursor installations"
> 
2025-06-19 14:36:23.133 [info] (ssh_tunnel) stdout: 
<     $(get_lockfile)         $(get_lockfile).target
> 
N> 
2025-06-19 14:36:23.133 [info] (ssh_tunnel) stdout:     # Don't delete the server we just copied
> 
2025-06-19 14:36:23.133 [info] (ssh_tunnel) stdout: 
<server-461e1891-14a3-473c-b93e-7a79963067bc.tar.gz"
> 
2025-06-19 14:36:23.134 [info] (ssh_tunnel) stdout: 
<14a3-473c-b93e-7a79963067bc.tar.gz)" -delete -print

2025-06-19 14:36:23.135 [info] (ssh_tunnel) stdout: >     echo "Done deleting left behind cursor servers"
> fi
Removing all existing Cursor installations

2025-06-19 14:36:23.147 [info] (ssh_tunnel) stdout: removed '/run/user/2258/cursor-remote-lock.250b54ef7bccab723c0484c84fda78fb'
removed '/run/user/2258/cursor-remote-lock.250b54ef7bccab723c0484c84fda78fb.target'

2025-06-19 14:36:23.147 [info] (ssh_tunnel) stdout: Deleting left behind cursor servers, execpt for /home/yongshuai_■■■■/.cursor-server/cursor-server-461e1891-14a3-473c-b93e-7a79963067bc.tar.gz

2025-06-19 14:36:23.150 [info] (ssh_tunnel) stdout: find: ‘/home/yongshuai_■■■■/.cursor-server’: No such file or directory

2025-06-19 14:36:23.150 [info] (ssh_tunnel) stdout: Done deleting left behind cursor servers
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:36:23.151 [info] (ssh_tunnel) stdout: unlock() {
>     lockfile=$(get_lockfile)
> 
2025-06-19 14:36:23.151 [info] (ssh_tunnel) stdout:     if [ -n "$LOCK_PID" ]; then
>         kill $LOCK_PID 2>/dev/null
>     fi
> 
2025-06-19 14:36:23.152 [info] (ssh_tunnel) stdout:     echo "Unlocking $lockfile"
>     rm -f "$lockfile"
>     rm -f "$lockfile.target"
> }
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
"yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ lock() {
> 
2025-06-19 14:36:23.152 [info] (ssh_tunnel) stdout:     lockfile=$(get_lockfile)
> 
2025-06-19 14:36:23.152 [info] (ssh_tunnel) stdout:     echo "Locking $lockfile"
>     lockAcquired=0
>     for i in {1..30}; do
> 
2025-06-19 14:36:23.152 [info] (ssh_tunnel) stdout:         if [ -f "$lockfile" ]; then
> 
2025-06-19 14:36:23.153 [info] (ssh_tunnel) stdout:             # Check if lock is stale (older than 10 seconds)
>             current_time=$(date +%s)
> 
2025-06-19 14:36:23.153 [info] (ssh_tunnel) stdout:             lock_time=$(cat "$lockfile" 2>/dev/null || echo 0)

2025-06-19 14:36:23.155 [info] (ssh_tunnel) stdout: >             if [ $((current_time - lock_time)) -gt 10 ]; then
> 
2025-06-19 14:36:23.155 [info] (ssh_tunnel) stdout:                 echo "Found stale lock, removing..."
>                 rm -f "$lockfile"
>             fi
>         fi
>         touch "$lockfile.target"
>         ln "$lockfile.target" "$lockfile"
>         if [ $? -eq 0 ]; then
>             lockAcquired=1
> 
2025-06-19 14:36:23.159 [info] (ssh_tunnel) stdout:             # Start a background process to update timestamp
>             while true; do
>                 date +%s > "$lockfile"
>                 sleep 1
>             done &
>             LOCK_PID=$!
>             break
>         fi
>         echo "Install in progress, sleeping for a bit..."
>         sleep 1
>     done
>     if [ $lockAcquired -eq 0 ]; then
> 
< 1 "Could not acquire lock after multiple attempts"

2025-06-19 14:36:23.159 [info] (ssh_tunnel) stdout: >     fi
>     trap unlock EXIT
> }
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
Nyongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ KERNEL="$(uname -s)"

2025-06-19 14:36:23.161 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:36:23.162 [info] (ssh_tunnel) stdout: case $KERNEL in
>     Darwin)
>         PLATFORM="darwin"
>         ;;
>     Linux)
>         PLATFORM="linux"
>         ;;
> 
2025-06-19 14:36:23.162 [info] (ssh_tunnel) stdout:     *)
> 
<and_exit 1 "Platform not supported: $KERNEL" "true"
>         ;;
> esac
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
 yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ ARCH="$(uname -m)"

2025-06-19 14:36:23.163 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:36:23.163 [info] (ssh_tunnel) stdout: case $ARCH in
>     x86_64 | amd64)
>         SERVER_ARCH="x64"
>         ;;
> 
2025-06-19 14:36:23.164 [info] (ssh_tunnel) stdout:     arm64 | aarch64)
>         SERVER_ARCH="arm64"
>         ;;
 >     *)
> 
2025-06-19 14:36:23.164 [info] (ssh_tunnel) stdout: 
<d_exit 1 "Architecture not supported: $ARCH" "true"
>         ;;
> esac
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
Ayongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:36:23.164 [info] (ssh_tunnel) stdout: 
<ase 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')"

2025-06-19 14:36:23.169 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ if [[ -z $OS_RELEASE_ID ]]; then
> 
2025-06-19 14:36:23.169 [info] (ssh_tunnel) stdout: 
<ase 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')"
>     if [[ -z $OS_RELEASE_ID ]]; then
>         OS_RELEASE_ID="unknown"
>     fi

2025-06-19 14:36:23.175 [info] (ssh_tunnel) stdout: > fi
intyongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
_yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ # Create installation folder
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ mkdir -p $SERVER_DIR

2025-06-19 14:36:23.175 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ if (( $? > 0 )); then
> 
<rror creating server install directory $SERVER_DIR"
> fi
yyongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
syongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<alpine (musl-libc based binary) download, if needed
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<S-4802112:~$ if [[ $OS_RELEASE_ID = alpine ]]; then
>     PLATFORM=$OS_RELEASE_ID
> fi
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<m}/$PLATFORM/g" | sed "s/\${arch}/$SERVER_ARCH/g")"

2025-06-19 14:36:23.178 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ lock

2025-06-19 14:36:23.182 [info] (ssh_tunnel) stdout: Locking /run/user/2258/cursor-remote-lock.250b54ef7bccab723c0484c84fda78fb

2025-06-19 14:36:23.185 [info] (ssh_tunnel) stdout: [1] 740182
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:36:23.185 [info] (ssh_tunnel) stdout: 
<12:~$ # Check if server script is already installed
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:36:23.186 [info] (ssh_tunnel) stdout: 
<-4802112:~$ if [[ ! -f $CODE_SERVER_SCRIPT ]]; then
> 
2025-06-19 14:36:23.186 [info] (ssh_tunnel) stdout:     pushd $SERVER_DIR > /dev/null
> 
<server-1dbfb6d1-5ff1-4266-aab1-1d73866a19e4.tar.gz"
> 
2025-06-19 14:36:23.187 [info] (ssh_tunnel) stdout: 
<1e1891-14a3-473c-b93e-7a79963067bc.tar.gz" ]]; then
> 
2025-06-19 14:36:23.187 [info] (ssh_tunnel) stdout: 
<79963067bc.tar.gz, using it instead of downloading"
> 
2025-06-19 14:36:23.188 [info] (ssh_tunnel) stdout: 
<4a3-473c-b93e-7a79963067bc.tar.gz" $RANDOM_FILENAME
>     else
> 
2025-06-19 14:36:23.188 [info] (ssh_tunnel) stdout:         if [[ 'false' == 'true' ]]; then
> 
<a79963067bc.tar.gz, and local download is disabled"

2025-06-19 14:36:23.189 [info] (ssh_tunnel) stdout: > 
2025-06-19 14:36:23.190 [info] (ssh_tunnel) stdout: 
<ed: Failed to copy server from local client" "true"
>         fi
> 
2025-06-19 14:36:23.190 [info] (ssh_tunnel) stdout:         if [[ ! -z $(which wget) ]]; then
> 
<wget from $SERVER_DOWNLOAD_URL to $RANDOM_FILENAME"
> 
<ogress=dot -O $RANDOM_FILENAME $SERVER_DOWNLOAD_URL
>         elif [[ ! -z $(which curl) ]]; then

2025-06-19 14:36:23.190 [info] (ssh_tunnel) stdout: > 
2025-06-19 14:36:23.191 [info] (ssh_tunnel) stdout: 
<curl from $SERVER_DOWNLOAD_URL to $RANDOM_FILENAME"

2025-06-19 14:36:23.191 [info] (ssh_tunnel) stdout: > 
<-bar --output $RANDOM_FILENAME $SERVER_DOWNLOAD_URL

2025-06-19 14:36:23.191 [info] (ssh_tunnel) stdout: >         else
> 
2025-06-19 14:36:23.192 [info] (ssh_tunnel) stdout: 
< server binary. Please install wget or curl" "true"
>         fi
>         if (( $? > 0 )); then

2025-06-19 14:36:23.192 [info] (ssh_tunnel) stdout: > 
2025-06-19 14:36:23.192 [info] (ssh_tunnel) stdout:             if [[ "$OS_RELEASE_ID" == 'alpine' && 'false' = 'true' ]]; then
> 
2025-06-19 14:36:23.193 [info] (ssh_tunnel) stdout: 
<y fails, and we know that the version is pre-Alpine
> 
2025-06-19 14:36:23.193 [info] (ssh_tunnel) stdout: 
< download to fail if it actually would have worked!
> 
2025-06-19 14:36:23.194 [info] (ssh_tunnel) stdout: 
<n to connect to Alpine-based remote servers" "true"
>             fi
> 
2025-06-19 14:36:23.195 [info] (ssh_tunnel) stdout: 
<wnloading server from $SERVER_DOWNLOAD_URL" "false"
>         fi
>     fi
> 
2025-06-19 14:36:23.195 [info] (ssh_tunnel) stdout:     tar -xf $RANDOM_FILENAME --strip-components 1
>     if (( $? > 0 )); then
> 
2025-06-19 14:36:23.195 [info] (ssh_tunnel) stdout: 
<ract server contents from $RANDOM_FILENAME" "false"

2025-06-19 14:36:23.196 [info] (ssh_tunnel) stdout: >     fi
>     if [[ ! -f $CODE_SERVER_SCRIPT ]]; then
> 
2025-06-19 14:36:23.196 [info] (ssh_tunnel) stdout: 
<ct code server script: $CODE_SERVER_SCRIPT" "false"

2025-06-19 14:36:23.197 [info] (ssh_tunnel) stdout: >     fi
>     rm -f $RANDOM_FILENAME
>     popd > /dev/null
> else
> 
2025-06-19 14:36:23.198 [info] (ssh_tunnel) stdout:     echo "Server script already installed in $CODE_SERVER_SCRIPT"

2025-06-19 14:36:23.198 [info] (ssh_tunnel) stdout: > fi

2025-06-19 14:36:23.199 [info] (ssh_tunnel) stdout: Downloading server via wget from https://cursor.blob.core.windows.net/remote-releases/979ba33804ac150108481c14e0b5cb970bda3260/vscode-reh-linux-x64.tar.gz to cursor-server-1dbfb6d1-5ff1-4266-aab1-1d73866a19e4.tar.gz

2025-06-19 14:36:23.204 [info] (ssh_tunnel) stdout: --2025-06-19 14:36:23--  https://cursor.blob.core.windows.net/remote-releases/979ba33804ac150108481c14e0b5cb970bda3260/vscode-reh-linux-x64.tar.gz

2025-06-19 14:36:23.207 [info] (ssh_tunnel) stdout: Resolving cursor.blob.core.windows.net (cursor.blob.core.windows.net)... 
2025-06-19 14:36:23.283 [info] (ssh_tunnel) stdout: 20.209.35.129
Connecting to cursor.blob.core.windows.net (cursor.blob.core.windows.net)|20.209.35.129|:443... 
2025-06-19 14:36:23.461 [info] (ssh_tunnel) stdout: connected.

2025-06-19 14:36:23.839 [info] (ssh_tunnel) stdout: HTTP request sent, awaiting response... 
2025-06-19 14:36:24.214 [info] (ssh_tunnel) stdout: 200 OK
Length: 68421323 (65M) [application/x-tar]
Saving to: ‘cursor-server-1dbfb6d1-5ff1-4266-aab1-1d73866a19e4.tar.gz’

2025-06-19 14:36:24.215 [info] (ssh_tunnel) stdout: 
     0K .......... .....
2025-06-19 14:36:24.393 [info] (ssh_tunnel) stdout: ..... .......... .......... .......
2025-06-19 14:36:24.574 [info] (ssh_tunnel) stdout: ...  0%  139K 8m1s
    50K .......... .......... .......... .......... ...


part 2 logs:


5-06-19 14:50:55.203 [info] (ssh_tunnel) stdout: ...... .......... 99% 50.0K 0s
2025-06-19 14:50:55.204 [info] (ssh_tunnel) stdout: 
 66800K .......... ......
2025-06-19 14:50:55.438 [info] (ssh_tunnel) stdout: .                                    100% 30.9K=14m31s

2025-06-19 14:50:55 (76.7 KB/s) - ‘cursor-server-1dbfb6d1-5ff1-4266-aab1-1d73866a19e4.tar.gz’ saved [68421323/68421323]


2025-06-19 14:50:56.525 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ echo "Checking node executable"
Checking node executable
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
2025-06-19 14:50:56.539 [info] (ssh_tunnel) stdout: 
<112:~$ if ! $SERVER_NODE_EXECUTABLE --version; then
> 
<DE_EXECUTABLE is not working, checking system node"
>     SYSTEM_NODE=$(which node)
>     if [[ -n "$SYSTEM_NODE" ]]; then
>         echo "System node version: $($SYSTEM_NODE --version)"
> 
<(parseInt(process.version.slice(1)) >= 20 ? 0 : 1)"
>         if [[ $? -eq 0 ]]; then
>             echo "System node version is 20 or higher, creating symlink"
>             ln -sf $SYSTEM_NODE $SERVER_NODE_EXECUTABLE
> 
<mlink from $SERVER_NODE_EXECUTABLE to $SYSTEM_NODE"
>         else
> 
<l NodeJS 20 or higher on your remote system" "true"
>         fi
>     else
> 
<l NodeJS 20 or higher on your remote system" "true"
>     fi
> fi
v20.18.2
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ # Clean up stale builds
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<ITS=$(ls -1 -t "$SERVER_DATA_DIR/bin" | tail -n +6)
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ for OLD_COMMIT in $OLD_COMMITS; do
> 
<_COMMIT | grep -v grep | wc -l | tr -d '[:space:]'`
>     if [[ $IS_RUNNING -eq 0 ]]; then
>         echo "Cleaning up stale build $OLD_COMMIT"
>         if [[ "$OLD_COMMIT" != "$SERVER_COMMIT" ]]; then
> 
</bin/$OLD_COMMIT" "$SERVER_DATA_DIR/.$OLD_COMMIT.*"
>         fi
>     else
>         echo "Build $OLD_COMMIT is still running, skipping"
>     fi
> done
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
Iyongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<02112:~$ # Try to find if server is already running
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<running multiplex server: $MULTIPLEX_SERVER_SCRIPT"
Checking for running multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<2112:~$ if [[ -f $MULTIPLEX_SERVER_PIDFILE ]]; then
>     MULTIPLEX_SERVER_PID="$(cat $MULTIPLEX_SERVER_PIDFILE)"
> 
<TIPLEX_SERVER_PID | grep $MULTIPLEX_SERVER_SCRIPT)"
> else
> 
<-A | grep $MULTIPLEX_SERVER_SCRIPT | grep -v grep)"
> fi

2025-06-19 14:50:56.605 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<ultiplex server: $MULTIPLEX_SERVER_RUNNING_PROCESS"
Running multiplex server: 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
hyongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<OGFILE || ! -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
>     if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
>         rm $MULTIPLEX_SERVER_LOGFILE
>     fi
> 
2025-06-19 14:50:56.612 [info] (ssh_tunnel) stdout:     if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
>         rm $MULTIPLEX_SERVER_TOKENFILE
>     fi
> 
>     touch $MULTIPLEX_SERVER_TOKENFILE
>     chmod 600 $MULTIPLEX_SERVER_TOKENFILE
> 
<ECTION_TOKEN="798f093c-0069-499c-8047-44db0a04bf4d"
>     echo $MULTIPLEX_SERVER_CONNECTION_TOKEN > $MULTIPLEX_SERVER_TOKENFILE
> 
V> 
<e manually inject it into the extension host later.
> 
<s from being used across ALL connections by default
> 
1>     # Backing it up, NOT exporting it
>     if [[ -n "$SSH_AUTH_SOCK" ]]; then
>         ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
>         unset SSH_AUTH_SOCK
>     fi
> 
x> 
<tiplex server: $(dirname $MULTIPLEX_SERVER_SCRIPT)"
>     mkdir -p $(dirname "$MULTIPLEX_SERVER_SCRIPT")
>     echo "Writing multiplex server script to $MULTIPLEX_SERVER_SCRIPT"
> 
2025-06-19 14:50:56.706 [info] (ssh_tunnel) stdout: 
<dev/null || base64 -D) > "$MULTIPLEX_SERVER_SCRIPT"
> 
n> 
2025-06-19 14:50:56.706 [info] (ssh_tunnel) stdout: 
<X_SERVER_SCRIPT $MULTIPLEX_SERVER_CONNECTION_TOKEN"

2025-06-19 14:50:56.719 [info] (ssh_tunnel) stdout: > 
<R_CONNECTION_TOKEN"  &> $MULTIPLEX_SERVER_LOGFILE &
>     echo $! > $MULTIPLEX_SERVER_PIDFILE
> 
>     # Restoring the original SSH_AUTH_SOCK
>     if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
>         export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
>         unset ORIGINAL_SSH_AUTH_SOCK
>     fi
> else
> 
<ng processes are $MULTIPLEX_SERVER_RUNNING_PROCESS"
> fi
Creating directory for multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server
Writing multiplex server script to /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js
Starting multiplex server: /home/yongshuai_■■■■/.cursor-server/bin/979ba33804ac150108481c14e0b5cb970bda3260/node /home/yongshuai_■■■■/.cursor-server/bin/multiplex-server/6f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.js 798f093c-0069-499c-8047-44db0a04bf4d
[2] 751451
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<plex server token file $MULTIPLEX_SERVER_TOKENFILE"
Reading multiplex server token file /home/yongshuai_■■■■/.cursor-server/.979ba33804ac150108481c14e0b5cb970bda32606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.token
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<12:~$ if [[ -f $MULTIPLEX_SERVER_TOKENFILE ]]; then
>     echo "Multiplex server token file found"
>     MULTIPLEX_SERVER_CONNECTION_TOKEN="$(cat $MULTIPLEX_SERVER_TOKENFILE)"
> else
> 
< token file not found: $MULTIPLEX_SERVER_TOKENFILE"
> fi
Multiplex server token file found
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<ultiplex server log file $MULTIPLEX_SERVER_LOGFILE"
Reading multiplex server log file /home/yongshuai_■■■■/.cursor-server/.979ba33804ac150108481c14e0b5cb970bda32606f1b3e4b3170f5c7e88d1a15ae5c80182a74799f35540e2d611693e0d8ecb19f.multiplex.log
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ for i in {1..20}; do
>     if [[ -f $MULTIPLEX_SERVER_LOGFILE ]]; then
> 
<listening on .+' | sed 's/Server listening on //')"
>         if [[ -n "$MULTIPLEX_LISTENING_ON" ]]; then
>             break
>         fi
>     fi
>     sleep 0.5
> done

2025-06-19 14:50:57.331 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<2112:~$ if [[ -z "$MULTIPLEX_LISTENING_ON" ]]; then
>     echo "Error multiplex server did not start successfully"
>     # Reading the logfile, to help with debugging
>     cat $MULTIPLEX_SERVER_LOGFILE || true
> 
<xit 1 "Multiplex server did not start successfully"
> fi
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ echo "Checking for code servers"
Checking for code servers
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<S-4802112:~$ if [[ -f $CODE_SERVER_PIDFILE ]]; then
>     CODE_SERVER_PID="$(cat $CODE_SERVER_PIDFILE)"
> 
<ep -w $CODE_SERVER_PID | grep $CODE_SERVER_SCRIPT)"
> else
> 
<args -A | grep $CODE_SERVER_SCRIPT | grep -v grep)"
> fi
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<les exists; otherwise we need to start a new server
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<VER_TOKENFILE || ! -f $CODE_SERVER_LOGFILE ]]; then
>     echo "Code server script is not running"
>     if [[ -f $CODE_SERVER_LOGFILE ]]; then
>         rm $CODE_SERVER_LOGFILE
>     fi
>     if [[ -f $CODE_SERVER_TOKENFILE ]]; then
>         rm $CODE_SERVER_TOKENFILE
>     fi
> 
>     touch $CODE_SERVER_TOKENFILE
>     chmod 600 $CODE_SERVER_TOKENFILE
>     CODE_SERVER_CONNECTION_TOKEN="f9823edc-1d39-4103-9237-7572b81d3c53"
>     echo $CODE_SERVER_CONNECTION_TOKEN > $CODE_SERVER_TOKENFILE
> 
> 
<e manually inject it into the extension host later.
> 
<s from being used across ALL connections by default
> 
>     # Backing it up, NOT exporting it
>     if [[ -n "$SSH_AUTH_SOCK" ]]; then
>         ORIGINAL_SSH_AUTH_SOCK=$SSH_AUTH_SOCK
>         unset SSH_AUTH_SOCK
>     fi
> 
> 
<ept-server-license-terms &> $CODE_SERVER_LOGFILE &"
> 
> 
<cept-server-license-terms &> $CODE_SERVER_LOGFILE &
>     echo $! > $CODE_SERVER_PIDFILE
> 
>     # Restoring the original SSH_AUTH_SOCK
>     if [[ -n "$ORIGINAL_SSH_AUTH_SOCK" ]]; then
>         export SSH_AUTH_SOCK=$ORIGINAL_SSH_AUTH_SOCK
>         unset ORIGINAL_SSH_AUTH_SOCK
>     fi
> else
> 
<Running processes are $CODE_SERVER_RUNNING_PROCESS"
> fi
Code server script is not running
Starting code server script /home/yongshuai_■■■■/.cursor-server/bin/979ba33804ac150108481c14e0b5cb970bda3260/bin/cursor-server --start-server --host=127.0.0.1 --port 0  --connection-token-file /home/yongshuai_■■■■/.cursor-server/.979ba33804ac150108481c14e0b5cb970bda3260.code.token --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms &> /home/yongshuai_■■■■/.cursor-server/.979ba33804ac150108481c14e0b5cb970bda3260.code.log &
[3] 751481
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<4802112:~$ if [[ -f $CODE_SERVER_TOKENFILE ]]; then
>     CODE_SERVER_CONNECTION_TOKEN="$(cat $CODE_SERVER_TOKENFILE)"
> else
> 
<erver token file not found: $CODE_SERVER_TOKENFILE"
> fi
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ for i in {1..20}; do
>     if [[ -f $CODE_SERVER_LOGFILE ]]; then
> 
<+' | sed 's/Extension host agent listening on //')"
>         if [[ -n "$CODE_LISTENING_ON" ]]; then
>             break
>         fi
>     fi
>     sleep 0.5
> done

2025-06-19 14:50:57.765 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ 
<S-4802112:~$ if [[ -z "$CODE_LISTENING_ON" ]]; then

2025-06-19 14:50:57.765 [info] (ssh_tunnel) stdout: >     echo "Error code server did not start successfully"
>     # Reading the logfile, to help with debugging
>     cat $CODE_SERVER_LOGFILE || true
> 
< 1 "Code server did not start successfully" "false"
> fi

2025-06-19 14:50:57.773 [info] (ssh_tunnel) stdout: yongshuai_■■■■@ubuntu-GPU-L40S-4802112:~$ print_install_results_and_wait


Anybody can help me!!! THKs

Hi @HPUedCSLearner – it still looks like the logs are getting malformed. They should look something like this: https://forum.cursor.com/uploads/short-url/zqytJjlK77AOVrHR1fli6vNV8w3.txt

It’s possible that something is intercepting the bash commands, which is preventing the server from starting.