julia-vscode / LanguageServer.jl

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

BoundsError: attempt to access 0-element Array{Any,1} at index [1] #648

Open davidanthoff opened 4 years ago

davidanthoff commented 4 years ago

From crash reporting.

Error message:

BoundsError: attempt to access 0-element Array{Any,1} at index [1] 

Stack trace:

BoundsError:
   at getindex (array.jl729)
   at show_import_path(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Expr) (show.jl1082)
   at show_import_path(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Expr) (show.jl1079)
   at show_unquoted(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Expr, ::Int64, ::Int64) (show.jl1438)
   at show_unquoted_quote_expr(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Any, ::Int64, ::Int64) (show.jl1042)
   at show(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Expr) (show.jl750)
   at show_unquoted(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Expr, ::Int64, ::Int64) (show.jl1455)
   at show_block(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Symbol, ::Array{Any,1}, ::Expr, ::Int64) (show.jl920)
   at show_block(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Symbol, ::Symbol, ::Expr, ::Int64) (show.jl929)
   at show_unquoted(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Expr, ::Int64, ::Int64) (show.jl1284)
   at print(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Expr) (show.jl749)
   at print_to_string(::String, ::Vararg{Any,N} where N) (io.jl123)
   at string(::String, ::String, ::Vararg{Any,N} where N) (io.jl156)
   at get_hover(::StaticLint.Binding, ::String, ::LanguageServerInstance) (./scripts/languageserver/packages/LanguageServer/src/requests/hover.jl55)
   at collect_completions(::StaticLint.Scope, ::String, ::LanguageServer.Range, ::Array{LanguageServer.CompletionItem,1}, ::LanguageServerInstance, ::Bool, ::Bool) (./scripts/languageserver/packages/LanguageServer/src/requests/completions.jl214)
   at collect_completions(::CSTParser.EXPR, ::String, ::LanguageServer.Range, ::Array{LanguageServer.CompletionItem,1}, ::LanguageServerInstance, ::Bool, ::Bool) (./scripts/languageserver/packages/LanguageServer/src/requests/completions.jl194)
   at collect_completions(::CSTParser.EXPR, ::String, ::LanguageServer.Range, ::Array{LanguageServer.CompletionItem,1}, ::LanguageServerInstance, ::Bool, ::Bool) (./scripts/languageserver/packages/LanguageServer/src/requests/completions.jl202)
   at collect_completions(::CSTParser.EXPR, ::String, ::LanguageServer.Range, ::Array{LanguageServer.CompletionItem,1}, ::LanguageServerInstance, ::Bool, ::Bool) (./scripts/languageserver/packages/LanguageServer/src/requests/completions.jl202)
   at collect_completions(::CSTParser.EXPR, ::String, ::LanguageServer.Range, ::Array{LanguageServer.CompletionItem,1}, ::LanguageServerInstance, ::Bool, ::Bool) (./scripts/languageserver/packages/LanguageServer/src/requests/completions.jl202)
   at collect_completions (./scripts/languageserver/packages/LanguageServer/src/requests/completions.jl193)
   at process(::LanguageServer.JSONRPC.Request{Val{Symbol("textDocument/completion")},LanguageServer.CompletionParams}, ::LanguageServerInstance) (./scripts/languageserver/packages/LanguageServer/src/requests/completions.jl40)
   at run(::LanguageServerInstance) (./scripts/languageserver/packages/LanguageServer/src/languageserverinstance.jl236)
   at top-level scope (./scripts/languageserver/main.jl28)
   at include (boot.jl326)
   at include_relative(::Module, ::String) (loading.jl1038)
   at include(::Module, ::String) (sysimg.jl29)
   at exec_options(::Base.JLOptions) (client.jl267)
   at _start() (client.jl436)
davidanthoff commented 4 years ago

@ZacLN do you think this will take a while to fix or not? Just wondering whether I should cut a new release now or wait a few more hours for a fix for this here :)

ZacLN commented 4 years ago

I can't work out how replicate it so will likely take a while

davidanthoff commented 4 years ago

Yeah, I had stared at it and also couldn't come up with an explanation.

We could add some diagnostic code that reports more details when the crash occurs?