[GHC] #14880: GHC panic: updateRole

GHC ghc-devs at haskell.org
Thu Jul 26 11:25:01 UTC 2018


#14880: GHC panic: updateRole
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  goldfire
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler (Type    |              Version:  8.2.2
  checker)                           |
      Resolution:                    |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #15076            |  Differential Rev(s):  Phab:D4769
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by tdammers):

 Replying to [comment:59 simonpj]:
 > This is all very puzzling. But when we get to the bottom of it we may
 speed up a key piece of infrastructure!  So I think it's worth
 persevering.
 >
 > 1.  Is `poly_merge` still high on the list in `ticky` in the accumulator
 version?  If so, why?

 As a matter of fact, no it's not. So it looks like the allocations we're
 winning from not using `poly_merge` as much just end up being eaten up
 elsewhere. Top 15 entries for the accumulator version:

 {{{
     Entries      Alloc    Alloc'd  Non-void Arguments      STG Name
 --------------------------------------------------------------------------------
     2539473  107917008          0   3 i.M
 containers-0.5.11.0:Data.IntMap.Internal.$winsert{v r7O} (fun)
      172005   90819296          0   5 EMMMS
 ghc:TcUnify.promoteTcType2{v r3m} (fun)
     2330347   86853624          0   2 >L
 base:GHC.Base.map{v 01X} (fun)
      699656   37268264          0   1 L                    go4{v sNmj}
 (ghc:TcMType) (fun) in r1Y
      448802   35904160          0   7 E>>>>.M
 ghc:TcMType.$s$wmapType{v r1Y} (fun)
      367181   23499584          0   2 LS
 ghc:TcRnMonad.traceTc1{v rlu} (fun)
      887399   22625616          0   1 M                    go28{v sNmi}
 (ghc:TcMType) (fun) in r1Y
      283135   21931488          0   4 >SSM
 ghc:TcHsSyn.$wzonkTyVarOcc{v r1F} (fun)
      269137   18194264          0   1 L                    go13{v sSI0}
 (ghc:TcHsSyn) (fun) in rN
       95951   16510560          0   2 >L
 base:Data.OldList.sortBy{v rD} (fun)
      302653   16395904          0   5 +>LLL
 ghc:MonadUtils.zipWith3M{v rp} (fun)
      194400   15552000          0   7 E>>>>.M
 ghc:TcHsSyn.$s$wmapType{v rN} (fun)
      559499   15509096          0   1 M
 ghc:TcMType.zonkTcTyVar{v r1l} (fun)
      138823   13706576          0   1 S                    sat_sMLW{v}
 (ghc:TcMType) (fun) in r6P
      440463   11089080          0   1 S                    sat_sNmS{v}
 (ghc:TcMType) (fun) in sNmi
 }}}

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


More information about the ghc-tickets mailing list