[GHC] #14880: GHC panic: updateRole
GHC
ghc-devs at haskell.org
Mon Jul 23 18:26:24 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):
Managed to get meaningful ticky-ticky profiling data.
Before the patch:
{{{
The following table is explained by
http://ghc.haskell.org/trac/ghc/wiki/Debugging/TickyTicky
All allocation numbers are in bytes.
**************************************************
Entries Alloc Alloc'd Non-void Arguments STG Name
--------------------------------------------------------------------------------
172005 90819296 0 5 EMMMS
ghc:TcUnify.promoteTcType2{v r3m} (fun)
2301299 85611504 0 2 >L
base:GHC.Base.map{v 01X} (fun)
1612793 73036520 0 3 i.M
containers-0.5.11.0:Data.IntMap.Internal.$winsert{v r7O} (fun)
699656 37268264 0 1 L go4{v sNuG}
(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 sNuF}
(ghc:TcMType) (fun) in r1Y
283135 21931488 0 4 >SSM
ghc:TcHsSyn.$wzonkTyVarOcc{v r1F} (fun)
269137 18194264 0 1 L go13{v sSIr}
(ghc:TcHsSyn) (fun) in rN
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_sMU6{v}
(ghc:TcMType) (fun) in r6P
459700 11089080 0 1 S sat_sNvf{v}
(ghc:TcMType) (fun) in sNuF
}}}
After:
{{{
The following table is explained by
http://ghc.haskell.org/trac/ghc/wiki/Debugging/TickyTicky
All allocation numbers are in bytes.
**************************************************
Entries Alloc Alloc'd Non-void Arguments STG Name
--------------------------------------------------------------------------------
172005 90819296 0 5 EMMMS
ghc:TcUnify.promoteTcType2{v r3m} (fun)
2330347 86853624 0 2 >L
base:GHC.Base.map{v 01X} (fun)
1271867 57141560 0 3 i.M
containers-0.5.11.0:Data.IntMap.Internal.$winsert{v r7O} (fun)
699656 37268264 0 1 L go4{v sNmh}
(ghc:TcMType) (fun) in r1Y
448802 35904160 0 7 E>>>>.M
ghc:TcMType.$s$wmapType{v r1Y} (fun)
693375 27595440 0 3 MIM poly_merge1{v
rs9H} (containers-0.5.11.0:Data.IntMap.Internal) (fun)
367181 23499584 0 2 LS
ghc:TcRnMonad.traceTc1{v rlu} (fun)
887399 22625616 0 1 M go28{v sNmg}
(ghc:TcMType) (fun) in r1Y
283135 21931488 0 4 >SSM
ghc:TcHsSyn.$wzonkTyVarOcc{v r1F} (fun)
269137 18194264 0 1 L go13{v sSHY}
(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)
}}}
Note the `poly_merge1` entry in the post-patch one.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14880#comment:44>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list