Julia vscode with remote-ssh ENAMETOOLONG

Trying to use julia vscode extension with remote-ssh I get

ERROR: LoadError: IOError: connect: name too long (ENAMETOOLONG)
Stacktrace:
 [1] wait_connected(x::Base.PipeEndpoint)
   @ Sockets /usr/local/apps/julia/1.10.0/share/julia/stdlib/v1.10/Sockets/src/Sockets.jl:528
 [2] connect
   @ /usr/local/apps/julia/1.10.0/share/julia/stdlib/v1.10/Sockets/src/Sockets.jl:563 [inlined]
 [3] connect
   @ /usr/local/apps/julia/1.10.0/share/julia/stdlib/v1.10/Sockets/src/PipeServer.jl:103 [inlined]
 [4] serve(args::String; is_dev::Bool, crashreporting_pipename::String)
   @ VSCodeServer ~/.vscode-server/extensions/julialang.language-julia-1.79.2/scripts/packages/VSCodeServer/src/VSCodeServer.jl:113
 [5] top-level scope
   @ ~/.vscode-server/extensions/julialang.language-julia-1.79.2/scripts/terminalserver/terminalserver.jl:47
in expression starting at /home/fars/.vscode-server/extensions/julialang.language-julia-1.79.2/scripts/terminalserver/terminalserver.jl:20

ERROR: LoadError: IOError: connect: name too long (ENAMETOOLONG)

Adding a println.(args) on line 22 of terminalserver.jl gives

/etc/ecmwf/ssd/ssd1/tmpdirs/user.3371913.20240620_152946.442/vsc-jl-repl-a7fed03e-0383-4fb5-b056-9c5c339082d7
/etc/ecmwf/ssd/ssd1/tmpdirs/user.3371913.20240620_152946.442/vsc-jl-cr-5424b91d-00cd-4175-937b-87c0ac093867
USE_REVISE=true
USE_PLOTPANE=true
USE_PROGRESS=true
ENABLE_SHELL_INTEGRATION=true
DEBUG_MODE=false

The first one is used as the socket and is 110 characters which is indeed too long (e.g. remark in PipeServer.jl)

Is there any workaround or way to control the name that the vscode extensions uses for these socket?

There is not. I don’t think there’s any real making the name user-controllable – there are only two constraints for it after all: being valid (i.e. short enough) and being unique.

Thanks for creating the issue!
If others run into this. If the path is just a few characters to long you can

cd ~/.vscode-server/extensions/julialang.language-julia-1.79.2/dist
sed -i 's/vsc-jl-repl/v/g' extension.js
sed -i 's/vsc-jl-repl/v/g' extension.js.map

@grunst thanks, this hack finally allowed me to open a Julia REPL :upside_down_face:

FWIW, I had the same issue and used the same hack with the client-side extension in ~/.vscode/.

Hi, i’m stuck for Julia REPL does work properly in VCS, it gives me this error, and then it does not run my script.

I tried the work around proposed by @grunst, but for some reason it is not working.

Any ideas what might be new in the latest release?

ERROR: LoadError: IOError: connect: name too long (ENAMETOOLONG)
Stacktrace:
 [1] wait_connected(x::Base.PipeEndpoint)
   @ Sockets ~/.julia/juliaup/julia-1.12.1+0.aarch64.apple.darwin14/share/julia/stdlib/v1.12/Sockets/src/Sockets.jl:544