@xldenis wrote:
So far no luck! I've removed the cabal helpers and nothing changed. I'm currently rebuilding from _latest_ master as my previous version was:
Version 0.1.0.0, Git revision 04af8885a89402168cf464b119697d2539df1e61 (1071 commits) x86_64
I'm building with stack build --stack-yaml=stack-8.2.1.yaml and that produces a binary:
Version 0.1.0.0, Git revision 358c6489eb1724b5d29698fe28fc389c12cdc10f (1096 commits) x86_64
Wow! it doesn't crash now but leads to an almost _worse_ error...

Pops up everytime I save! Strictly speaking that error message is _correct_ they aren't in other-modules they are in exposed-modules I don't know what could be causing this though.
@xldenis wrote:
Here is a log of me booting up HIE in sublime and waiting for diagnostics to pop up.
LSP: global clients: hie=True
LSP: starting active= /Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs other= 0
LSP: starting in /Users/xavier/Code/xldenis/ill
LSP: starting ['stack', 'exec', '/Users/xavier/.local/bin/hie', '--', '--lsp', '--debug', '--vomit']
LSP: --> initialize
2017-12-04 22:42:22.249127 [ThreadId 11] - Setting home directory:/Users/xavier:
2017-12-04 22:42:22.250429 [ThreadId 11] - run entered for HIE Version 0.1.0.0, Git revision 358c6489eb1724b5d29698fe28fc389c12cdc10f (1096 commits) x86_64:
2017-12-04 22:42:22.251145 [ThreadId 11] - Current directory:/Users/xavier:
2017-12-04 22:42:22.251493 [ThreadId 11] -:
:
:
:
:
haskell-lsp:Starting up server ...:
2017-12-04 22:42:22.252539 [ThreadId 11] - ---> {"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"processId": 17492, "capabilities": {"workspace": {"applyEdit": true}, "textDocument": {"synchronization": {"didSave": true}, "completion": {"completionItem": {"snippetSupport": true}}}}, "rootPath": "/Users/xavier/Code/xldenis/ill", "rootUri": "file:///Users/xavier/Code/xldenis/ill"}}:
2017-12-04 22:42:22.254333 [ThreadId 11] - haskell-lsp:initializeRequestHandler: setting current dir to project root:/Users/xavier/Code/xldenis/ill:
LSP: --> initialized
LSP: hie client registered for window 2
2017-12-04 22:42:22.25524 [ThreadId 12] - <--2--{"result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"willSave":false,"willSaveWaitUinntfiol:" :Ffoaulnsde ,S"tsaacvke "p:r{o"jiencctl uadte:T e/xUts"e:rfsa/lxsaev}i}e,r"/hCoovdeer/Pxrlodveindiesr/"i:ltlr:
LSP: --> textDocument/didOpen
ue,"completionProvider":{"resolveProvideirn"f:ot:r uSeT,A"CtKr_iEggXeEr Csheatr,a cptreerfse"r:r[i"n.g" ]S}t,a"cdke fpirnoijteicotn:
Provider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":true,"documentFormattingProvider":true,"documentRangeFormattingProvider":true,"renameProvider":true,"executeCommandProvider":{"commands":["applyrefact:applyOne","hare:demote"]}}},"jsonrpc":"2.0","id":1}:
2017-12-04 22:42:22.255989 [ThreadId 11] - ---> {"jsonrpc": "2.0", "method": "initialized", "params": {}}:
2017-12-04 22:42:22.261944 [ThreadId 11] - ---> {"jsonrpc": "2.0", "method": "textDocument/didOpen", "params": {"textDocument": {"version": 0, "text": "{-# LANGUAGE RecursiveDo, OverloadedStrings #-}\nmodule Ill.Codegen where\n\nimport Ill.Syntax.Core\nimport Ill.Syntax.Type\nimport Ill.Syntax.Name\n\nimport IRBuilder.Monad\nimport IRBuilder.Instruction\nimport qualified LLVM.AST.Type as T\nimport LLVM.AST.AddrSpace\n\nimport LLVM.Pretty\n\nimport Data.String\nimport ModuleBuilder\n\nimport Control.Monad (forM)\nimport qualified Control.Monad as M\n\n\nprettyModule mod = ppllvm $ compileModule mod\n\ncompileModule mod = buildModule \"example\" $ mdo\n forM (constructors mod) compileConstructor\n forM (filter isLambda $ bindings mod) compileBinding\n where\n isLambda (NonRec _ (Lambda{})) = True\n isLambda _ = False\n\ncompileConstructor :: MonadModuleBuilder m => (Name, (Int, Type Name)) -> m ()\ncompileConstructor (nm, (_, ty)) = do\n typedef (fromString nm) (Just $ T.StructureType False $ llvmArgTys)\n where\n llvmArgTys = map typeToLlvmType argTys\n argTys = init (unwrapFnType ty)\n\nptr x = T.PointerType x (AddrSpace 0)\ntypeToLlvmType = ptr . typeToLlvmType'\ntypeToLlvmType' (TVar nm) = T.NamedTypeReference (fromString nm)\ntypeToLlvmType' (Arrow a b) = T.FunctionType (typeToLlvmType' b) [typeToLlvmType' a] False\ntypeToLlvmType' (TAp (TAp (TConstructor \"->\") a) b) = T.FunctionType (typeToLlvmType' b) [typeToLlvmType' a] False\ntypeToLlvmType' (TConstructor nm) = T.NamedTypeReference (fromString nm)\ntypeToLlvmType' t = T.void\n\n\ncompileBinding :: MonadModuleBuilder m => Bind Var -> m ()\ncompileBinding (NonRec nm l@(Lambda _ _)) = M.void . function (fromString $ varName nm) args ret $ \\args -> mdo\n block `named` \"entry\" ; do\n unreachable\n pure ()\n\n where\n args = map (\\var -> (typeToLlvmType (idTy var), fromString $ varName var)) argVars\n ret = T.void\n (body, argVars) = unwrapLambda l\n unwrapLambda :: Core Var -> (Core Var, [Var])\n unwrapLambda (Lambda b@(Id{}) e) = (b :) <$> unwrapLambda e\n unwrapLambda (Lambda _ e) = unwrapLambda e\n unwrapLambda e = (e, [])\n-- compileBinding exp = unreachable -- error $ show exp\n\ncompileBody exp = error $ show exp\n", "languageId": "haskell", "uri": "file:///Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs"}}}:
2017-12-04 22:42:22.262031 [ThreadId 15] - ****** reactor: processing Initialized Notification:
LSP: <-- client/registerCapability
LSP: Unhandled request client/registerCapability
2017-12-04 22:42:22.289626 [ThreadId 15] - ****** reactor: processing NotDidOpenTextDocument:
2017-12-04 22:42:22.289768 [ThreadId 12] - <--2--{"jsonrpc":"2.0","id":0,"method":"client/registerCapability","params":{"registrations":[{"registerOptions":{"documentSelector":{"language":"haskell"}},"method":"workspace/executeCommand","id":"hare:demote"}]}}:
info: Using Stack project at: /Users/xavier/Code/xldenis/ill:
2017-12-04 22:42:22.393041 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.393404 [ThreadId 14] - got request with id: Nothing:
Using hoogle db at: /Users/xavier/.hoogle/default-haskell-5.0.13.hoo:
2017-12-04 22:42:22.393943 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.394071 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":4,"message":"Using hoogle db at: /Users/xavier/.hoogle/default-haskell-5.0.13.hoo"}}:
2017-12-04 22:42:22.394278 [ThreadId 14] - got request with id: Nothing:
info: Found Stack project at: /Users/xavier/Code/xldenis/ill:
info: STACK_EXE set, preferring Stack project:
info: Using Stack project at: /Users/xavier/Code/xldenis/ill:
2017-12-04 22:42:22.540884 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.54123 [ThreadId 14] - got request with id: Nothing:
2017-12-04 22:42:22.541559 [ThreadId 14] - Processing request as version matches:
2017-12-04 22:42:22.59522 [ThreadId 14] - dispatcherP: top of loop:
2017-12-04 22:42:22.595483 [ThreadId 14] - got request with id: Nothing:
2017-12-04 22:42:22.595717 [ThreadId 14] - Processing request as version matches:
DEBUG: reading cache: /Users/xavier/Code/xldenis/ill/.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/setup-config.ghc-mod.cabal-components:
DEBUG: resolveEntrypoint::
["-i","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build","-isrc","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen/cabal_macros.h"]:
DEBUG: resolveEntrypoint::
LSP: <-- textDocument/publishDiagnostics
["-i","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/buil2d0/1i7l-l1-2t-e0s4t /2i2l:l4-2t:e2s2t.-7t0m1p9"9,2" -[iTtherseta"d,I"d- i1.2s]t a-c k<--w-o2r-k-/{d"ijssto/nxr8p6c_"6:4"-2o.s0x"/,C"ambeatlh-o2d."0:."0t.e2x/tbDuoicludm/einltl/-ptuebslti/sahuDtioaggenno"s,t"i-cis."s,t"apcakr-awmosr"k:/{d"iusrti/"x:8"6f_i6l4e-:o/s/x//UCsaebrasl/-x2a.v0i.e0r./2C/obduei/lxdl/dgelnoibsa/li-lalu/tsorgce/nI"l,l"/-CIo.dsetgaecnk.-hwso"r,k"/ddiiasgtn/oxs8t6i_c6s4"-:o[s{x"/sCeavbearli-t2y."0:.30,."2r/abnugiel"d:/{i"lslt-atrets"t:/{a"ultiongee"n:"2,7",-"Ic.hsatraacckt-ewro"r:k2/1d}i,s"te/nxd8"6:_{6"4l-ionsex"/:C2a7b,a"lc-h2a.r0a.c0t.e2r/"b:u3i1l}d}/,g"lsoobuarlc-ea"u:t"ohgleinn"t,"",-"Im.esstsaacgke-"w:o"rRke/dduinsdta/nxt8 6b_r6a4c-koestx\/nCFaobuanld-:2\.n0 . 0(.L2a/mbbudial{d}/)i\lnlW-htye snto/ti:l\ln- t eLsatm-btdmap{"},\"n-"o}p,t{P"-sienvcelruidtey"",:"3-,o"prtaPn.gset"a:c{k"-swtoarrkt/"d:i{s"tl/ixn8e6"_:6341-,o"scxh/aCraabcatle-r2".:03.50}.,2"/ebnudi"l:d{/"illiln-et"e:s3t2/,a"ucthoagreanc/tcearb"a:l6_9m}a}c,r"osso.uhr"c]e:
":"hlint","message":"Redundant do\nFound:\n do typedef (fromString nm)\n (Just $ T.StructureType False $ llvmArgTys)\nWhy not:\n typedef (fromString nm) (Just $ T.StructureType False $ llvmArgTys)\n"},{"severity":4,"range":{"start":{"line":32,"character":34},"end":{"line":32,"character":68}},"source":"hlint","message":"Redundant $\nFound:\n T.StructureType False $ llvmArgTys\nWhy not:\n T.StructureType False llvmArgTys\n"},{"severity":3,"range":{"start":{"line":48,"character":26},"end":{"line":49,"character":15}},"source":"hlint","message":"Redundant do\nFound:\n do unreachable\nWhy not:\n unreachable\n"},{"severity":3,"range":{"start":{"line":57,"character":25},"end":{"line":57,"character":31}},"source":"hlint","message":"Redundant bracket\nFound:\n (Id{})\nWhy not:\n Id{}\n"}]}}:
DEBUG: resolveEntrypoint::
["-i","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/ill-tmp","-iapp","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/autogen","-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/ill-tmp","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/ill/autogen/cabal_macros.h"]:
DEBUG: resolveEntrypoint: []:
DEBUG: making sure autogen files exist:
DEBUG: reading cache: .stack-work/dist/x86_64-osx/Cabal-2.0.0.2/setup-config.ghc-mod.resolved-components:
VOMIT: Using the following mapped files: "/Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs":
VOMIT: Initializing GHC session with following options: "-fbuilding-cabal-package" "-O" "-outputdir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-odir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-hidir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-stubdir" ".stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-i" "-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-isrc" "-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen" "-i.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen" "-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen" "-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/global-autogen" "-I.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build" "-optP-include" "-optP.stack-work/dist/x86_64-osx/Cabal-2.0.0.2/build/autogen/cabal_macros.h" "-this-unit-id" "ill-0.1.0.0-1Uwl6pTjVI3I7AGzQZvALi" "-hide-all-packages" "-Wmissing-home-modules" "-no-user-package-db" "-package-db" "/Users/xavier/.stack/snapshots/x86_64-osx/nightly-2017-10-31/8.2.1/pkgdb" "-package-db" "/Users/xavier/Code/xldenis/ill/.stack-work/install/x86_64-osx/nightly-2017-10-31/8.2.1/pkgdb" "-package-id" "megaparsec-6.2.0-FFfCVvl3couBaRbvjJAQlq" "-package-id" "text-1.2.2.2-Ja5vhWvrB3PHMSPwq0buEf" "-package-id" "base-4.10.0.0" "-package-id" "mtl-2.2.1-19EL8AGBsN3DnnOhrC9xY3" "-package-id" "free-4.12.4-8ba9GYDKZ8aHvmBcbKiAb" "-package-id" "comonad-5.0.2-AJkdorM0Eq34gBAfIhPSf6" "-package-id" "prettyprinter-1.1-64OylnBtbolEhArGDFcs7V" "-package-id" "prettyprinter-ansi-terminal-1.1-Bi4FIWRfLV883xIdkAAKX2" "-package-id" "lens-4.15.4-9nqBRPiZXNvCeZCsneO73P" "-package-id" "unordered-containers-0.2.8.0-Gyt5v4dJjM77pHzycDWM9B" "-package-id" "containers-0.5.10.2" "-package-id" "bifunctors-5.4.2-3X2cod1XF1V8VJmfcxAWhz" "-package-id" "llvm-hs-5.1.0-Kyabbjt1Hxf26NyJ9r37QY" "-package-id" "llvm-hs-pure-5.1.0-BBpjVHHU6l71hhxpLDYYdg" "-package-id" "llvm-hs-pretty-0.1.0.0-DY4O4ahFkjS6lNjHdrnMoh" "-package-id" "irbuilder-0.1.0.0-1MasmLgS3RbJFq45Mfjtc2" "-package-id" "bytestring-0.10.8.2" "-XHaskell2010" "-XFlexibleContexts" "-fwarn-incomplete-uni-patterns" "-fdiagnostics-color=always" "-O0":
DEBUG: initSession: Session not initialized, creating new one:
VOMIT: Using the following targets: "/Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs":
DEBUG: loadTargets::
Loading: /private/var/folders/zd/cdf056jn17s14wlrp527whgw0000gn/T/ghc-mod17493/Codegen17492-0.hs:
DEBUG: loadTargets: filterModSums: True:
info: loadTargets::
Target needs interpeter, switching to LinkInMemory/HscInterpreted. Perfectly normal if anything is using TemplateHaskell, QuasiQuotes or PatternSynonyms.:
DEBUG: loadTargets: Loading done:
2017-12-04 22:42:24.254251 [ThreadId 14] - dispatcherP: top of loop:LSP: <-- window/showMessage
2017-12-04 22:42:24.254393 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/showMessage","params":{"type":1,"message":"Got error while processing diagnostics: These modules are needed for compilation but not listed in your .cabal file's other-modules: Control.Monad.Fresh\n Control.Monad.Unify\n Ill.Syntax.Core\n Ill.Syntax.Kind\n Ill.Syntax.Literal\n Ill.Syntax.Name\n Ill.Syntax.Pretty\n Ill.Syntax.Type"}}:
2017-12-04 22:42:24.257518 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/showMessage","params":{"type":1,"message":"Got error while processing diagnostics: These modules are needed for compilation but not listed in your .cabal file's other-modules: Control.Monad.Fresh\n Control.Monad.Unify\n Ill.Syntax.Core\n Ill.Syntax.Kind\n Ill.Syntax.Literal\n Ill.Syntax.Name\n Ill.Syntax.Pretty\n Ill.Syntax.Type"}}:
2017-12-04 22:42:24.260181 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/xavier/Code/xldenis/ill/src/Ill/Codegen.hs","diagnostics":[{"severity":3,"range":{"start":{"line":27,"character":21},"end":{"line":27,"character":31}},"source":"hlint","message":"Redundant bracket\nFound:\n (Lambda{})\nWhy not:\n Lambda{}\n"},{"severity":3,"range":{"start":{"line":31,"character":35},"end":{"line":32,"character":69}},"source":"hlint","message":"Redundant do\nFound:\n do typedef (fromString nm)\n (Just $ T.StructureType False $ llvmArgTys)\nWhy not:\n typedef (fromString nm) (Just $ T.StructureType False $ llvmArgTys)\n"},{"severity":4,"range":{"start":{"line":32,"character":34},"end":{"line":32,"character":68}},"source":"hlint","message":"Redundant $\nFound:\n T.StructureType False $ llvmArgTys\nWhy not:\n T.StructureType False llvmArgTys\n"},{"severity":3,"range":{"start":{"line":48,"character":26},"end":{"line":49,"character":15}},"source":"hlint","message":"Redundant do\nFound:\n do unreachable\nWhy not:\n unreachable\n"},{"severity":3,"range":{"start":{"line":57,"character":25},"end":{"line":57,"character":31}},"source":"hlint","message":"Redundant bracket\nFound:\n (Id{})\nWhy not:\n Id{}\n"}]}}:
Package Control: Skipping automatic upgrade, last run at 2017-12-04 22:29:01, next run at 2017-12-04 23:29:01 or after
LSP: <-- window/showMessage
LSP: <-- textDocument/publishDiagnostics
This is amazing though, it appears as if code actions work and hits pop up! I can even hover over terms to get type information 馃槃 . Once that annoying popup issue is solved I can finally use HIE!
From messages like
ue,"completionProvider":{"resolveProvideirn"f:ot:r uSeT,A"CtKr_iEggXeEr Csheatr,a cptreerfse"r:r[i"n.g" ]S}t,a"cdke fpirnoijteicotn:
it seems we have a racing condition. Hopefully it's just the logger.
The popups come from these lines:
2017-12-04 22:42:24.254393 [ThreadId 12] - <--2--{"jsonrpc":"2.0","method":"window/showMessage","params":{"type":1,"message":"Got error while processing diagnostics: These modules are needed for compilation but not listed in your .cabal file's other-modules: Control.Monad.Fresh\n Control.Monad.Unify\n Ill.Syntax.Core\n Ill.Syntax.Kind\n Ill.Syntax.Literal\n Ill.Syntax.Name\n Ill.Syntax.Pretty\n Ill.Syntax.Type"}}:
The showMessage is emitted from here:
and it's sort of failed assertion, so it's good that it's so loud in Sublime.
The message about "these modules" originates from GHC itself:
https://github.com/ghc/ghc/commit/b0c9f34aa3da914524ef37294bba78afefc3ada7#diff-cba18dd33a1f0755b737e26ed3bf08e9R200
My suspicion is that it's improperly building the executable as if it's the only target. That would seem to explain why it complains about those other modules.
How do you build the project (stack, cabal etc) and does the message appear during the normal build?
My impression from looking at the hie code was that the messages were legitimate but we don't handle this type of messages correctly so they end as popups.
I build my project iwht stack build and the error never happens. I think the errors are legitimate (ie: ghc is correct in reporting them), but I think that whatever process is triggering the build is doing so incorrectly. (ie: ghc-mod? hie? cabal?).
If you'd like to try it out yourself feel free to clone the project at https://github.com/xldenis/ill and run stack build.
Let me know if I can run any more tests for you though.
Same problem in VS Code. I'm using stack 1.6.1 with ghc 8.2.2.
Really a blocker to use HIE, which is awesome! Hope it'll be resolved soon.
Thanks

I get the same popup in VS Code and it is really annoying as it pops up on every edit.
VS Code UI doesn't necessarily lend well to issues like this: https://github.com/Microsoft/vscode-go/issues/998
In this case it's a diagnostic which is mistakenly reported to vscode as a message. So it's our guilt, not theirs.
Can someone replace fmServerShowMessageNotification with fmServerLogMessageNotification and report if it helped?
This is really a serious error in hie itself, not mere misconfiguration/user error, so the screaming annoying reporting of it was correct.
@nponeccop Yes, that removed the popup for me.
@nponeccop Confirmed. It works.
@nponeccop The workaround works for me, too.
I suppose a fix for the latest version should be
diff --git a/src/Haskell/Ide/Engine/Transport/LspStdio.hs b/src/Haskell/Ide/Engine/Transport/LspStdio.hs
index 02fc890..02fdb47 100644
--- a/src/Haskell/Ide/Engine/Transport/LspStdio.hs
+++ b/src/Haskell/Ide/Engine/Transport/LspStdio.hs
@@ -839,8 +839,8 @@ requestDiagnostics tn cin file ver = do
$ GhcMod.setTypecheckedModule file
callbackg (pd, errs) = do
forM_ errs $ \e -> do
- reactorSend $ NotShowMessage $
- fmServerShowMessageNotification J.MtError
+ reactorSend $ NotLogMessage $
+ fmServerLogMessageNotification J.MtError
$ "Got error while processing diagnostics: " <> e
let ds = Map.toList $ S.toList <$> pd
case ds of
Is this still a problem? If so, please provide an example that I can test against (preferably a git repo or some such)
Most helpful comment
Can someone replace
fmServerShowMessageNotificationwithfmServerLogMessageNotificationand report if it helped?https://github.com/haskell/haskell-ide-engine/blob/fa3a4b12188412bbb86d3273d0c32c13674c2355/src/Haskell/Ide/Engine/Transport/LspStdio.hs#L789-L792
This is really a serious error in
hieitself, not mere misconfiguration/user error, so the screaming annoying reporting of it was correct.