haskell / haskell-ide-engine

The engine for haskell ide-integration. Not an IDE
BSD 3-Clause "New" or "Revised" License
2.38k stars 210 forks source link

HIE stops reporting messages to coc.nvim #1777

Open maksbotan opened 4 years ago

maksbotan commented 4 years ago

Hi,

I am observing strange behavior. Judging by hie's log it correctly sees updates I make to the file:

2020-05-27 11:08:01.516354 [ThreadId 1255] - Typechecked modules for: Just "/private/var/folders/xm/wymzs8212vd2z4w239yz0kxr0000gn/T/haskell-lsp88245/ClusteringTask.hs-00035-8164476009238656258.hs"
2020-05-27 11:08:01.536024 [ThreadId 14] - File, loaded
2020-05-27 11:08:01.536193 [ThreadId 14] - setTypecheckedModule: after ghc-mod
2020-05-27 11:08:01.536226 [ThreadId 14] - Diags: fromList [(NormalizedUri 8164476009238656258 "file:///Users/maksbotan/biocad/abscan-back/src/Bio/Abscan/API/Library/Wet/ClusteringTask.hs",fromList [ CUT ]
2020-05-27 11:08:01.536766 [ThreadId 14] - setTypecheckedModule: Did get typechecked module for: "/Users/maksbotan/biocad/abscan-back/src/Bio/Abscan/API/Library/Wet/ClusteringTask.hs"
2020-05-27 11:08:01.547162 [ThreadId 14] - setTypecheckedModule: done
2020-05-27 11:08:01.547672 [ThreadId 14] - ghcDispatcher: top of loop

The diags reported in the log are the correct ones (matching GHC messages that cabal new-build reports), however Neovim is stuck at some older state of diagnostics.

Reloading the file with :e erases all diagnostics at all, but does not load the new ones. Only restarting HIE helps.

Another issue I don't know how to debug.

I will try HLS later to see if I can reproduce that.

HIE fe630a1e31232013549518909e511924e19af4af, I'm developing with cabal new-* in nix-shell.

vim version: NVIM v0.5.0-2413-g8f3d0276e
node version: v10.15.3
coc.nvim version: 0.0.78-fc983ce6dd

In :CocInfo I'm seeing this message:

Using hie version: Version 1.4 x86_64 ghc-8.8.3
Using hoogle db at: /Users/maksbotan/.hoogle/default-haskell-5.0.17.hoo
hie: hie: panic! (the 'impossible' happened)
  (GHC version 8.8.3 for x86_64-apple-darwin):
    ModOrigin: hidden module redefined

Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug

Curiously, I saw the same message in cabal new-repl once when I tried to tab-complete module name in import.

My hie.yaml (only lib component is open at the moment):

cradle:
  cabal:
    - path: "."
      component: "lib:abscan"
    - path: "test"
      component: "abscan:abscan-test"
    - path: "app/SangerPipeline.hs"
      component: "abscan:abscan-sanger-pipeline"
maksbotan commented 4 years ago

Hm, perhaps this is related: https://github.com/digital-asset/ghcide/issues/562