Getting this when starting a language server (this is the last one after which it gives up retrying):
2020-09-03 17:13:28.231839743 [ThreadId 355] - Making new HscEnv[main,main]
[Error - 5:13:28 PM] Connection to server got closed. Server will not be restarted.
[Error - 5:13:28 PM] Request textDocument/codeLens failed.
Error: Connection got disposed.
at Object.dispose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:90914)
at Object.dispose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:74187)
at D.handleConnectionClosed (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:74361)
at D.handleConnectionClosed (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:247:9181)
at t (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:72512)
at n.invoke (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233173)
at i.fire (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233903)
at G (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:82823)
at n.invoke (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233173)
at i.fire (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233903)
at u.fireClose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:252636)
at Socket.<anonymous> (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:253393)
at Socket.emit (events.js:205:15)
at Pipe.<anonymous> (net.js:586:12)
[Error - 5:13:28 PM] Request textDocument/codeAction failed.
Error: Connection got disposed.
at Object.dispose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:90914)
at Object.dispose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:74187)
at D.handleConnectionClosed (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:74361)
at D.handleConnectionClosed (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:247:9181)
at t (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:72512)
at n.invoke (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233173)
at i.fire (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233903)
at G (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:82823)
at n.invoke (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233173)
at i.fire (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:233903)
at u.fireClose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:252636)
at Socket.<anonymous> (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:253393)
at Socket.emit (events.js:205:15)
at Pipe.<anonymous> (net.js:586:12)
HLS
haskell-language-server version: 0.3.0.0 (GHC: 8.8.4) (PATH: /home/cebaa/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-0.3.0-linux-8.8.4) (GIT hash: d36bb9929fdd0df76f86d3635067400272f68497)
GHC
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc
Stack
Version 2.3.3, Git revision cb44d51bed48b723a5deb08c3348c0b3ccfc437e x86_64 hpack-0.33.0
I'm not sure what other information I can collect to help troubleshooting this, let me know.
Hi! could you attach the full log of the vscode session? It seems the error is thrown just after creating a ghc session, stack build/repl works for the files you are opening in the editor?
That said, the server should not crash without. at least, sending a message to the client
At a first glance, it reminds me of https://github.com/haskell/haskell-language-server/issues/366, because of the line
2020-09-03 17:13:28.231839743 [ThreadId 355] - Making new HscEnv[main,main]
Can you tell us something about the project? Is it a stack project, and could explain what you did to trigger this error? (e.g. open src/Lib.hs and waited)
Agreed, this looks like a cradle issue
@jneira
Hi! could you attach the full log of the vscode session?
Sure:
[client] run command: "/home/cebaa/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-linux-8.8.4 --lsp"
[client] debug command: "/home/cebaa/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-linux-8.8.4 --lsp"
[client] server cwd: undefined
haskell-language-server version: 0.4.0.0 (GHC: 8.8.4) (PATH: /home/cebaa/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-linux-8.8.4) (GIT hash: 0a18edde24923251a148cbbc0ae993a6aac83b9c)
Starting (haskell-language-server)LSP server...
with arguments: LspArguments {argLSP = True, argsCwd = Nothing, argFiles = [], argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
with plugins: [PluginId "brittany",PluginId "eval",PluginId "floskell",PluginId "fourmolu",PluginId "ghcide",PluginId "importLens",PluginId "ormolu",PluginId "pragmas",PluginId "retrie",PluginId "stylish-haskell"]
in directory: /home/cebaa/haskell/test
If you are seeing this in a terminal, you probably should have run ghcide WITHOUT the --lsp option!
Started LSP server in 0.00s
2020-09-04 10:04:45.434497568 [ThreadId 17] - Opened text document: file:///home/cebaa/haskell/test/src/Run.hs
2020-09-04 10:04:45.435828518 [ThreadId 50] - Data.HashMap.Internal.(!): key not found
CallStack (from HasCallStack):
error, called at ./Data/HashMap/Internal.hs:753:16 in unordered-containers-0.2.12.0-2e3fe165d2481c3a755449eca3083a286519fe98ac20523b8f479e0645004f51:Data.HashMap.Internal
!, called at src/Development/IDE/Import/DependencyInformation.hs:107:40 in ghcide-0.2.0-inplace:Development.IDE.Import.DependencyInformation
2020-09-04 10:04:45.438292 [ThreadId 53] - Consulting the cradle for "/home/cebaa/haskell/test/src/Run.hs"
Output from setting up the cradle Cradle {cradleRootDir = "/home/cebaa/haskell/test", cradleOptsProg = CradleAction: Stack}
> Using main module: 1. Package `test' component test:exe:test-exe with main-is file: /home/cebaa/haskell/test/app/Main.hs
> Building all executables for `test' once. After a successful build of all of them, only specified executables will be rebuilt.
> test> configure (lib + exe)
> Configuring test-0.1.0.0...
> /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
> /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
> /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
> test> initial-build-steps (lib + exe)
> The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
> Configuring GHCi with the following packages: test
> /home/cebaa/haskell/test/.stack-work/install/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/pkgdb:/home/cebaa/.stack/snapshots/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/pkgdb:/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/package.conf.d
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
2020-09-04 10:04:49.815000124 [ThreadId 53] - Using interface files cache dir: /home/cebaa/.cache/ghcide/main-86a866fdb305f423815ae36bdecd2ca00eb660e1
2020-09-04 10:04:49.815559545 [ThreadId 53] - Making new HscEnv[main]
2020-09-04 10:04:49.89678013 [ThreadId 133] - Plugin.makeCodeLens (ideLogger)
2020-09-04 10:04:49.957892484 [ThreadId 341] - Consulting the cradle for "/home/cebaa/haskell/test/.stack-work/dist/x86_64-linux/Cabal-3.0.1.0/build/autogen/Paths_test.hs"
Output from setting up the cradle Cradle {cradleRootDir = "/home/cebaa/haskell/test", cradleOptsProg = CradleAction: Stack}
> Using main module: 1. Package `test' component test:exe:test-exe with main-is file: /home/cebaa/haskell/test/app/Main.hs
> Building all executables for `test' once. After a successful build of all of them, only specified executables will be rebuilt.
> test> configure (lib + exe)
> Configuring test-0.1.0.0...
> /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
> /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
> /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
> test> initial-build-steps (lib + exe)
> The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
> Configuring GHCi with the following packages: test
> /home/cebaa/haskell/test/.stack-work/install/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/pkgdb:/home/cebaa/.stack/snapshots/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/pkgdb:/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/package.conf.d
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
2020-09-04 10:04:54.932229239 [ThreadId 341] - Using interface files cache dir: /home/cebaa/.cache/ghcide/main-86a866fdb305f423815ae36bdecd2ca00eb660e1
2020-09-04 10:04:54.93260945 [ThreadId 341] - Using interface files cache dir: /home/cebaa/.cache/ghcide/main-86a866fdb305f423815ae36bdecd2ca00eb660e1
2020-09-04 10:04:54.932765125 [ThreadId 341] - Making new HscEnv[main,main]
[Error - 10:04:55 AM] Request textDocument/codeLens failed.
Error: Connection got disposed.
at Object.dispose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:90914)
at Object.dispose (/home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:74187)
at /home/cebaa/.vscode-server/extensions/haskell.haskell-1.1.0/dist/extension.js:1:70802
... up to 5 blocks with the same output ....
stack build/repl works for the files you are opening in the editor?
Yeah, stack build on the project works fine from the command line:
$ stack build
Building all executables for `test' once. After a successful build of all of them, only specified executables will be rebuilt.
test> configure (lib + exe)
Configuring test-0.1.0.0...
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
test> build (lib + exe)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc-pkg: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc-pkg)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc-pkg: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
Preprocessing library for test-0.1.0.0..
Building library for test-0.1.0.0..
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
[1 of 5] Compiling Paths_test
[2 of 5] Compiling Types
[3 of 5] Compiling Import
[4 of 5] Compiling Run
[5 of 5] Compiling Util
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc-pkg: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc-pkg)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc-pkg: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
Preprocessing executable 'test-exe' for test-0.1.0.0..
Building executable 'test-exe' for test-0.1.0.0..
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
[1 of 2] Compiling Paths_test
[2 of 2] Compiling Main
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
Linking .stack-work/dist/x86_64-linux/Cabal-3.0.1.0/build/test-exe/test-exe ...
test> copy/register
Installing library in /home/cebaa/haskell/test/.stack-work/install/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/lib/x86_64-linux-ghc-8.8.4/test-0.1.0.0-BqR1a4pW5zLGRh1eWc0hcU
Installing executable test-exe in /home/cebaa/haskell/test/.stack-work/install/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/bin
Registering library for test-0.1.0.0..
@fendor
Is it a stack project,
Yeah, created using stack new test rio.
could explain what you did to trigger this error? (e.g. open src/Lib.hs and waited)
I opened src/Run.hs and triggered Haskell: Restart Haskell LSP server via Ctrl+Shift+P.
Let me know if you need more information.
Please post the output of running the following command from the project root directory.
/home/cebaa/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-linux-8.8.4 --debug src/
I'm seeing the same error in my VSCode log. Running the above command ends with a segfault for me.
I'm able to reproduce this behaviour as follows.
stack new test-yesod yesodweb/postgres
cd test-yesod
stack test --no-run-tests
code .
Navigate to e.g. src/Foundation.hs.
Executing HLS with --debug on src/ results in a segfault:
$ /Users/runesvendsen/Library/Application\ Support/Code/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-darwin-8.8.4 --debug src/
haskell-language-server version: 0.4.0.0 (GHC: 8.8.4) (PATH: /Users/runesvendsen/Library/Application Support/Code/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-darwin-8.8.4) (GIT hash: 0a18edde24923251a148cbbc0ae993a6aac83b9c)
(haskell-language-server)Ghcide setup tester in /Users/runesvendsen/code/test-yesod.
Report bugs at https://github.com/haskell/haskell-language-server/issues
Tool versions found on the $PATH
cabal: 2.4.1.0
stack: 2.3.3
ghc: 8.6.5
Step 1/4: Finding files to test in /Users/runesvendsen/code/test-yesod
Found 11 files
Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
Step 3/4: Initializing the IDE
Step 4/4: Type checking the files
[INFO] Consulting the cradle for "/Users/runesvendsen/code/test-yesod/src/Handler/Comment.hs"
Output from setting up the cradle Cradle {cradleRootDir = "/Users/runesvendsen/code/test-yesod", cradleOptsProg = CradleAction: Stack}
> Using main module: 1. Package `test-yesod' component test-yesod:exe:test-yesod with main-is file: /Users/runesvendsen/code/test-yesod/app/main.hs
> The following GHC options are incompatible with GHCi and have not been passed to it: -O2 -threaded
> Configuring GHCi with the following packages: test-yesod
> /Users/runesvendsen/code/test-yesod/.stack-work/install/x86_64-osx/50146911e425358752f0d840a75b0736163e705e884f28d26d365a09dff921d0/8.8.4/pkgdb:/Users/runesvendsen/.stack/snapshots/x86_64-osx/50146911e425358752f0d840a75b0736163e705e884f28d26d365a09dff921d0/8.8.4/pkgdb:/Users/runesvendsen/.stack/programs/x86_64-osx/ghc-8.8.4/lib/ghc-8.8.4/package.conf.d
[INFO] Using interface files cache dir: /Users/runesvendsen/.cache/ghcide/main-6cf87290a0282aa3f9e1e47fafcf04b73fd00d07
[INFO] Making new HscEnv[main]
zsh: segmentation fault --debug src/
Please post the output of running the following command from the project root directory.
/home/cebaa/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-linux-8.8.4 --debug src/I'm seeing the same error in my VSCode log. Running the above command ends with a segfault for me.
@cebaa could I get you to try the above, in order to determine whether we're experiencing the same issue?
@runeksvendsen
Sorry for a delay, here's the output:
haskell-language-server version: 0.4.0.0 (GHC: 8.8.4) (PATH: /home/cebaa/.vscode-server/data/User/globalStorage/haskell.haskell/haskell-language-server-0.4.0-linux-8.8.4) (GIT hash: 0a18edde24923251a148cbbc0ae993a6aac83b9c)
(haskell-language-server)Ghcide setup tester in /home/cebaa/haskell/test.
Report bugs at https://github.com/haskell/haskell-language-server/issues
Tool versions found on the $PATH
cabal: Not found
stack: 2.3.3
ghc: Not found
Step 1/4: Finding files to test in /home/cebaa/haskell/test
Found 4 files
Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
Step 3/4: Initializing the IDE
Step 4/4: Type checking the files
[INFO] Consulting the cradle for "/home/cebaa/haskell/test/src/Import.hs"
Output from setting up the cradle Cradle {cradleRootDir = "/home/cebaa/haskell/test", cradleOptsProg = CradleAction: Stack}
> Using main module: 1. Package `test' component test:exe:test-exe with main-is file: /home/cebaa/haskell/test/app/Main.hs
> The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
> Configuring GHCi with the following packages: test
> /home/cebaa/haskell/test/.stack-work/install/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/pkgdb:/home/cebaa/.stack/snapshots/x86_64-linux/429025e14fb7e3a2b063705a30e09a859301fdd771abc91d4b95d47a7ee2972a/8.8.4/pkgdb:/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/package.conf.d
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../haskeline-0.7.5.0/libHShaskeline-0.7.5.0-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../ghc-8.8.4/libHSghc-8.8.4-ghc8.8.4.so)
/home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/ghc: /lib64/libtinfo.so.5: no version information available (required by /home/cebaa/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/bin/../terminfo-0.4.1.4/libHSterminfo-0.4.1.4-ghc8.8.4.so)
[INFO] Using interface files cache dir: /home/cebaa/.cache/ghcide/main-86a866fdb305f423815ae36bdecd2ca00eb660e1
[INFO] Making new HscEnv[main]
Completed (4 files worked, 0 files failed)
[INFO] finish: User TypeCheck (took 0.29s)
I'm having the same issue, can be easily reproduced by just creating new Yesod project using stack new my-project yesodweb/postgres and opening VSCode + HLS for this project. @fendor Is there any workaround for this issue at this moment?
In case that it might help as a hint...
I am now experiencing this issue, after I started using Database.PostgreSQL.Simple.SqlQQ#sql QuasiQuoter (from postgresql-simple-0.6.2).
It is back to normal when I avoid using it.
I got the following error also (not "got closed", but "got disposed") here is the log:
[Error - 6:36:50 PM] Request textDocument/documentSymbol failed.
Error: Connection got disposed.
at Object.dispose (/home/rizary/.vscode-server-insiders/extensions/haskell.haskell-1.2.0/dist/extension.js:1:90902)
at Object.dispose (/home/rizary/.vscode-server-insiders/extensions/haskell.haskell-1.2.0/dist/extension.js:1:74181)
at /home/rizary/.vscode-server-insiders/extensions/haskell.haskell-1.2.0/dist/extension.js:1:70796
[Error - 6:36:50 PM] Request textDocument/codeAction failed.
Error: Connection got disposed.
at Object.dispose (/home/rizary/.vscode-server-insiders/extensions/haskell.haskell-1.2.0/dist/extension.js:1:90902)
at Object.dispose (/home/rizary/.vscode-server-insiders/extensions/haskell.haskell-1.2.0/dist/extension.js:1:74181)
at /home/rizary/.vscode-server-insiders/extensions/haskell.haskell-1.2.0/dist/extension.js:1:70796
Found "/home/rizary/todomvc-nix/backend/haskell/hie.yaml" for "/home/rizary/todomvc-nix/backend/haskell/a"
Module "/home/rizary/todomvc-nix/backend/haskell/a" is loaded by Cradle: Cradle {cradleRootDir = "/home/rizary/todomvc-nix/backend/haskell", cradleOptsProg = CradleAction: Cabal}
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 0.5.0.0 x86_64 ghc-8.8.4
Current directory: /home/rizary/todomvc-nix/backend/haskell
Operating system: linux
Arguments: ["--lsp"]
Cradle directory: /home/rizary/todomvc-nix/backend/haskell
Cradle type: Cabal
Tool versions found on the $PATH
cabal: 3.2.0.0
stack: 2.3.3
ghc: 8.8.4
Consulting the cradle to get project GHC version...
Project GHC version: 8.8.4
haskell-language-server exe candidates: ["haskell-language-server-8.8.4","haskell-language-server-8.8","haskell-language-server"]
Launching haskell-language-server exe at:/nix/store/zkkp1v15hmq42zjbahxs3sadrjyvfn3m-todomvc-nix-env/bin/haskell-language-server-8.8.4
haskell-language-server version: 0.5.0.0 (GHC: 8.8.4) (PATH: /nix/store/s41baajzrg4jcpi1g0cvr0gi6qyy3yc0-haskell-language-server-0.5.0.0/bin/haskell-language-server)
Starting (haskell-language-server)LSP server...
with arguments: LspArguments {argLSP = True, argsCwd = Nothing, argFiles = [], argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
with plugins: [PluginId "brittany",PluginId "eval",PluginId "floskell",PluginId "fourmolu",PluginId "ghcide",PluginId "importLens",PluginId "ormolu",PluginId "pragmas",PluginId "retrie",PluginId "stylish-haskell",PluginId "tactic"]
in directory: /home/rizary/todomvc-nix/backend/haskell
If you are seeing this in a terminal, you probably should have run ghcide WITHOUT the --lsp option!
Started LSP server in 0.00s
2020-11-04 18:36:50.470625 [ThreadId 12] - Registering ide configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri (-2581523076146326005) "file:///home/rizary/todomvc-nix",NormalizedUri 1163765457462015083 "file:///home/rizary/todomvc-nix/backend/haskell"], clientSettings = hashed Nothing}
2020-11-04 18:36:50.4743775 [ThreadId 12] - Configuration changed: Object (fromList [("haskell",Object (fromList [("logFile",String ""),("updateBehavior",String "prompt"),("hlintOn",Bool True),("formatOnImportOn",Bool True),("indentationRules",Object (fromList [("enabled",Bool True)])),("liquidOn",Bool False),("languageServerVariant",String "haskell-language-server"),("serverExecutablePath",String ""),("diagnosticsOnChange",Bool True),("completionSnippetsOn",Bool True),("maxNumberOfProblems",Number 100.0),("formattingProvider",String "ormolu"),("trace",Object (fromList [("server",String "messages")]))]))])
2020-11-04 18:36:50.4751281 [ThreadId 12] - Opened text document: file:///home/rizary/todomvc-nix/backend/haskell/src/Api.hs
2020-11-04 18:36:50.4753169 [ThreadId 12] - Opened text document: file:///home/rizary/todomvc-nix/backend/haskell/src/Db.hs
2020-11-04 18:36:50.4755811 [ThreadId 12] - Opened text document: file:///home/rizary/todomvc-nix/backend/haskell/src/Model.hs
@vst I try to remove sqlQQ and QuasiQuoter but still got the error.
EDIT: I later narrowed this down to a TH splice. Looks like issue https://github.com/haskell/ghcide/issues/444.
Getting the same issue. When I run the downloaded haskell-language-server-0.5.1-linux-8.8.4 executable with --debug src/, I got a segfault:
haskell-language-server version: 0.5.1.0 (GHC: 8.8.4) (PATH: /home/dylan/.config/Code/User/globalStorage/haskell.haskell/haskell-language-server-0.5.1-linux-8.8.4) (GIT hash: e3fe0e7546aa91e44cc56cfe8ec078a026cf533a)
(haskell-language-server)Ghcide setup tester in /hdd/programming/elm-haskell/fullstack-todomvc/todomvc-backend.
Report bugs at https://github.com/haskell/haskell-language-server/issues
Tool versions found on the $PATH
cabal: Not found
stack: 2.5.1
ghc: Not found
Step 1/4: Finding files to test in /hdd/programming/elm-haskell/fullstack-todomvc/todomvc-backend
Found 1 files
Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
Step 3/4: Initializing the IDE
Step 4/4: Type checking the files
[INFO] Consulting the cradle for "src/Lib.hs"
NotShowMessage (NotificationMessage {_jsonrpc = "2.0", _method = WindowShowMessage, _params = ShowMessageParams {_xtype = MtWarning, _message = "No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for src/Lib.hs.\n Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie)"}})
Output from setting up the cradle Cradle {cradleRootDir = "/hdd/programming/elm-haskell/fullstack-todomvc/todomvc-backend", cradleOptsProg = CradleAction: Stack}
> Configuring GHCi with the following packages: todomvc-backend
> /hdd/programming/elm-haskell/fullstack-todomvc/todomvc-backend/.stack-work/install/x86_64-linux/588515d7b1943310c1d35125fc4d7fb6145bc04322c550f7b027065c88c6b87b/8.8.4/pkgdb:/home/dylan/.stack/snapshots/x86_64-linux/588515d7b1943310c1d35125fc4d7fb6145bc04322c550f7b027065c88c6b87b/8.8.4/pkgdb:/home/dylan/.stack/programs/x86_64-linux/ghc-8.8.4/lib/ghc-8.8.4/package.conf.d
[INFO] Using interface files cache dir: /home/dylan/.cache/ghcide/main-cec32ee8ea0b62e77cf6aaf753cd74aeb1884cd2
[INFO] Making new HscEnv[main]
Segmentation #fault
My project was initialized with stack new todomvc-backend servant.
Update: I narrowed down my problem to a Template Haskell splice, so it looks like https://github.com/haskell/ghcide/issues/444 instead of this.
Most helpful comment
I'm able to reproduce this behaviour as follows.
Navigate to e.g.
src/Foundation.hs.Executing HLS with
--debugonsrc/results in a segfault: