[GHC] #8743: The impossible happened : Prelude.(!!): index too large

GHC ghc-devs at haskell.org
Tue Apr 21 13:47:26 UTC 2015


#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
 Type of failure:  Compile-time      |  (amd64)
  crash                              |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by ezyang):

 * owner:  nomeata =>
 * status:  closed => new
 * resolution:  fixed =>


Comment:

 After adjusting the test-case to not do a direct import of the hs-boot
 file, I now get this Core Lint error:

 {{{
 Compile failed (status 256) errors were:
 *** Core Lint errors : in result of Simplifier ***
 T8743.hs-boot:3:10: warning:
     [RHS of $fxToRowMaybe :: forall a_anp. ToRow (Maybe a_anp)]
     idArity 1 exceeds typeArity 0: $fxToRowMaybe
 *** Offending Program ***
 $ctoRow_awT :: forall a_awR. Maybe a_awR -> [()]
 [LclId,
  Arity=1,
  Str=DmdType,
  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
          WorkFree=True, Expandable=True,
          Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)}]
 $ctoRow_awT =
   \ (@ a_awR) (ds_dx0 :: Maybe a_awR) ->
     case ds_dx0 of _ [Occ=Dead] { __DEFAULT -> : @ () () ([] @ ()) }

 $fToRowMaybe [InlPrag=INLINE (sat-args=0)]
   :: forall a_awP. ToRow (Maybe a_awP)
 [LclIdX[DFunId(nt)],
  Arity=1,
  Str=DmdType,
  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
          WorkFree=True, Expandable=True,
          Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
          Tmpl= $ctoRow_awT
                `cast` (forall a_awR. Sym (NTCo:ToRow[0] <Maybe a_awR>_N)
                        :: (forall a_awR. Maybe a_awR -> [()])
                           ~R# (forall a_awR. ToRow (Maybe a_awR)))}]
 $fToRowMaybe =
   $ctoRow_awT
   `cast` (forall a_awR. Sym (NTCo:ToRow[0] <Maybe a_awR>_N)
           :: (forall a_awR. Maybe a_awR -> [()])
              ~R# (forall a_awR. ToRow (Maybe a_awR)))

 $fxToRowMaybe :: forall a_anp. ToRow (Maybe a_anp)
 [LclIdX,
  Arity=1,
  Str=DmdType,
  Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
          WorkFree=True, Expandable=True,
          Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
 $fxToRowMaybe = $fToRowMaybe

 *** End of Offense ***
 }}}

 Do not know enough to investigate further.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8743#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list