julia-vscode / LanguageServer.jl

An implementation of the Microsoft Language Server Protocol for the Julia language.
Other
370 stars 81 forks source link

Language server hangs on specific package #745

Open ghyatzo opened 4 years ago

ghyatzo commented 4 years ago

Hi,

I am encountering issues while working in VSCode using the package Reduce.jl. The language server indexes perfectly all the other packages but hangs on this one and really hogs down on the cpu.

I understand this is most probably a package specific issue, but in the mean time, is there a way to stop the language server or black list a specific package from the indexing? From the docs i couldn't really find an answer to this.

Thanks!

non-Jedi commented 4 years ago

I can't answer your question on workarounds, but this sounds very similar to #630. Could you try using the "insider" channel for the vscode extension and see if you can get a stacktrace (the insider channel's language server will throw an error if certain loops run more iterations than is reasonable)?

ghyatzo commented 4 years ago

Not really handy with VSCode yet, how do i access such insider channel?

non-Jedi commented 4 years ago

See https://discourse.julialang.org/t/new-vs-code-extension-pre-release/35192

ghyatzo commented 4 years ago

I switched versions, run again, I am not seeing any stacktrace in the VS exstension log (is there that i should check?) albeit the language is still stuck on indexing Reduce.jl

the Julia Language Server.log says the following:

[ Info: Starting the Julia Language Server
[ Info: Symbol server store is at '/Users/ghyatzo/Library/Application Support/Code/User/globalStorage/julialang.language-julia-insider/symbolstorev2'.
[ Info: Indexing CSV...

this is strange as well, as it already indexed many other packages already.

EDIT: maybe this panel can help from the process explorer:

Schermata 2020-06-09 alle 15 59 27

Just after the line with 100% CPU there is a reduce process started by the language server. What is strange to me is that reduce is an external program written in C/C++ as Reduce.jl is only a wrapper for it. I don't know if this can shed some light on the matter.

Octogonapus commented 3 years ago

I am experiencing a similar issue with an internal package. I see "Indexing <package>..." and it seems like the language server gets stuck. I reproduced the problem using vscode insiders, but there is no stacktrace in the "Julia Language Server" output nor the "Julia Language Server trace" output. The extension appears to not have any CPU usage when it hangs.