Skip to content

HLS often cannot find a .hi.core file in ~/.cache/ghcide/ #4145

Closed
@siddharth-krishna

Description

@siddharth-krishna

Your environment

Which OS do you use?
MacOS 11.7.10 and 14
Which version of GHC do you use and how did you install it?
9.2.8 via ghcup (0.1.22.0)
How is your project built (alternative: link to the project)?
cabal (or nix + cabal)
https://github.com/plow-technologies/inferno

Which LSP client (editor/plugin) do you use?
vscode (v1.87.2) + Haskell plugin (v2.4.3)
Which version of HLS do you use and how did you install it?
2.7.0.0 via ghcup
Have you configured HLS in any way (especially: a hie.yaml file)?
No

Steps to reproduce

I cannot reproduce it myself deterministically, but it happens so often that I'm opening a bug report. Today I tried on a fresh laptop, fresh ghcup + ghc + hls install, fresh install of vscode's Haskell plugin, and within an hour I saw this error again. Here's the steps:

  • Install ghcup using official instructions
  • Install ghc 9.2.8 and hls 2.7.0.0 using ghcup
  • Install vscode and Haskell plugin
  • Wait for HLS to startup, find ghc and hls using ghcup, and build the project. It all works perfectly for a while.
  • But at some point, some files start to show an error on the first line that it cannot find a .hi.core file in ~/.cache/ghcide/...

Expected behaviour

No such error.

Actual behaviour

I see a red squiggle on the first line of the file, with the error:

/Users/sid/.cache/ghcide/inferno-core-0.11.1.0-inplace-bdea44f530a52e915c4b2a4fb12efa71e6fd5f24/Inferno/Infer.hi.core: getFileStatus: does not exist (No such file or directory)

Debug information

The vscode output window for Haskell shows some errors, but I don't know if they are related:

2024-03-21T13:20:36.759358Z | Warning | No plugin handles this "textDocument/semanticTokens/full" request.
[Error - 15:20:36] Request textDocument/semanticTokens/full failed.
  Message: No plugins are available to handle this SMethod_TextDocumentSemanticTokensFull request.
 Plugins installed for this method, but not available to handle this request are:
semanticTokens is disabled globally in your config.
  Code: -32601 
[Error - 15:23:06] Request textDocument/foldingRange failed.
  Message: codeRange: Rule Failed: GetCodeRange
  Code: -32803 
...

Thank you for all your awesome work 🙌


EDIT: Clearing the ~/.cache/ghcide/ and ~/.cache/hie-bios/ directories helps for a while, but the error is back soon.

Metadata

Metadata

Assignees

Labels

component: ghcidepriority: highHigh priority itemtype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions