gdkrmr / lsp-julia

MIT License
70 stars 19 forks source link

Language Server crashing #17

Closed fleimgruber closed 4 years ago

fleimgruber commented 4 years ago

Julia version is 1.2. Installed Language Server and set lsp-julia-default-environment to that environment. On visiting a .jl buffer, I get the following in the *julia-ls::stderr* where my hunch is that the problem has to do with SymbolServer:

[ Info: Started symbol server
ERROR: EOFError: read end of file

stderr from client process:

ERROR: LoadError: MethodError: no method matching namemap(::Type{MathOptInterface.ActivationCondition})
The applicable method may be too new: running in world age 26094, while current world is 26109.
Closest candidates are:
  namemap(::Type{MathOptInterface.ActivationCondition}) at Enums.jl:189 (method too new to be called from this world context.)
  namemap(!Matched::Type{Base.MPFR.MPFRRoundingMode}) at Enums.jl:189
  namemap(!Matched::Type{LibGit2.Consts.OBJECT}) at Enums.jl:189
  ...
Stacktrace:
 [1] Symbol(::MathOptInterface.ActivationCondition) at ./Enums.jl:26
 [2] show(::Base.GenericIOBuffer{Array{UInt8,1}}, ::MathOptInterface.ActivationCondition) at ./Enums.jl:31
 [3] show_datatype(::Base.GenericIOBuffer{Array{UInt8,1}}, ::DataType) at ./show.jl:547
 [4] show(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Type) at ./show.jl:428
 [5] show_datatype(::Base.GenericIOBuffer{Array{UInt8,1}}, ::DataType) at ./show.jl:547
 [6] show(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Type) at ./show.jl:428
 [7] print(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Type) at ./strings/io.jl:37
 [8] print_to_string(::Type) at ./strings/io.jl:129
 [9] string(::Type) at ./strings/io.jl:168
 [10] _broadcast_getindex_evalf at ./broadcast.jl:625 [inlined]
 [11] _broadcast_getindex at ./broadcast.jl:598 [inlined]
 [12] getindex at ./broadcast.jl:558 [inlined]
 [13] copyto_nonleaf!(::Array{String,1}, ::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(string),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}}, ::Base.OneTo{Int64}, ::Int64, ::Int64) at ./broadcast.jl:982
 [14] copy at ./broadcast.jl:836 [inlined]
 [15] materialize at ./broadcast.jl:798 [inlined]
 [16] get_module_names(::Module, ::Main.SymbolServer.PackageID, ::Dict{String,Any}, ::Main.SymbolServer.ModuleStore, ::Pkg.Types.Context) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/from_static_lint.jl:159
 [17] get_module_names(::Module, ::Main.SymbolServer.PackageID, ::Dict{String,Any}, ::Main.SymbolServer.ModuleStore, ::Pkg.Types.Context) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/from_static_lint.jl:170 (repeats 2 times)
 [18] import_package_names(::Main.SymbolServer.PackageID, ::Dict{String,Any}, ::Pkg.Types.Context, ::Module) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/from_static_lint.jl:129
 [19] get_module_names(::Module, ::Main.SymbolServer.PackageID, ::Dict{String,Any}, ::Main.SymbolServer.ModuleStore, ::Pkg.Types.Context) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/from_static_lint.jl:183
 [20] get_module_names(::Module, ::Main.SymbolServer.PackageID, ::Dict{String,Any}, ::Main.SymbolServer.ModuleStore, ::Pkg.Types.Context) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/from_static_lint.jl:170
 [21] import_package_names(::Main.SymbolServer.PackageID, ::Dict{String,Any}, ::Pkg.Types.Context, ::Nothing) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/from_static_lint.jl:129
 [22] import_package_names(::Main.SymbolServer.PackageID, ::Dict{String,Any}, ::Pkg.Types.Context) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/from_static_lint.jl:107
 [23] top-level scope at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/clientprocess_main.jl:34
 [24] include at ./boot.jl:328 [inlined]
 [25] include_relative(::Module, ::String) at ./loading.jl:1094
 [26] include(::Module, ::String) at ./Base.jl:31
 [27] exec_options(::Base.JLOptions) at ./client.jl:295
 [28] _start() at ./client.jl:464
in expression starting at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/clientprocess/clientprocess_main.jl:18

Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] request(::SymbolServerProcess, ::Symbol, ::Tuple{String,String}) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:53
 [3] load_package(::SymbolServerProcess, ::SymbolServer.PackageID) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:157
 [4] safe_load_store(::SymbolServer.PackageID, ::SymbolServerProcess, ::Bool) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:111
 [5] safe_load_store at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:92 [inlined]
 [6] getstore(::SymbolServerProcess) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:138
 [7] run(::LanguageServerInstance) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/LanguageServer/src/languageserverinstance.jl:35
 [8] top-level scope at none:1
caused by [exception 2]
EOFError: read end of file
Stacktrace:
 [1] read at ./iobuffer.jl:212 [inlined]
 [2] read(::Base.PipeEndpoint, ::Type{UInt8}) at ./stream.jl:856
 [3] read(::Base.Process, ::Type{UInt8}) at ./io.jl:242
 [4] deserialize at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.2/Serialization/src/Serialization.jl:722 [inlined]
 [5] deserialize(::Base.Process) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.2/Serialization/src/Serialization.jl:709
 [6] request(::SymbolServerProcess, ::Symbol, ::Tuple{String,String}) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:45
 [7] load_package(::SymbolServerProcess, ::SymbolServer.PackageID) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:157
 [8] safe_load_store(::SymbolServer.PackageID, ::SymbolServerProcess, ::Bool) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:111
 [9] safe_load_store at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:92 [inlined]
 [10] getstore(::SymbolServerProcess) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:138
 [11] run(::LanguageServerInstance) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/LanguageServer/src/languageserverinstance.jl:35
 [12] top-level scope at none:1
caused by [exception 1]
SystemError: opening file "/Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/store/4076af6c-e467-56ae-b986-b466b2749572.jstore": No such file or directory
Stacktrace:
 [1] #systemerror#44(::Nothing, ::typeof(systemerror), ::String, ::Bool) at ./error.jl:134
 [2] systemerror at ./error.jl:134 [inlined]
 [3] #open#311(::Nothing, ::Nothing, ::Nothing, ::Nothing, ::Nothing, ::typeof(open), ::String) at ./iostream.jl:289
 [4] open at ./iostream.jl:281 [inlined]
 [5] load_store_from_disc(::String) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:76
 [6] safe_load_store(::SymbolServer.PackageID, ::SymbolServerProcess, ::Bool) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:94
 [7] safe_load_store at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:92 [inlined]
 [8] getstore(::SymbolServerProcess) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/SymbolServer/src/SymbolServer.jl:138
 [9] run(::LanguageServerInstance) at /Users/user/.emacs.d/elpa/26.3/develop/lsp-julia-20191011.1203/languageserver/LanguageServer/src/languageserverinstance.jl:35
 [10] top-level scope at none:1

Process julia-ls stderr finished
fleimgruber commented 4 years ago

After some thought, should I report this upstream? Please let me know whether you think this does not have to do with lsp-julia itself.

non-Jedi commented 4 years ago

There appears to be an identical error filed at https://github.com/julia-vscode/julia-vscode/issues/850. Something specific to MathOptInterface perhaps. I'm going to go ahead and close this one in favor of the julia-vscode issue.

fleimgruber commented 4 years ago

The actual fix for this seems to be https://github.com/julia-vscode/SymbolServer.jl/pull/64. It would be nice if the next update of LanguageServer (shipped with lsp-julia) would include that change, i.e. probably the next release after 1.0.0.