Skip to content

internal error: ARR_WORDS object (00007ff45509d638) entered

Prelude

I just decided to try haskell so please excuse possible lack of knowledge. Also i feel like this is rather an lsp error, however the error says "Please report this as a GHC bug" so I'll obey.

Summary

Typing in a simple haskell programm will crash the lsp with following message:

haskell-language-server-9.10.3.exe: internal error: ARR_WORDS object (00007ff45509d638) entered!
    (GHC version 9.10.3 for x86_64_unknown_mingw32)
    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
haskell-language-server-wrapper.exe: Uncaught exception ghc-internal:GHC.Internal.IO.Exception.IOException:

Steps to reproduce

On a x86_64 Windows machine. Downloaded the latest GHC from https://www.haskell.org/ghc/download_ghc_9_10_3.html#windows64 and added the ../bin folder to my path.

Downloaded the haskell-Language-server from https://downloads.haskell.org/~hls/haskell-language-server-2.12.0.0/. Created a Main.hs with following content:

main :: IO ()
main = do
    content <- readFile "input.csv"
    let ls = lines content
    let colNames = head' ls
    print colNames
    print $ unlines ls

head' (x:_) = x

Started ghci and set the editor to nvim. Loaded Main.hs

Note: I just started typing the let.

main :: IO ()
main = do
    content <- readFile "input.csv"
    let ls = lines content
    let colNames = head' ls
    le -- started typing here
    print colNames
    print $ unlines ls

head' (x:_) = x

This will crash the lsp with the

Full Trace

❯ cat .\Main.hs
main :: IO ()
main = do
    content <- readFile "input.csv"
    let ls = lines content
    let colNames = head' ls
    le
    -- writeFile "./output.txt" $ unlines ls


head' (x:_) = x
❯ haskell-language-server-wrapper
No 'hie.yaml' found. Try to discover the project type!
Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper.exe) Version 2.12.0.0, Git revision 7d983de4fa7ff54369f6dd31444bdb9869aec83e (dirty) x86_64 ghc-9.12.2
Current directory: C:\Users\zian\haskell
Operating system: mingw32
Arguments: []
Cradle directory: C:\Users\zian\haskell
Cradle type: Default

Tool versions found on the $PATH
cabal:          Not found
stack:          Not found
ghc:            9.10.3


Consulting the cradle to get project GHC version...
2025-11-07T13:33:42.174696Z | Debug | ghc --numeric-version
Project GHC version: 9.10.3
haskell-language-server exe candidates: ["haskell-language-server-9.10.3.exe","haskell-language-server.exe"]
Launching haskell-language-server exe at:C:\Users\zian\haskell-language-server-2.12.0.0-x86_64-mingw64\haskell-language-server-9.10.3.exe
2025-11-07T13:33:42.197373Z | Info | haskell-language-server version: 2.12.0.0 (GHC: 9.10.3) (PATH: C:\Users\zian\haskell-language-server-2.12.0.0-x86_64-mingw64\haskell-language-server-9.10.3.exe) (GIT hash: 7d983de4fa7ff54369f6dd31444bdb9869aec83e)
2025-11-07T13:33:42.204520Z | Info | Directory: C:\Users\zian\haskell
2025-11-07T13:33:42.206533Z | Info | Logging heap statistics every 60.00s
 ghcide setup tester in C:\Users\zian\haskell.
Report bugs at https://github.com/haskell/haskell-language-server/issues

Step 1/4: Finding files to test in C:\Users\zian\haskell
Found 1 files

Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
  ()

Step 3/4: Initializing the IDE

Step 4/4: Type checking the files
2025-11-07T13:33:42.229403Z | Info | Cradle path: Main.hs
2025-11-07T13:33:42.229403Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for Main.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
2025-11-07T13:33:42.235402Z | Info | invoking build tool to determine build flags (this may take some time depending on the cache)
2025-11-07T13:33:42.338814Z | Info | Interface files cache directory: C:\Users\zian\AppData\Local\ghcide\main-da39a3ee5e6b4b0d3255bfef95601890afd80709-da39a3ee5e6b4b0d3255bfef95601890afd80709
2025-11-07T13:33:42.343827Z | Info | Making new HscEnv. In-place unit ids: [ main-da39a3ee5e6b4b0d3255bfef95601890afd80709 ]
2025-11-07T13:33:42.538025Z | Info | Add dependency C:\Users\zian\haskell\Main.hs
[]
haskell-language-server-9.10.3.exe: internal error: ARR_WORDS object (00007ff4958a9fd8) entered!
    (GHC version 9.10.3 for x86_64_unknown_mingw32)
    Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
haskell-language-server-wrapper.exe: Uncaught exception ghc-internal:GHC.Internal.IO.Exception.IOException:

callProcess: C:\Users\zian\haskell-language-server-2.12.0.0-x86_64-mingw64\haskell-language-server-9.10.3.exe (exit -1073740791): failed

HasCallStack backtrace:
  ioError, called at libraries\process\System\Process.hs:379:7 in process-1.6.25.0-4f52:System.Process
Edited by Andi Zimmermann
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information