This repository was archived by the owner on Oct 7, 2020. It is now read-only.
This repository was archived by the owner on Oct 7, 2020. It is now read-only.
HIE seems to be able to typechek only one module #680
Open
Description
I use HIE with LanguageClient_neovim. Versions:
$ ~/.local/bin/hie --version
Version 0.2.0.0, Git revision e159e35a5471bcfa8576d663cb82180dc9fe53ab (dirty) (1555 commits) x86_64 ghc-8.2.2
$ stack --version
Version 1.7.1, Git revision 681c800873816c022739ca7ed14755e85a579565 (5807 commits) x86_64 hpack-0.28.2
I build HIE with $ stack --resolver=lts-11.2 --stack-yaml=stack-8.2.2.yaml install
, since we have LTS-11.2
in the project I develop.
The project consists of a library and an executable in separate Cabal files. The executable is built with -dynamic
, so I also have to add -fexternal-interpreter
to its Cabal file.
However, it seems that HIE can typecheck only the first file I open in nvim. All subsequent files result in didn't get typechecked module
. Here's a part of log with --debug --vomit
:
2018-07-12 23:45:52.549029635 [ThreadId 4] - ---> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"haskell","text":" ...
2018-07-12 23:45:52.550559802 [ThreadId 10] - ****** reactor: got message number:3
2018-07-12 23:45:52.55069708 [ThreadId 10] - ****** reactor: processing NotDidOpenTextDocument
2018-07-12 23:45:52.5508884 [ThreadId 9] - ghcDispatcher:got request 3 with id: Nothing
2018-07-12 23:45:52.749975698 [ThreadId 9] - file mapping state is: fromList [("/../MainWindow.hs",FileMapping {fmPath = "/tmp/ghc-mod24974/MainWindow24973-0.hs", fmTemp = True}),("/.../WalletTree.hs",FileMapping {fmPath = "/tmp/ghc-mod24975/WalletTree24973-1.hs", fmTemp = True})]
2018-07-12 23:45:52.750217547 [ThreadId 9] - ghcDispatcher: top of loop
2018-07-12 23:45:52.750346578 [ThreadId 9] - ghcDispatcher:got request 3 with id: Nothing
2018-07-12 23:45:52.750479733 [ThreadId 9] - ghcDispatcher:Processing request as version matches
2018-07-12 23:45:52.806597695 [ThreadId 9] - ghcDispatcher: top of loop
2018-07-12 23:45:52.806739459 [ThreadId 9] - ghcDispatcher:got request 3 with id: Nothing
2018-07-12 23:45:52.806801621 [ThreadId 9] - ghcDispatcher:Processing request as version matches
2018-07-12 23:45:52.827888132 [ThreadId 9] - setTypecheckedModule: file mapping state is: fromList [("/home/maks/Projects/SRK/ariadne/ui/qt/src/Ariadne/UI/Qt/MainWindow.hs",FileMapping {fmPath = "/tmp/ghc-mod24974/MainWindow24973-0.hs", fmTemp = True}),("/home/maks/Projects/SRK/ariadne/ui/qt/src/Ariadne/UI/Qt/Widgets/WalletTree.hs",FileMapping {fmPath = "/tmp/ghc-mod24975/WalletTree24973-1.hs", fmTemp = True})]
2018-07-12 23:45:52.828050778 [ThreadId 9] - setTypecheckedModule: before ghc-mod
2018-07-12 23:45:52.85245996 [ThreadId 6] - <--2--{"jsonrpc":"2.0","params":{"uri":"...","diagnostics":[...
2018-07-12 23:45:54.599552113 [ThreadId 9] - setTypecheckedModule: after ghc-mod
2018-07-12 23:45:54.600437366 [ThreadId 9] - setTypecheckedModule: Didn't get typechecked module for: "/home/maks/Projects/SRK/ariadne/ui/qt/src/Ariadne/UI/Qt/Widgets/WalletTree.hs"
2018-07-12 23:45:54.600668187 [ThreadId 9] - ghcDispatcher: top of loop
2018-07-12 23:45:54.600838194 [ThreadId 6] - <--2--{"jsonrpc":"2.0","params":{"type":1,"message":"Got error while processing diagnostics: {handle: <file descriptor: 14>}: GHCi.Message.remoteCall: end of file"},"method":"window/showMessage"}
Also, ps
indicates that ghc-iserv-dyn
process dies after this. How can I debug this further?