LanguageServer.jl
LanguageServer.jl copied to clipboard
Crash when using LS with ONNX.jl package
Hi,
I think there is a bug in LanguageServer. When I open ONNX.jl I got this error:
┌ Error: Some Julia code in the VS Code extension crashed
└ @ Main ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/error_handler.jl:15
ERROR: MethodError: no method matching scopehasbinding(::StaticLint.Scope, ::Nothing)
Closest candidates are:
scopehasbinding(::StaticLint.Scope, !Matched::String) at ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/scope.jl:57
Stacktrace:
[1] resolve_getfield(x::CSTParser.EXPR, parent_type::CSTParser.EXPR, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/references.jl:206
[2] resolve_getfield(x::CSTParser.EXPR, b::StaticLint.Binding, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/references.jl:224
[3] resolve_getfield(x::CSTParser.EXPR, scope::StaticLint.Scope, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/references.jl:193
[4] resolve_ref(x::CSTParser.EXPR, scope::StaticLint.Scope, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/references.jl:51
[5] resolve_ref(x::CSTParser.EXPR, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/references.jl:23
[6] (::StaticLint.Delayed)(x::CSTParser.EXPR)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:116
[7] traverse(x::CSTParser.EXPR, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:225
[8] (::StaticLint.Delayed)(x::CSTParser.EXPR)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:119
[9] traverse(x::CSTParser.EXPR, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:225
[10] (::StaticLint.Delayed)(x::CSTParser.EXPR)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:119
[11] traverse(x::CSTParser.EXPR, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:225
[12] (::StaticLint.Delayed)(x::CSTParser.EXPR)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:119
[13] traverse(x::CSTParser.EXPR, state::StaticLint.Delayed)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:225
[14] semantic_pass(file::LanguageServer.Document, modified_expr::Nothing)
@ StaticLint ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:177
[15] semantic_pass
@ ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/StaticLint/src/StaticLint.jl:170 [inlined]
[16] parse_all(doc::LanguageServer.Document, server::LanguageServerInstance)
@ LanguageServer ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/LanguageServer/src/requests/textdocument.jl:122
[17] textDocument_didOpen_notification(params::LanguageServer.DidOpenTextDocumentParams, server::LanguageServerInstance, conn::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint})
@ LanguageServer ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/LanguageServer/src/requests/textdocument.jl:17
[18] (::LanguageServer.var"#109#110"{typeof(LanguageServer.textDocument_didOpen_notification), LanguageServerInstance})(conn::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::LanguageServer.DidOpenTextDocumentParams)
@ LanguageServer ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/LanguageServer/src/languageserverinstance.jl:267
[19] dispatch_msg(x::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::JSONRPC.MsgDispatcher, msg::Dict{String, Any})
@ JSONRPC ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/JSONRPC/src/typed.jl:67
[20] run(server::LanguageServerInstance)
@ LanguageServer ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/packages/LanguageServer/src/languageserverinstance.jl:387
[21] top-level scope
@ ~/.vscode/extensions/julialang.language-julia-1.38.2/scripts/languageserver/main.jl:104
[22] include(mod::Module, _path::String)
@ Base ./Base.jl:419
[23] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:303
[24] _start()
@ Base ./client.jl:522
[Info - 16:13:12] Connection to server got closed. Server will restart.
I got it in both emacs(lsp-mode) and VScode with the latetest LanguageServer(v1.4.3)
This looks like it might be the same problem as in https://github.com/julia-vscode/julia-vscode/issues/3037 which was recently resolved
It should be solved on the last release? Because on v1.4.3 it doesn't. I can do more tests, but I'm not sure what is the problem.
The fix would be in an upcoming release