[GHC] #8743: The impossible happened : Prelude.(!!): index too large
GHC
ghc-devs at haskell.org
Fri Feb 7 04:51:06 UTC 2014
#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
More information about the ghc-tickets
mailing list