Skip to content

GHC 9.10.2: internal error: ARR_WORDS object (0x4200b1cf68) entered! #4674

@sgillespie

Description

@sgillespie

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

  1. Build HLS with GHC 9.10.2
  2. Open plugins/hls-refactor-plugin/src/Development/IDE/Plugin/Plugins/FillHole.hs
  3. Make a change
  4. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: 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