
#8743: The impossible happened : Prelude.(!!): index too large ---------------------------------------+---------------------------------- Reporter: erikd | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Compiler | Version: 7.8.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: x86_64 (amd64) Type of failure: Compile-time crash | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ---------------------------------------+---------------------------------- Comment (by rwbarton): Okay, success. {{{ *** Exception (reporting due to +RTS -xc): (THUNK_1_0), stack trace: GHC.List.CAF --> evaluated by: WwLib.deepSplitCprType_maybe.con, called from WwLib.mkWWcpr, called from WwLib.mkWwBodies, called from WorkWrap.splitFun, called from WorkWrap.splitFun, called from WorkWrap.tryWW.doSplit, called from WorkWrap.wwBind, called from WorkWrap.wwTopBinds, called from WorkWrap.wwTopBinds, called from UniqSupply.initUs_, called from WorkWrap.wwTopBinds, called from WorkWrap.wwTopBinds, called from SimplCore.doPassDFU, called from ... }}} The offending code is {{{#!haskell deepSplitCprType_maybe fam_envs con_tag ty | let (co, ty1) = topNormaliseType_maybe fam_envs ty `orElse` (mkReflCo Representational ty, ty) , Just (tc, tc_args) <- splitTyConApp_maybe ty1 , isDataTyCon tc , let cons = tyConDataCons tc con = ASSERT( cons `lengthAtLeast` con_tag ) cons !! (con_tag - fIRST_TAG) = Just (con, tc_args, dataConInstArgTys con tc_args, co) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8743#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler