#1654: GHC Panic in 6.8.1
-----------------------------+----------------------------------------------
 Reporter:  [EMAIL PROTECTED]  |          Owner:            
     Type:  bug              |         Status:  new       
 Priority:  high             |      Milestone:  6.8 branch
Component:  Compiler         |        Version:  6.8.1     
 Severity:  major            |     Resolution:            
 Keywords:                   |     Difficulty:  Unknown   
 Testcase:                   |   Architecture:  x86       
       Os:  Linux            |  
-----------------------------+----------------------------------------------
Comment (by simonpj):

 OK, so here's what I've seen so far. In `ghc-log.bz2` I see
   * That there is a Core Lint failure in the stage 2 build, for file
 `RnTypes.lhs`.
   * Stage 2 is built with `-O2`
   * The Core Lint failure is in the result of `SpecConstr`
   * In the specialisation of a join point in `mk_hs_op_ty`.

 There is something odd going on, because there are duplicate
 specialisations for this join point:
 {{{
   $j_X6vX [Once*! Nothing] :: GHC.Base.Bool
                               -> GHC.Base.Bool
                               -> IOEnv.IOEnv
                                    (TcRnTypes.Env TcRnTypes.TcGblEnv
 TcRnTypes.TcLclEnv)
                                    (HsTypes.HsType Name.Name)
   [Arity 2
    Str: DmdType SL
    RULES: "SC:$j_X6vX0" [0] forall {} $j_X6vX GHC.Base.False GHC.Base.True
 = $s$j_s6Qh
           "SC:$j_X6vX1" [0] forall {} $j_X6vX GHC.Base.True GHC.Base.False
 = $s$j_s6Qi
           "SC:$j_X6vX2" [0] forall {} $j_X6vX GHC.Base.False
 GHC.Base.False = $s$j_s6Qj
           "SC:$j_X6vX0" [0] forall {} $j_X6vX GHC.Base.False GHC.Base.True
 = $s$j_s6PF
           "SC:$j_X6vX1" [0] forall {} $j_X6vX GHC.Base.True GHC.Base.False
 = $s$j_s6PG
           "SC:$j_X6vX2" [0] forall {} $j_X6vX GHC.Base.False
 GHC.Base.False = $s$j_s6PH]
 }}}
 There should be three specialisations but there are six.  The Core Lint
 failure is inside a couple of the specialised functions `$s$j_s6PF` for
 example.

 I have tried to reproduce this odd specialisation behaviour in 6.8.1 and
 the HEAD (by compiling `RnTypes` with `-O2`, but both generate three
 specialisations (and no Lint failure) as they should.

 So let's see if anyone can reproduce this with 6.8.1 or the HEAD.  It's
 entirely possible that it's fixed already, but it'd be more reassuring to
 track it down and thereby be certain.

 Simon

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1654#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to