Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HLS hangs on "Processing..." and does not finish even after hours of waiting #4369

Closed
Ai-Ya-Ya opened this issue Jul 31, 2024 · 4 comments
Closed

Comments

@Ai-Ya-Ya
Copy link

Your environment

Which OS do you use:

Windows 10

Using Stack v3.1.1, GHC 9.6.6

Steps to reproduce

  1. Create a rio Stack project: stack new new-project rio
  2. (Optional) Restart Haskell LSP server

Expected behaviour

I expect the extension to finish processing.

Actual behaviour

The extension is stuck on "Processing: 2/3" or "...3/3" or something like that. I have waited seven hours and yet it still hangs.

Include debug information

Execute in the root of your project the command haskell-language-server-wrapper --debug . and paste the logs here (you can find the executable location here):

There is no progress beyond the point I cut off.

Debug output:
No 'hie.yaml' found. Try to discover the project type!
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper-2.4.0.0.exe) Version 2.4.0.0 x86_64 ghc-9.4.7
Current directory: C:\Users\Allen\Documents\MMSimulator
Operating system: mingw32
Arguments: ["--debug"]
Cradle directory: C:\Users\Allen\Documents\MMSimulator
Cradle type: Stack

Tool versions found on the $PATH
cabal:          3.6.2.1
stack:          2.11.1
ghc:            9.4.7


Consulting the cradle to get project GHC version...
2024-07-31T17:18:16.182919Z | Debug | executing command: stack setup --silent
2024-07-31T17:18:21.365419Z | Debug | executing command: stack exec ghc -- --numeric-version
Project GHC version: 9.6.6
haskell-language-server exe candidates: ["haskell-language-server-9.6.6.exe","haskell-language-server.exe"]
Failed to find a HLS version for GHC 9.6.6
Executable names we failed to find: haskell-language-server-9.6.6.exe,haskell-language-server.exe
 2024-07-31T17:18:22.178668Z | Info | Starting server

Paste the contents of extension specific log, you can check instructions about how to find it here

Note the absurd number of "heap size" logs the extension prints while making zero progress.

Extension log:
Pasting in separate file, too large here

logs.txt

@fendor fendor transferred this issue from haskell/vscode-haskell Aug 1, 2024
@fendor
Copy link
Collaborator

fendor commented Aug 1, 2024

Hi, thank you for opening the issue!

I transferred this issue to Haskell-language-server, as this is likely a bug with the backend, not the plugin.

@fendor
Copy link
Collaborator

fendor commented Aug 1, 2024

This feels to me like a stack bug, see:

$ rm -rf .stack-work
$ stack repl new-project:exe:new-project-exe
Using main module:
1.  Package new-project, component new-project:exe:new-project-exe, with main-is file: /home/hugin/Documents/haskell/new-project/app/Main.hs.

new-project> configure (lib + exe)
Configuring new-project-0.1.0.0...
new-project> initial-build-steps (lib + exe)

Warning: The following GHC options are incompatible with GHCi and have not been passed to it: -threaded.
         
Configuring GHCi with the following packages: new-project.
GHCi, version 9.6.6: https://www.haskell.org/ghc/  :? for help
<command line>: cannot satisfy -package new-project-0.1.0.0
    (use -v for more information)

Looks like commercialhaskell/stack#5380 or some variant of it.

Note, HLS (and stack) work fine if you run stack build first.

$ stack build
new-project> build (lib + exe) with ghc-9.6.6
Preprocessing library for new-project-0.1.0.0..
Building library for new-project-0.1.0.0..
[1 of 5] Compiling Paths_new_project
[2 of 5] Compiling Types
[3 of 5] Compiling Import
[4 of 5] Compiling Run
[5 of 5] Compiling Util
Preprocessing executable 'new-project-exe' for new-project-0.1.0.0..
Building executable 'new-project-exe' for new-project-0.1.0.0..
[1 of 2] Compiling Paths_new_project
[2 of 2] Compiling Main
[3 of 3] Linking .stack-work/dist/x86_64-linux/ghc-9.6.6/build/new-project-exe/new-project-exe
new-project> copy/register
Installing library in /home/hugin/Documents/haskell/new-project/.stack-work/install/x86_64-linux/de2f04e00fd5344eebce6aa8b9e0698e7ec33c4b17bf7fc18a6f9f06a31d9a2f/9.6.6/lib/x86_64-linux-ghc-9.6.6/new-project-0.1.0.0-E8HzAoMocoqDnGWrx6FaFD
Installing executable new-project-exe in /home/hugin/Documents/haskell/new-project/.stack-work/install/x86_64-linux/de2f04e00fd5344eebce6aa8b9e0698e7ec33c4b17bf7fc18a6f9f06a31d9a2f/9.6.6/bin
Registering library for new-project-0.1.0.0..
$ stack repl new-project:exe:new-project-exe
Using main module:
1.  Package new-project, component new-project:exe:new-project-exe, with main-is file: /home/hugin/Documents/haskell/new-project/app/Main.hs.


Warning: The following GHC options are incompatible with GHCi and have not been passed to it: -threaded.
         
Configuring GHCi with the following packages: new-project.
GHCi, version 9.6.6: https://www.haskell.org/ghc/  :? for help
[1 of 3] Compiling Paths_new_project ( /home/hugin/Documents/haskell/new-project/.stack-work/dist/x86_64-linux/ghc-9.6.6/build/new-project-exe/autogen/Paths_new_project.hs, interpreted )
[2 of 3] Compiling Main             ( /home/hugin/Documents/haskell/new-project/app/Main.hs, interpreted )
Ok, two modules loaded.
Loaded GHCi configuration from /home/hugin/.cache/stack/ghci-script/45022edf/ghci-script
ghci> :q
Leaving GHCi.

@fendor
Copy link
Collaborator

fendor commented Aug 1, 2024

Relevant HLS issue: #366

@fendor
Copy link
Collaborator

fendor commented Aug 1, 2024

Closing as duplicate, but feel free to comment if I am missing something!

@fendor fendor closed this as completed Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants