# Lsp-julia crashes with "Possible infinite loop" when typing in Julia document

**URL:** <https://discourse.julialang.org/t/lsp-julia-crashes-with-possible-infinite-loop-when-typing-in-julia-document/58800>\
**Category:** Tooling\
**Tags:** emacs, languageserver\
**Created:** [April 8, 2021, 2:53am UTC](https://discourse.julialang.org/t/lsp-julia-crashes-with-possible-infinite-loop-when-typing-in-julia-document/58800 "2021-04-08T02:53:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![kwokhao](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kwokhao/32/21535_2.png) [@kwokhao](https://discourse.julialang.org/u/kwokhao)\
**Post date:** [April 8, 2021, 2:53am UTC](https://discourse.julialang.org/t/lsp-julia-crashes-with-possible-infinite-loop-when-typing-in-julia-document/58800/1 "2021-04-08T02:53:33Z")

</div>

Cross-posted from [this Github issue](https://github.com/non-Jedi/lsp-julia/issues/50).

I set up `lsp-julia` in emacs to automatically initialize the `LanguageServer` once I navigate to a Julia file. However, when I try to type the letter `d` anywhere in the body of the file, I obtain an error (reproduced below) in `julia-ls::stderr`.

Is there a way to disable the relevant functionality in `get_func_hover` or `collect_completions` so that I can use `lsp-julia` without it constantly crashing? `company-dabbrev` is sufficient for my purposes, so I do not need completions from `lsp`.

```julia
ERROR: Possible infinite loop.
Stacktrace:
  [1] get_func_hover(b::StaticLint.Binding, documentation::String, server::LanguageServerInstance, visited::Base.IdSet{StaticLint.Binding})
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/hover.jl:101
  [2] get_func_hover(b::StaticLint.Binding, documentation::String, server::LanguageServerInstance, visited::Base.IdSet{StaticLint.Binding})
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/hover.jl:123
  [3] get_func_hover(b::StaticLint.Binding, documentation::String, server::LanguageServerInstance)
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/hover.jl:100
  [4] get_hover(b::StaticLint.Binding, documentation::String, server::LanguageServerInstance)
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/hover.jl:32
  [5] collect_completions(x::StaticLint.Scope, spartial::String, rng::LanguageServer.Range, CIs::Vector{LanguageServer.CompletionItem}, server::LanguageServerInstance, inclexported::Bool, dotcomps::Bool)
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/completions.jl:152
  [6] collect_completions(x::CSTParser.EXPR, spartial::String, rng::LanguageServer.Range, CIs::Vector{LanguageServer.CompletionItem}, server::LanguageServerInstance, inclexported::Bool, dotcomps::Bool)
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/completions.jl:132
  [7] collect_completions(x::CSTParser.EXPR, spartial::String, rng::LanguageServer.Range, CIs::Vector{LanguageServer.CompletionItem}, server::LanguageServerInstance, inclexported::Bool, dotcomps::Bool)
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/completions.jl:140
  [8] collect_completions
    @ ~/.julia/packages/LanguageServer/y1ebo/src/requests/completions.jl:131 [inlined]
  [9] textDocument_completion_request(params::LanguageServer.CompletionParams, server::LanguageServerInstance, conn::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint})
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/completions.jl:39
 [10] (::LanguageServer.var"#101#133"{LanguageServerInstance})(conn::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::LanguageServer.CompletionParams)
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:273
 [11] dispatch_msg(x::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::JSONRPC.MsgDispatcher, msg::Dict{String, Any})
    @ JSONRPC ~/.julia/packages/JSONRPC/xbAlZ/src/typed.jl:66
 [12] run(server::LanguageServerInstance)
    @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:308
 [13] top-level scope
    @ none:1

Process julia-ls stderr finished

```
