Closed
Description
Subject of the issue
HLS doesn't seem to shut down all processes. After a while of using it in gvim I seem to have multiple HLS processes. This happens very frequently (although only one editor is opened and the by default no server is started). When I tell my client to shut down the server, only one of those processes will exit and haskell-language-server-wrapper
will always remain active.
This happens with multiple clients:
- coc.nvim
- vim-lsp
- LanguageClient-neovim
To me, it's not clear what the issue is:
- if HLS is not supposed to spawn multiple processes
- why does this happen across many clients? Does the server confuse them into thinking it's exited and needs to be respawned?
- if HLS is supposed to spawn multiple processes
- then it seems the server doesn't correctly process the
exit
message
- it could still be all 3 clients are buggy?
Your environment
haskell-language-server version: 0.5.1.0 (GHC: 8.10.1) (PATH: /mnt/sdd2/.ghcup/bin/haskell-language-server-wrapper-0.5.1) (GIT hash: e3fe0e7546aa91e44cc56cfe8ec078a026cf533a)
Tool versions found on the $PATH
cabal: 3.4.0.0
stack: 2.3.3
ghc: 8.8.4
- LangugeClient-neovim, vim-lsp, coc.nvim
- happens on any project, e.g. https://github.com/input-output-hk/cardano-wallet or https://gitlab.haskell.org/haskell/ghcup-hs
- hie.yaml generated by
gen-hie
Steps to reproduce
Use hls for a while and observe processes, then try to issue an exit message via the client.
Expected behaviour
All processes exit.
Actual behaviour
Only one process exits.
Include debug information
I currently don't have more isolated debug info. I'll try next time it happens.