This repository was archived by the owner on Oct 7, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 206
This repository was archived by the owner on Oct 7, 2020. It is now read-only.
hie hangs in typechecking module step with ghc version mismatch (project 8.6.4/hie 8.6.5) #1386
Copy link
Copy link
Open
Description
- Using vscode: hie starts as usual until it has to typecheck the module
- Relevant log section:
2019-09-13 00:22:36.1391282 [ThreadId 11] - ghcDispatcher:got request 2 with id: Nothing
2019-09-13 00:22:36.1839489 [ThreadId 11] - ghcDispatcher:Processing request as version matches
2019-09-13 00:22:36.2060281 [ThreadId 11] - setTypecheckedModule: file mapping state is: fromList [("D:\\dev\\ws\\haskell\\stack-test\\src\\Main.hs",FileMapping {fmPath = "C:\\TEMP\\ghc-mod4449\\Mai1252.hs", fmTemp = True})]
2019-09-13 00:22:36.2849894 [ThreadId 11] - setTypecheckedModule: before ghc-mod
2019-09-13 00:22:36.6908832 [ThreadId 5] - <--2--{"jsonrpc":"2.0","params":{"uri":"file:///d:/dev/ws/haskell/stack-test/src/Main.hs","diagnostics":[]},"method":"textDocument/publishDiagnostics"}
2019-09-13 00:22:36.6908832 [ThreadId 5] - <--2--{"jsonrpc":"2.0","params":{"id":"0","cancellable":false,"title":"Typechecking Main.hs"},"method":"window/progress/start"}
- We can observe that the message
"setTypecheckedModule: after ghc-mod"
is never emitted - The editor shows the message "Typechecking file" indefinitely
- Relevant code fragment in
hie-plugin-api
:
haskell-ide-engine/hie-plugin-api/Haskell/Ide/Engine/Ghc.hs
Lines 192 to 201 in 098b180
debugm "setTypecheckedModule: before ghc-mod" | |
-- TODO:AZ: loading this one module may/should trigger loads of any | |
-- other modules which currently have a VFS entry. Need to make | |
-- sure that their diagnostics are reported, and their module | |
-- cache entries are updated. | |
-- TODO: Are there any hooks we can use to report back on the progress? | |
((Diagnostics diags', errs), mtm, mpm) <- withIndefiniteProgress progTitle NotCancellable $ GM.gcatches | |
(GM.getModulesGhc' (myWrapper rfm) fp) | |
(errorHandlers ghcErrRes (return . ghcErrRes . show)) | |
debugm "setTypecheckedModule: after ghc-mod" |
- Complete log: hie.log