GHC 9.10.2: internal error: ARR_WORDS object (0x4200b1cf68) entered!
Opened this issue ยท 25 comments
Your environment
Which OS do you use?
NixOS
Which version of GHC do you use and how did you install it?
GHC 9.10.2 from haskell.nix
How is your project built (alternative: link to the project)?
This is HLS on HLS, built from the haskell.nix shell using cabal build
Which LSP client (editor/plugin) do you use?
Neovim+neovim/nvim-lspconfig
Which version of HLS do you use and how did you install it?
Latest master
Have you configured HLS in any way (especially: a hie.yaml file)?
No, only what is in the repository
Steps to reproduce
- Build HLS with GHC 9.10.2
- Open
plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs - Make a change
- Restart HLS (In nvim,
:LspRestart
Expected behaviour
HLS does not crash
Actual behaviour
HLS crashes after reporting:
"haskell-language-server: internal error: ARR_WORDS object (0x4200b1cf68) entered!\n (GHC version 9.10.2 for x86_64_unknown_linux)\n Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug\n"
Debug information
Relevant startup log:
"2025-07-25T02:30:26.132827Z | Debug | Build profile: -w ghc-9.10.2 -O1\n"
"2025-07-25T02:30:26.133060Z | Debug | In order, the following will be built (use -v for more details):\n"
"2025-07-25T02:30:26.133163Z | Debug | - haskell-language-server-2.11.0.0 (interactive) (lib:hls-refactor-plugin) (first run)\n"
"2025-07-25T02:30:26.253080Z | Debug | Preprocessing library 'hls-refactor-plugin' for haskell-language-server-2.11.0.0...\n"
"2025-07-25T02:30:26.339931Z | Debug | cabal path --output-format=json\n"
"2025-07-25T02:30:26.382759Z | Debug | /nix/store/dlmzrn4s0kxwkicsg2b2wxyzx2qxsfp7-ghc-shell-for-packages-ghc-9.10.2-env/bin/ghc --print-libdir\n"
"2025-07-25T02:30:26.421502Z | Debug | cabal path --output-format=json\n"
"2025-07-25T02:30:26.461501Z | Debug | /nix/store/dlmzrn4s0kxwkicsg2b2wxyzx2qxsfp7-ghc-shell-for-packages-ghc-9.10.2-env/bin/ghc --numeric-version\n"
'2025-07-25T02:30:26.461852Z | Debug | Session loading result: Right (ComponentOptions {componentOptions = ["-fbuilding-cabal-package","-O0","-outputdir","/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin","-odir","/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin","-hidir","/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin","-hiedir","/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin/extra-compilation-artifacts/hie","-stubdir","/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin","-i","-iplugins/hls-refactor-plugin/src","-i/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin","-i/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin/autogen","-i/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/global-autogen","-I/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin/autogen","-I/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/global-autogen","-I/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin","-optP-include","-optP/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/build/hls-refactor-plugin/autogen/cabal_macros.h","-this-unit-id","haskell-language-server-2.11.0.0-inplace-hls-refactor-plugin","-hide-all-packages","-Wmissing-home-modules","-no-user-package-db","-package-db","/home/sgillespie/.local/state/cabal/store/ghc-9.10.2-inplace/package.db","-package-db","/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/packagedb/ghc-9.10.2","-package-db","/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c/build/x86_64-linux/ghc-9.10.2/haskell-language-server-2.11.0.0/l/hls-refactor-plugin/package.conf.inplace","-package-id","base-4.20.1.0-inplace","-package-id","bytestring-0.12.2.0-inplace","-package-id","containers-0.7-inplace","-package-id","deepseq-1.5.0.0-inplace","-package-id","dlist-1.0-BRkFyhrnf2gAqPbPv0DKDH","-package-id","extra-1.8-4UthXfafDiI53yWjggQ2Np","-package-id","ghc-9.10.2-inplace","-package-id","ghc-boot-9.10.2-inplace","-package-id","ghc-exactprint-1.10.0.0-B98f8GGIpVcIgpM3f8jL3B","-package-id","ghcide-2.11.0.0-inplace","-package-id","hls-graph-2.11.0.0-inplace","-package-id","hls-plugin-api-2.11.0.0-inplace","-package-id","lens-5.3.4-BRQ5B6odwd1KHg2I2i8Lka","-package-id","lsp-2.7.0.1-5Dk24pKjnRhHKOSlIc31iN","-package-id","mtl-2.3.1-inplace","-package-id","parser-combinators-1.3.0-AZPQifD2u9XAGjjtwsklEW","-package-id","regex-applicative-0.3.4-LpFYAP5LAB06rIBZEWjhyo","-package-id","regex-tdfa-1.3.2.4-I9cUetuLSCWCf7Kjon2wDb","-package-id","syb-0.7.2.4-8QhDaSTJ74qKpmP6apH5VS","-package-id","text-2.1.2-inplace","-package-id","text-rope-0.3-Fq1JVsU5Fos8TdLQZDN0vX","-package-id","time-1.12.2-inplace","-package-id","transformers-0.6.1.1-inplace","-package-id","unordered-containers-0.2.20-4FBlVESvUyCKzqDeEuCeFl","-XGHC2021","-XExplicitNamespaces","-XCPP","-XDataKinds","-XDerivingStrategies","-XDerivingVia","-XDuplicateRecordFields","-XFunctionalDependencies","-XLambdaCase","-XOverloadedStrings","-XPatternSynonyms","-XRecordWildCards","-XViewPatterns","Development.IDE.GHC.ExactPrint","Development.IDE.GHC.Compat.ExactPrint","Development.IDE.Plugin.CodeAction","Development.IDE.Plugin.CodeAction.Util","Development.IDE.GHC.Dump","Development.IDE.Plugin.CodeAction.Args","Development.IDE.Plugin.CodeAction.ExactPrint","Development.IDE.Plugin.CodeAction.PositionIndexed","Development.IDE.Plugin.Plugins.AddArgument","Development.IDE.Plugin.Plugins.Diagnostic","Development.IDE.Plugin.Plugins.FillHole","Development.IDE.Plugin.Plugins.FillTypeWildcard","Development.IDE.Plugin.Plugins.ImportUtils","-Wall","-Wredundant-constraints","-Wunused-packages","-Wno-name-shadowing","-Wno-unticked-promoted-constructors","-hide-all-packages","-haddock"], componentRoot = "/home/sgillespie/dev/haskell/haskell-language-server", componentDependencies = ["haskell-language-server.cabal","cabal.project","cabal.project.local"]},"/nix/store/dlmzrn4s0kxwkicsg2b2wxyzx2qxsfp7-ghc-shell-for-packages-ghc-9.10.2-env/lib/ghc-9.10.2/lib","9.10.2")\n'
"2025-07-25T02:30:26.487726Z | Info | Interface files cache directory: /home/sgillespie/.cache/ghcide/haskell-language-server-2.11.0.0-inplace-hls-refactor-plugin-4dbc86b93197ef38c1d11456a650378024d3c59e\n"
"2025-07-25T02:30:26.504013Z | Info | Making new HscEnv. In-place unit ids: [ haskell-language-server-2.11.0.0-inplace-hls-refactor-plugin ]\n"
'2025-07-25T02:30:26.549397Z | Debug | New component cache HscEnvEq: (([],Just HscEnvEq 7),fromList [("cabal.project",Just 2025-07-21 13:41:38.777631389 UTC),("cabal.project.local",Nothing),("haskell-language-server.cabal",Just 2025-07-11 02:51:25.861141305 UTC)])\n'
"2025-07-25T02:30:26.582610Z | Debug | Finished build session\nAsyncCancelled\nHasCallStack backtrace:\n collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:169:13 in ghc-internal:GHC.Internal.Exception\n toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO\n throwIO, called at libraries/ghc-internal/src/GHC/Internal/Control/Exception/Base.hs:195:43 in ghc-internal:GHC.Internal.Control.Exception.Base\n\n\n"
"2025-07-25T02:30:26.589497Z | Debug | Known files updated:\n"
' fromList [(TargetModule (ModuleName "Development.IDE.Plugin.CodeAction.PositionIndexed"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction/PositionIndexed.hs"]),(TargetModule (ModuleName "Development.IDE.GHC.ExactPrint"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/GHC/ExactPrint.hs"]),(TargetModule (ModuleName "Development.IDE.GHC.Compat.ExactPrint"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/GHC/Compat/ExactPrint.hs"]),(TargetModule (ModuleName "Development.IDE.GHC.Dump"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/GHC/Dump.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.Plugins.FillHole"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.CodeAction"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction.hs"]),(TargetFile NormalizedFilePath "/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs",fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.Plugins.Diagnostic"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/Diagnostic.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.Plugins.ImportUtils"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/ImportUtils.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.Plugins.AddArgument"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/AddArgument.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.Plugins.FillTypeWildcard"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillTypeWildcard.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.CodeAction.Util"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction/Util.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.CodeAction.Args"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction/Args.hs"]),(TargetModule (ModuleName "Development.IDE.Plugin.CodeAction.ExactPrint"),fromList ["/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/CodeAction/ExactPrint.hs"])]\n'
"2025-07-25T02:30:26.589994Z | Debug | Restarting build session due to new component\nAction Queue: []\nKeys: [ IsFileOfInterest; /home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs\n , GhcSessionIO; \n , GetKnownTargets; ]\nAborting previous build session took 0.00s \n"
'2025-07-25T02:30:26.590779Z | Debug | hlint: Getting hlint ideas for NormalizedFilePath "/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs"\n'
'2025-07-25T02:30:26.661533Z | Debug | hlint: Using extensions for NormalizedFilePath "/home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs":\n [ MonomorphismRestriction\n , RelaxedPolyRec\n , ForeignFunctionInterface\n , ImplicitPrelude\n , ScopedTypeVariables\n , BangPatterns\n , OverloadedStrings\n'
" , DisambiguateRecordFields\n , RecordWildCards\n , NamedFieldPuns\n , ViewPatterns\n , GADTSyntax\n , DoAndIfThenElse\n , ConstraintKinds\n , PolyKinds\n , DataKinds\n , InstanceSigs\n , StandaloneDeriving\n , DeriveDataTypeable\n , DeriveFunctor\n , DeriveTraversable\n , DeriveFoldable\n , DeriveGeneric\n , DeriveLift\n , DerivingStrategies\n , DerivingVia\n , TypeSynonymInstances\n , FlexibleContexts\n , FlexibleInstances\n , ConstrainedClassMethods\n , MultiParamTypeClasses\n , FunctionalDependencies\n , ExistentialQuantification\n , EmptyDataDecls\n , KindSignatures\n"
" , GeneralizedNewtypeDeriving\n , PostfixOperators\n , TupleSections\n , PatternGuards\n , RankNTypes\n , TypeOperators\n , ExplicitNamespaces\n , ExplicitForAll\n , TraditionalRecordSyntax\n , LambdaCase\n , BinaryLiterals\n , HexFloatLiterals\n , DuplicateRecordFields\n , EmptyCase\n , PatternSynonyms\n"
" , NamedWildCards\n , TypeApplications\n , EmptyDataDeriving\n , NumericUnderscores\n , StarIsType\n , ImportQualifiedPost\n , StandaloneKindSignatures\n , FieldSelectors\n , ListTuplePuns ]\n"
"haskell-language-server: internal error: ARR_WORDS object (0x4200b1d080) entered!\n (GHC version 9.10.2 for x86_64_unknown_linux)\n Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug\n"
EDIT: I can reproduce with ghc9102 from nixpkgs, which would seem to rule out a problem from haskell.nix:
"haskell-language-server: internal error: ARR_WORDS object (0x42010071e8) entered!\nStack trace:\n"
"haskell-language-server: Failed to get stack frames of current process: No DWARF information found: Success\n 0x7fde16584570 set_initial_registers (/nix/store/ki6b1isnf9fy9qldhcv5ad0gyh5rch44-ghc-9.10.2/lib/ghc-9.10.2/lib/x86_64-linux-ghc-9.10.2/libHSrts-1.0.2_thr-ghc9.10.2.so)\n"
" 0x7fde15fbe660 dwfl_thread_getframes (/nix/store/qwmm6h7n1qk2xad64i4ncr9is17gfcf4-elfutils-0.193/lib/libdw-0.193.so)\n"
" 0x7fde15fbe07b get_one_thread_cb (/nix/store/qwmm6h7n1qk2xad64i4ncr9is17gfcf4-elfutils-0.193/lib/libdw-0.193.so)\n 0x7fde15fbe464 dwfl_getthreads (/nix/store/qwmm6h7n1qk2xad64i4ncr9is17gfcf4-elfutils-0.193/lib/libdw-0.193.so)\n"
" 0x7fde15fbe9d2 dwfl_getthread_frames (/nix/store/qwmm6h7n1qk2xad64i4ncr9is17gfcf4-elfutils-0.193/lib/libdw-0.193.so)\n"
" 0x7fde16584cb7 libdwGetBacktrace (/nix/store/ki6b1isnf9fy9qldhcv5ad0gyh5rch44-ghc-9.10.2/lib/ghc-9.10.2/lib/x86_64-linux-ghc-9.10.2/libHSrts-1.0.2_thr-ghc9.10.2.so)\n"
" 0x7fde1658e137 rtsFatalInternalErrorFn (/nix/store/ki6b1isnf9fy9qldhcv5ad0gyh5rch44-ghc-9.10.2/lib/ghc-9.10.2/lib/x86_64-linux-ghc-9.10.2/libHSrts-1.0.2_thr-ghc9.10.2.so)\n"
" 0x7fde1658e38f barf (/nix/store/ki6b1isnf9fy9qldhcv5ad0gyh5rch44-ghc-9.10.2/lib/ghc-9.10.2/lib/x86_64-linux-ghc-9.10.2/libHSrts-1.0.2_thr-ghc9.10.2.so)\n"
" 0x7fde165ce513 stg_ARR_WORDS_info (/nix/store/ki6b1isnf9fy9qldhcv5ad0gyh5rch44-ghc-9.10.2/lib/ghc-9.10.2/lib/x86_64-linux-ghc-9.10.2/libHSrts-1.0.2_thr-ghc9.10.2.so)\n"
"(GHC version 9.10.2 for x86_64_unknown_linux)\n Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug\n"
Furthermore, I cannot reproduce this with ghc-9.10.1 (from either nixpkgs or haskell.nix)
same for hls-ormolu-plugin-tests
Running 1 test suites...
Test suite hls-ormolu-plugin-tests: RUNNING...
ormolu
lib
formats correctly: OK (0.15s)
formats imports correctly: OK (0.12s)
hls-ormolu-plugin-tests: internal error: ARR_WORDS object (0x4201cb3ed0) entered!
(GHC version 9.10.2 for x86_64_unknown_linux)
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
formats operators correctly: Test suite hls-ormolu-plugin-tests: FAIL
Test suite logged to:
/home/runner/work/haskell-language-server/haskell-language-server/./dist-newstyle/build/x86_64-linux/ghc-9.10.2/hls-2.11.0.0/t/hls-ormolu-plugin-tests/test/hls-2.11.0.0-hls-ormolu-plugin-tests.log
0 of 1 test suites (0 of 1 test cases) passed.
I just tested this on the newly released HLS 2.12.0.0, using exactly the steps above. Unfortunately, it is a problem there:
Info | cabal --builddir=/home/sgillespie/.cache/hie-bios/dist-haskell-language-server-ccd5fdede35faf3d569dc3d8e551e25c v2-repl --with-compiler /home/sgillespie/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /home/sgillespie/.cache/hie-bios/ghc-pkg-9caa5be081f5ef06def820b271326d60 /home/sgillespie/dev/haskell/haskell-language-server/plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs\n Environment Variables\n HIE_BIOS_OUTPUT: /tmp/HIE_BIOS_OUTPUT687799-0\n HIE_BIOS_GHC: /nix/store/z5zjiwwgaa336zdy8vsiq7sdal7dlyc1-ghc-shell-for-packages-ghc-9.10.2-env/bin/ghc\n HIE_BIOS_GHC_ARGS: -B/nix/store/z5zjiwwgaa336zdy8vsiq7sdal7dlyc1-ghc-shell-for-packages-ghc-9.10.2-env/lib/ghc-9.10.2/lib\n"
Info | Interface files cache directory: /home/sgillespie/.cache/ghcide/haskell-language-server-2.12.0.0-inplace-hls-refactor-plugin-b1cdc4e9c34738da1a3eb687c8a5ad8dd720803f\n"
Info | Making new HscEnv. In-place unit ids: [ haskell-language-server-2.12.0.0-inplace-hls-refactor-plugin ]\n"
# <-- A bunch of output
"haskell-language-server: internal error: ARR_WORDS object (0x4200807e70) entered!\n (GHC version 9.10.2 for x86_64_unknown_linux)\n Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug\n"
CC @wz1000
Does this reproduce with ghc-9.10.3?
Does this reproduce with ghc-9.10.3?
It does:
haskell-language-server: internal error: ARR_WORDS object (0x4200807e08) entered!
haskell-language-server: Failed to get stack frames of current process: No DWARF information found: Success
0x7f7d5db83970 set_initial_registers (/nix/store/4mr9hd1i6hc7xxjgddxlwvkf72mab5r8-ghc-9.10.3/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3/libHSrts-1.0.2_thr-ghc9.10.3.so)
0x7f7d5d5be660 dwfl_thread_getframes (/nix/store/hnzqas16kwcvaj2j5wb4izxdh692f9vn-elfutils-0.193/lib/libdw-0.193.so)
0x7f7d5d5be07b get_one_thread_cb (/nix/store/hnzqas16kwcvaj2j5wb4izxdh692f9vn-elfutils-0.193/lib/libdw-0.193.so)
0x7f7d5d5be464 dwfl_getthreads (/nix/store/hnzqas16kwcvaj2j5wb4izxdh692f9vn-elfutils-0.193/lib/libdw-0.193.so)
0x7f7d5d5be9d2 dwfl_getthread_frames (/nix/store/hnzqas16kwcvaj2j5wb4izxdh692f9vn-elfutils-0.193/lib/libdw-0.193.so)
0x7f7d5db840b7 libdwGetBacktrace (/nix/store/4mr9hd1i6hc7xxjgddxlwvkf72mab5r8-ghc-9.10.3/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3/libHSrts-1.0.2_thr-ghc9.10.3.so)
0x7f7d5db8d437 rtsFatalInternalErrorFn (/nix/store/4mr9hd1i6hc7xxjgddxlwvkf72mab5r8-ghc-9.10.3/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3/libHSrts-1.0.2_thr-ghc9.10.3.so)
0x7f7d5db8d68f barf (/nix/store/4mr9hd1i6hc7xxjgddxlwvkf72mab5r8-ghc-9.10.3/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3/libHSrts-1.0.2_thr-ghc9.10.3.so)
0x7f7d5dbcdd9b stg_ARR_WORDS_info (/nix/store/4mr9hd1i6hc7xxjgddxlwvkf72mab5r8-ghc-9.10.3/lib/ghc-9.10.3/lib/x86_64-linux-ghc-9.10.3/libHSrts-1.0.2_thr-ghc9.10.3.so)
(GHC version 9.10.3 for x86_64_unknown_linux)
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
FWIW I cannot reproduce this on 9.12.2
If someone could turn this into a non-interactive reproducer and open a ghc ticket it would be much appreciated.
@maralorn is ghc9102 in nixpkgs patched? Is there any out-of-the-ordinary build configuration?
I tried this via ghcup, as in:
ghcup compile hls -g 2.12.0.0 --ghc 9.10.3
And I cannot reproduce this.
All patches that we apply can be found here: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/ghc/common-hadrian.nix#L179 I canโt tell for sure but nothing seems to apply. So possibly this error would be reproducible with a compiler from nixpkgs.
(Just to be clear: This report uses a non-nixpkgs compiler out of haskell.nix.)
@maralorn the initial post mentions that they tried it with ghc9102 from nixpkgs as well.
Correction... I see it now:
[ERROR][2025-10-07 22:15:38] ...p/_transport.lua:36 "rpc" "/home/hasufell/.ghcup/bin/haskell-language-server-wrapper" "stderr" "haskell-language-server-9.10.3: internal error: ARR_WORDS object (0x42376ff378) entered!\n (GHC version 9.10.3 for x86_64_unknown_linux)\n Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug\n"
I had to do a bit more file changes for it to trigger.
All patches that we apply can be found here: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/ghc/common-hadrian.nix#L179 I canโt tell for sure but nothing seems to apply. So possibly this error would be reproducible with a compiler from nixpkgs.
(Just to be clear: This report uses a non-nixpkgs compiler out of haskell.nix.)
I've also tested and reproduced with nixpkgs (haskell.compiler.ghc9102 and haskell.compiler.ghc9103)
If someone could turn this into a non-interactive reproducer and open a ghc ticket it would be much appreciated.
@AndreasPK Seems like there is a a potentially related ticket already https://gitlab.haskell.org/ghc/ghc/-/issues/26033
@maralorn is ghc9102 in nixpkgs patched? Is there any out-of-the-ordinary build configuration?
I tried this via ghcup, as in:
ghcup compile hls -g 2.12.0.0 --ghc 9.10.3And I cannot reproduce this.
Correction... I see it now:
Just to add to the above, at work we have reproduced this issue as well using ghc from ghcup and compiling hls with ghcup with one additional flag:
ghcup compile hls -g 2.12.0.0 --ghc 9.10.3 --cabal-update
I don't imagine the additional --cabal-update would make any difference for this particular issue but stating it to be complete.
I will link to this discussion on the ghc issue listed above to be sure there is visibility both directions.
Hello, I would just like to report I ran into this issue as well, using the same HLS and GHC versions (2.12.0.0 and 9.10.3). The commit qxjit made referencing this issue, compiling HLS excluding hlint, made the issue go away for me.
@telser and I have been investigating this.
It seems to be somehow (probably indirectly?) related to this line in the hlint plugin:
If I remove that line and just return
pure (defaultParseFlags, [], mempty)
instead, the issue goes away. (If I leave the argsSettings line in and throw away its result the error still happens)
We created as minimal a reproduction setup as we were able in a branch of one of our projects here: https://github.com/flipstone/shrubbery/tree/hls-arr-word-crash-setup
We've hit a bit of a wall digging into this though. Does anyone have any suggestions or guidance?
Great investigation, I was also able to reproduce it, will also take a look next week (not around this week).
I have encountered this bug using HLS 2.12.0.0 (with ghc-9.10.3)
haskell-language-server-9.10.3: internal error: ARR_WORDS object (0x16b6dee40) entered!
(GHC version 9.10.3 for aarch64_apple_darwin)
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
[Error - 14:23:10] Server process exited with signal SIGABRT.
Previously in the output I saw this error (repeatedly)
[Error - 14:23:04] 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
In VS code settings, I switched on Haskell โบ Plugin โบ Semantic Tokens: Global On
and the problem seems to have gone away.
Sadly, @chrisreade's VS Code settings 'fix' did not work in my case. EDIT1: However, the suggested disabling of Haskell > Plugin > Hlint: Code Actions On and Haskell > Plugin > Hlint: Diagnostics On did work.
EDIT2: In fact, it was sufficient to disable only Haskell > Plugin > Hlint: Diagnostics On.
In case you need more reproducers:
Any ideas how can I disable hlint plugin, when just invoking standalone haskell-language-server?
Any ideas how can I disable hlint plugin, when just invoking standalone haskell-language-server?
That's not supported, the only thing you can do is recompile HLS from source and removing the hlint plugin, for example with ghcup:
ghcup compile hls -v 2.12.0.0 --ghc 9.10.3 -- -f-hlint
This removes the hlint plugin at compile time.
I have encountered this bug using HLS 2.12.0.0 (with ghc-9.10.3)
haskell-language-server-9.10.3: internal error: ARR_WORDS object (0x16b6dee40) entered! (GHC version 9.10.3 for aarch64_apple_darwin) Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug [Error - 14:23:10] Server process exited with signal SIGABRT.Previously in the output I saw this error (repeatedly)
[Error - 14:23:04] 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: -32601In VS code settings, I switched on Haskell โบ Plugin โบ Semantic Tokens: Global On and the problem seems to have gone away.
Correction. So far it fixed the repeated error message (Code: -32601) but not the internal error with SIGABRT which has since reoccured.
Is it the same issue as https://gitlab.haskell.org/ghc/ghc/-/issues/26553 ?
Is it the same issue as https://gitlab.haskell.org/ghc/ghc/-/issues/26553 ?
Seems to be the same underlying GHC bug, but I'm not sure what is triggering it.
I have a project which loads in VS code and the identifiers all have hover-over working as expected.
However if I edit an identifier (to something not defined), the HLS server aborts (reporting it tried to restart 5 times
and reporting the same GHC bug).
If I edit back to a defined identifier then restart VS code, it loads again without aborting.
Added in Edit:
I tried another change to an expression and got the following abort message but this time a successful restart of HLS
2025-11-08T10:22:14.943956Z | Warning | semanticTokens: SemanticTokens' dependency error: Rule Failed: GetHieAst
[Error - 10:22:15] Request textDocument/foldingRange failed.
Message: codeRange: Rule Failed: GetCodeRange
Code: -32803
2025-11-08T10:22:16.447229Z | Warning | semanticTokens: SemanticTokens' dependency error: Rule Failed: GetHieAst
haskell-language-server-9.10.3: internal error: ARR_WORDS object (0x16c172e40) entered!
(GHC version 9.10.3 for aarch64_apple_darwin)
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
[Error - 10:22:16] Server process exited with signal SIGABRT.
[Info - 10:22:16] Connection to server got closed. Server will restart.