Skip to content

HLS dies when navigating its own codebase via GoToDefinition #4732

@Aster89

Description

@Aster89

Your environment

Which OS do you use?
Up-to-date ArchLinux

Which version of GHC do you use and how did you install it?
GHC 9.10.1 installed via ghcup

How is your project built (alternative: link to the project)?
The project is HLS itself

Which LSP client (editor/plugin) do you use?
(terminal) Vim + YCM

Which version of HLS do you use and how did you install it?
I've pointed my IDE at 91d2b48, which I've built via cabal build exe:haskell-language-server -j8

Have you configured HLS in any way (especially: a hie.yaml file)?
Not that I know of.

Steps to reproduce

  1. Open here:
    runEvalCmd :: Recorder (WithPriority Log) -> PluginId -> CommandFunction IdeState EvalParams
  2. Try GoToDefinition
    1. on EvalParams
      • succeeds
    2. on IdeState
      • RuntimeError: Cannot jump to location
    3. on CommandFunction
      • RuntimeError: Cannot jump to location
  3. manually open here:
  4. try GoToDefinition on IdeState value constructor
    • ResponseAbortedException: Response Aborted
  5. Asking the IDE for info reveals that
    --   haskell-language-serverCompleter not running
    -- ...                                 
    --   haskell-language-serverCompleter Server State: Dead
    
  6. Repeat step 2.1 above
    • RuntimeError: Server is initializing. Please wait.

The whole screencast is available below, but from time 2:00 onwards you can disregard it because it's just me saving the log files.

asciicast

Expected behaviour

GoTos should work.

Actual behaviour

Server dies?

Debug information

YCM log: https://gist.github.com/Aster89/e88f8c993afd6ec5d5321951329a6fec
ycmd stderr: https://www.dropbox.com/scl/fi/puxmqzlrki3z4l1ucy48j/ycmd_44423_stderr_n9199p2p.log?rlkey=ntwifjlbfj2o1hjduek7je4g4&st=rzo57n1t&dl=0
HLS log: https://gist.github.com/Aster89/a375d5164546d17153aae8e5c99cae77

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: needs triagetype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions