julia-vscode / julia-vscode

Julia extension for Visual Studio Code
https://www.julia-vscode.org/
Other
1.28k stars 205 forks source link

Julia Language Support Extension Crashes with Server Initialization Failed #3664

Open AndyAndDevid opened 3 months ago

AndyAndDevid commented 3 months ago

The Julia Language Support extension for Visual Studio Code crashes with the following output. The server initialization fails, and the Julia Language Server crashes multiple times, eventually stopping with the message that it will not be restarted.

Error Output:

[Error - 10:26:34 PM] Server initialization failed. Message: Pending response rejected since connection got disposed Code: -32097 [Error - 10:26:34 PM] The Julia Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted. See the output for more information. [Error - 10:26:34 PM] Julia Language Server client: couldn't create connection to server. Message: Pending response rejected since connection got disposed Code: -32097 [Error - 10:26:34 PM] Restarting server failed Message: Pending response rejected since connection got disposed Code: -32097 [Error - 10:26:34 PM] Server process exited with code 1.

Julia: v1.10.4 & v1.9.2 VSC: 1.92.0 No issue with VSC: 1.91.0 JLS: v1.105.2

protogeezer commented 3 months ago

I've been experiencing similar behavior. More precisely, the same behavior on julia 1.10.4+ and 1.11 rc 1/2 with vscode 1.9.2 on Kubuntu and macOS. In addition, many times rather than the crash during startup, the debugger hangs after stopping at a few breakpoints, but when the task is exited (with the red square button in the toolbar), a crash ensues.

Finally, I've determined that with VSC 1.9.2 all julia extensions after 1.83.2 exhibit this same behavior.

If there is anything I/we can do to help narrow this down, please explain what we can do.

mipals commented 3 months ago

I am having a similar issue on macOS using VSC 1.9.2.

Yue-Wang-qvp commented 2 weeks ago

same issue on Win11, VSC 1.95.2 and julia extension 1.127.2, but the long-terms support version of julia 1.10.6 works well

protogeezer commented 1 week ago

My condolences. I’m sorry about the late response. I did make some progress - perhaps this will help you.

I found a reference to a new debugging atom(?) called “ALL_MODULES_EXCEPT_MAIN” in an old email chain. It wasn’t super well documented so it took a while to figure out how to apply it to one of my projects.

My project settings looked like this when the julia debugger support started crashing (I believe around 1.86.+). I have no idea where those settings came from - I don’t recall adding them.

"settings": { … <- deleted settings "julia.debuggerDefaultCompiled": [ "Base.", "-Base.!", "-Base.|>", "-Base.all", "-Base.all!", "-Base.any", "-Base.any!", "-Base.cd", "-Base.iterate", "-Base.collect", "-Base.collect_similar", "-Base._collect", "-Base.collect_to!", "-Base.collect_to_with_first!", "-Base.filter", "-Base.filter!", "-Base.foreach", "-Base.findall", "-Base.findfirst", "-Base.findlast", "-Base.findnext", "-Base.findprev", "-Base.Generator", "-Base.map", "-Base.map!", "-Base.maximum!", "-Base.minimum!", "-Base.mktemp", "-Base.mktempdir", "-Base.open", "-Base.prod!", "-Base.redirect_stderr", "-Base.redirect_stdin", "-Base.redirect_stdout", "-Base.reenable_sigint", "-Base.setindex!", "-Base.setprecision", "-Base.setrounding", "-Base.show", "-Base.sprint", "-Base.sum", "-Base.sum!", "-Base.task_local_storage", "-Base.timedwait", "-Base.withenv", "-Base.Broadcast", "Core", "Core.Compiler.", "Core.IR", "Core.Intrinsics", "DelimitedFiles", "Distributed", "LinearAlgebra.", "Serialization", "Statistics", "-Statistics.mean", "SparseArrays", "Mmap" ] }

The julia debugger started working when the default compiled settings were replaced with:

"settings": { … "julia.debuggerDefaultCompiled": [ "ALL_MODULES_EXCEPT_MAIN", "-Tetra" ], ... }

What the notation means is literally that ALL_MODULES are compiled except my MAIN module AND a module that I was debugging called Tetra.

There is some discussion in the julia for vscode email about what the various extra symbols mean when attached to a module name.

I haven’t used Julia in a while so I haven’t looked to see if ALL_MODULES… is still the correct way to declare what is compiled or not. The last version I successfully used was 1.124.2.

I can try retracing my searches to find the email that tipped my off if that would be helpful. I also haven’t tried finding the most recent official julia vscode plugin documentation either. That might be a good place to start...

Please let me know what you find!

Stephen


On Nov 9, 2024, at 5:28 PM, Yue-Wang-qvp @.***> wrote:

same issue on Win11, VSC 1.95.2 and julia extension 1.127.2, but the long-terms support version of julia 1.10.6 works well

— Reply to this email directly, view it on GitHub https://github.com/julia-vscode/julia-vscode/issues/3664#issuecomment-2466523441, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJLZFU7HMWLW25EVO5ZZWDZ72SBDAVCNFSM6AAAAABMBBGZNOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRWGUZDGNBUGE. You are receiving this because you commented.