[GHC] #12899: ghc panics at random places with -jX

GHC ghc-devs at haskell.org
Sun Dec 4 07:03:39 UTC 2016


#12899: ghc panics at random places with -jX
-------------------------------------+-------------------------------------
        Reporter:  pacak             |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by pacak):

 {{{
 <no location info>: error:
     ghc: panic! (the 'impossible' happened)
   (GHC version 8.1.20161202 for x86_64-unknown-linux):
         ASSERT failed!
   in_scope InScope {wild_00 eta_Xb8 ds4_azye z_azyh s7_azyl ds5_azyr
                     wild5_azBv v3_azBx i_azBy wild7_azBI x_azBP y_azCG
 wild9_azCK
                     wild_a2Buo x_a2Bux xs1_a2BuC wild_azHBp dt_azHBx
 ds1_azHBz
                     ds2_azHBA ds3_azHBB $c==_aCmLf $c/=_aCmLs
 $cshowsPrec_aCmLH
                     $cshow_aCmMu $cshowList_aCmME $cshowsPrec_aCn9Q
 $cshow_aCnbg
                     $cshowList_aCnbs $cbasicUnsafeFreeze_aCnbK
 $cbasicUnsafeThaw_aCncb
                     $cbasicLength_aCncD $cbasicUnsafeSlice_aCncL
                     $cbasicUnsafeIndexM_aCncX $cbasicUnsafeCopy_aCndC
 $celemseq_aCndV
                     $cbasicLength_aCneq $cbasicUnsafeSlice_aCneE
 $cbasicOverlaps_aCneW
                     $cbasicUnsafeNew_aCnfa $cbasicInitialize_aCnfz
                     $cbasicUnsafeReplicate_aCnfQ $cbasicUnsafeRead_aCngr
                     $cbasicUnsafeWrite_aCnhc $cbasicClear_aCnhG
 $cbasicSet_aCnhZ
                     $cbasicUnsafeCopy_aCnix $cbasicUnsafeMove_aCniW
                     $cbasicUnsafeGrow_aCnjj $dVector_aCnST
 $cbasicUnsafeFreeze_aCogp
                     $cbasicUnsafeThaw_aCogP $cbasicLength_aCohe
                     $cbasicUnsafeSlice_aCohm $cbasicUnsafeIndexM_aCohw
                     $cbasicUnsafeCopy_aCoi7 $celemseq_aCois
 $cbasicLength_aCoj5
                     $cbasicUnsafeSlice_aCojo $cbasicOverlaps_aCojH
                     $cbasicUnsafeNew_aCojY $cbasicInitialize_aCokp
                     $cbasicUnsafeReplicate_aCokL $cbasicUnsafeRead_aColG
                     $cbasicUnsafeWrite_aComl $cbasicClear_aCon3
 $cbasicSet_aConq
                     $cbasicUnsafeCopy_aCooe $cbasicUnsafeMove_aCooD
                     $cbasicUnsafeGrow_aCop0 xs_aCqkO ibaInst ibaBid ibaAsk
 $tc'IBA
                     $tcInstBidAsk $fEqInstBidAsk $fShowInstBidAsk ibaAsk_
 ibaBid_
                     ibaInst_ ibaBary makeOTMSpreads useMaxQty
 otmSampleAndWeight
                     evalInstFitness $fVectorVectorInstBidAsk
 $fMVectorMVectorInstBidAsk
                     $fUnboxInstBidAsk $tc'InstFitnessFunction
 $tcInstFitnessFunction
                     $fShowInstFitnessFunction mkInstFitnessFunction
 fitnessFunction
                     evalFitnessFunction modifyFitnessFunctionForSpotChange
 calcFitness
                     calcDeltaVector td_now td_inst unitTests
                     $fVectorVectorInstFitnessFunction
                     $fMVectorMVectorInstFitnessFunction
 $fUnboxInstFitnessFunction
                     $trModule $cbasicUnsafeSlice_sCqRU
 $cbasicUnsafeSlice_sCqXB
                     $cbasicUnsafeSlice_sCryL $cbasicUnsafeSlice_sCrJw
 $trModule_sCrSA
                     $trModule_sCrSB $tc'IBA_sCrSD $tcInstBidAsk_sCrSE
                     $tc'InstFitnessFunction_sCrSF
 $tcInstFitnessFunction_sCrSH
                     $cshowList_sCrTr $cshowList_sCrTH
 $cbasicUnsafeThaw_sCueJ
                     $cbasicUnsafeThaw_sCuEw $dVector_sCvzg $dUnbox_sCvzh
 $sunzip_sCvHL
                     $snew_sCvHV $sunstream_sCvI0 $sunstream_sCvID
 $szipWithM_sCvJj
                     $slift_sCvJo $sstream_sCvJv $sconsume_sCvJE
                     $s$fVectorVector(,)_$cbasicUnsafeFreeze_sCvJS
                     $s$fVectorVector(,)_$cbasicUnsafeThaw_sCvK1
                     $s$fVectorVector(,)_$cbasicUnsafeIndexM_sCvKg
                     $s$fVectorVector(,)_$celemseq_sCvKs
                     $s$fMVectorMVector(,)_$cbasicUnsafeNew_sCvKV
                     $s$fMVectorMVector(,)_$cbasicUnsafeReplicate_sCvL9
                     $s$fMVectorMVector(,)_$cbasicUnsafeRead_sCvLh
                     $s$fMVectorMVector(,)_$cbasicUnsafeGrow_sCvLH
 $slength_sCvLX
                     $sfilter_sCvM5 $simap_sCvMq $simap_sCvMw
 $sunstream_sCvME
                     $sstream_sCvNg $ssum_sCvNx $sfoldlM'_sCvNF
 $sstream_sCvNL
                     $szipWith_sCvNX $szipWithM_sCvO8 $sstream_sCvOi
 $sstream_sCvOu
                     $sunstream_sCvOI $snew_sCvPg $stoNum_sCvPk
 $smergeWithKey_sCvPv
                     $sfromList_sCvQX $sunstreamR_sCvVf $sstreamR_sCvWB
 $snull_sCvWZ
                     $s$dmshow_sCvX6 $sshows_sCvXa $slookup_sCvXm
 $slift_sCvXv
                     $smapM_sCvXE $sunstreamM_sCvXK
                     $s$fVectorVector(,)_$cbasicUnsafeFreeze_sCvYt
                     $s$fVectorVector(,)_$cbasicUnsafeThaw_sCvYE
                     $s$fVectorVector(,)_$cbasicUnsafeIndexM_sCvYV
                     $s$fVectorVector(,)_$celemseq_sCvZ5
                     $s$fVectorVector(,,)_$cbasicUnsafeFreeze_sCvZh
                     $s$fVectorVector(,,)_$cbasicUnsafeThaw_sCvZt
                     $s$fVectorVector(,,)_$cbasicUnsafeIndexM_sCvZR
                     $s$fVectorVector(,,)_$cbasicUnsafeCopy_sCw00
                     $s$fVectorVector(,,)_$celemseq_sCw09
                     $s$fMVectorMVector(,,)_$cbasicUnsafeNew_sCw0E
                     $s$fMVectorMVector(,,)_$cbasicInitialize_sCw0Q
                     $s$fMVectorMVector(,,)_$cbasicUnsafeReplicate_sCw0Z
                     $s$fMVectorMVector(,,)_$cbasicUnsafeRead_sCw1c
                     $s$fMVectorMVector(,,)_$cbasicUnsafeWrite_sCw1p
                     $s$fMVectorMVector(,,)_$cbasicClear_sCw1y
                     $s$fMVectorMVector(,,)_$cbasicSet_sCw1H
                     $s$fMVectorMVector(,,)_$cbasicUnsafeCopy_sCw1P
                     $s$fMVectorMVector(,,)_$cbasicUnsafeMove_sCw1W
                     $s$fMVectorMVector(,,)_$cbasicUnsafeGrow_sCw27
                     $s$fVectorVector(,,,)_$cbasicUnsafeFreeze_sCw2m
                     $s$fVectorVector(,,,)_$cbasicUnsafeThaw_sCw2D
                     $s$fVectorVector(,,,)_$cbasicUnsafeIndexM_sCw34
                     $s$fVectorVector(,,,)_$cbasicUnsafeCopy_sCw3i
                     $s$fVectorVector(,,,)_$celemseq_sCw3t
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeNew_sCw42
                     $s$fMVectorMVector(,,,)_$cbasicInitialize_sCw4j
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeReplicate_sCw4s
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeRead_sCw4G
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeWrite_sCw4W
                     $s$fMVectorMVector(,,,)_$cbasicClear_sCw55
                     $s$fMVectorMVector(,,,)_$cbasicSet_sCw5f
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeCopy_sCw5r
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeMove_sCw5B
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeGrow_sCw5K
                     $s$fMVectorMVector(,,,)_$cbasicOverlaps_sCw5Z
                     $s$fMVectorMVector(,,,)_$cbasicUnsafeSlice_sCw60
                     $s$fMVectorMVector(,,,)_$cbasicLength_sCw61
                     $s$fVectorVector(,,,)_$cbasicUnsafeSlice_sCw62
                     $s$fVectorVector(,,,)_$cbasicLength_sCw63
                     $s$fMVectorMVector(,,)_$cbasicOverlaps_sCw65
                     $s$fMVectorMVector(,,)_$cbasicUnsafeSlice_sCw66
                     $s$fMVectorMVector(,,)_$cbasicLength_sCw67
                     $s$fVectorVector(,,)_$cbasicUnsafeSlice_sCw69
                     $s$fVectorVector(,,)_$cbasicLength_sCw6a
 $s$fVectorVector(,)_sCw6b
                     $s$fVectorVector(,)_$cbasicUnsafeCopy_sCw6c
                     $s$fVectorVector(,)_$cbasicUnsafeSlice_sCw6d
                     $s$fVectorVector(,)_$cbasicLength_sCw6e $smapM_sCw6f
 $s=<<_sCw6h
                     $s$fEq(,)_$c==_sCw6i $s$fShow(,)_$cshowsPrec_sCw6j
 $s$dmshow_sCw6k
                     $sshows_sCw6l $snull_sCw6m $sscanl1'_sCw6n
 $sscanr1'_sCw6o
                     $sfromList_sCw6p $sbyEq_sCw6q $stoNum_sCw6r
 $szipWith_sCw6s
                     $s!?_sCw6u $snew_sCw6v $slength_sCw6w $sapproxEq_sCw6x
                     $s$fUnbox(,)_sCw6y $s$fMVectorMVector(,)_sCw6z
                     $s$fMVectorMVector(,)_$cbasicUnsafeMove_sCw6A
                     $s$fMVectorMVector(,)_$cbasicUnsafeCopy_sCw6B
                     $s$fMVectorMVector(,)_$cbasicSet_sCw6C
                     $s$fMVectorMVector(,)_$cbasicClear_sCw6D
                     $s$fMVectorMVector(,)_$cbasicUnsafeWrite_sCw6E
                     $s$fMVectorMVector(,)_$cbasicInitialize_sCw6G
                     $s$fMVectorMVector(,)_$cbasicOverlaps_sCw6H
                     $s$fMVectorMVector(,)_$cbasicUnsafeSlice_sCw6I
                     $s$fMVectorMVector(,)_$cbasicLength_sCw6J
 $s$fVectorVector(,)_sCw6K
                     $s$fVectorVector(,)_$cbasicUnsafeCopy_sCw6L
                     $s$fVectorVector(,)_$cbasicUnsafeSlice_sCw6M
                     $s$fVectorVector(,)_$cbasicLength_sCw6N
 $szipWithM__sCw6P
                     $snew_sCw6Q lvl_sCw72 lvl_sCw76 lvl_sCw7c lvl_sCw7h
 lvl_sCw7r
                     lvl_sCw7C lvl_sCw7I lvl_sCw7O lvl_sCw7R lvl_sCw7Z
 lvl_sCw88
                     lvl_sCwn8 lvl_sCwuy lvl_sCwyz ipv1_sCwzG lvl_sCx2j
 lvl_sCx2I
                     $stoNum_sCACQ $ssum_sCBcu $slength_sCOwz $snull_sCRhQ
 lvl_sCRwH
                     lvl_sCSUV evalFitnessFunction_sCTgx ds_sCTtG ~~~_sCTtR
                     $sconsume_sCWPn foldlM_loop_sCYyL unitTests_sDkwU
 unitTests_sDkwV
                     unitTests_sDkxV unitTests_sDkxW unitTests_sDkxX
 unitTests_sDkxY
                     unitTests_sDkxZ unitTests_sDky0 unitTests_sDky2
 unitTests_sDky3
                     unitTests_sDkya unitTests_sDkyb unitTests_sDkyc
 unitTests_sDkye
                     unitTests_sDkyf unitTests_sDkyh unitTests_sDkyi
 unitTests_sDkyj
                     unitTests_sDkyl unitTests_sDkym unitTests_sDkyp
 unitTests_sDkyq
                     unitTests_sDkyr unitTests_sDkyt unitTests_sDkyu
 unitTests_sDkyx
                     unitTests_sDkyy unitTests_sDkyz unitTests_sDkyC
 unitTests_sDkyD
                     unitTests_sDkyG unitTests_sDkyH unitTests_sDkyI
 unitTests_sDkyK
                     unitTests_sDkyL unitTests_sDkyN unitTests_sDkyO
 unitTests_sDkyP
                     unitTests_sDkyR unitTests_sDkyS unitTests_sDkyU
 unitTests_sDkyW
                     unitTests_sDkyX unitTests_sDkyZ unitTests_sDkz0
 unitTests_sDkz4
                     unitTests_sDkz5 unitTests_sDkz6 unitTests_sDkz8
 unitTests_sDkza
                     unitTests_sDkze unitTests_sDkzf unitTests_sDkzg
 unitTests_sDkzi
                     unitTests_sDkzj unitTests_sDkzn unitTests_sDkzo
 unitTests_sDkzp
                     unitTests_sDkzs unitTests_sDkzt unitTests_sDkzy
 unitTests_sDkzz
                     unitTests_sDkzA unitTests_sDkzD unitTests_sDkzE
 unitTests_sDkzG
                     unitTests_sDkzH unitTests_sDkzI unitTests_sDkzK
 unitTests_sDkzL
                     unitTests_sDkzO unitTests_sDkzP unitTests_sDkzQ
 unitTests_sDkzT
                     unitTests_sDkzU unitTests_sDkzW unitTests_sDkzY
 unitTests_sDkzZ
                     unitTests_sDkA6 unitTests_sDkA7 unitTests_sDkA8
 $szipWithM__sDm6V
                     unitTests_sDoQH $j_sDylm $wotmSampleAndWeight_sE07u
 $w$c==_sE08Z
                     $wtoOrdinal1_sE09E $wfromOrd2_sE0a3
 $w$cshowsPrec_sE0aB
                     $w$cshowsPrec_sE0aZ $wcalcDeltaVector_sE0pa
 $wuseMaxQty_sE0qL
                     $w$ssum_sE0UI lvl_sEhjh lvl_sEhjC lvl_sEhkq lvl_sEhkr
 lvl_sEhks
                     lvl_sEhku lvl_sEhkG lvl_sEhkH $wtoDiff2_sEhkJ
 lvl_sEhkK lvl_sEhkL
                     lvl_sEhkM lvl_sEhle lvl_sEhlf lvl_sEhlg lvl_sEhlh
 lvl_sEhly
                     lvl_sEhlz lvl_sEhlA lvl_sEhlB lvl_sEhwT lvl_sEhwU
 lvl_sEhwV
                     lvl_sEhwW lvl_sEhwX lvl_sEhwY lvl_sEhx0 lvl_sEhx1
 lvl_sEhx2
                     lvl_sEhx3 lvl_sEhx8 lvl_sEhx9 lvl_sEhxc lvl_sEhxd
 lvl_sEhxe
                     lvl_sEhxf lvl_sEhFI lvl_sEhFU foldlM_loop_sEhGN
 wild_sEhH7 dt_sEhH8
                     dt1_sEhH9 dt2_sEhHa wild_sEhHc dt_sEhHd dt1_sEhHe
 dt2_sEhHf
                     wild_sEhHh dt_sEhHi dt1_sEhHj dt2_sEhHk lvl_sEhJh
 lvl_sEhJi
                     lvl_sEhJj lvl_sEhJk lvl_sEhN8 lvl_sEhNk lvl_sEhNx
 lvl_sEhNI
                     lvl_sEhOD foldlM_loop_sEhRb go2_sEhTm go2_sEhTo
 lvl_sEhTt lvl_sEhTw
                     merge_sEhUl lvl_sEhV5 merge_sEhVc $j_sEhWi lvl_sEi3O
 lvl_sEi41
                     lvl_sEiwB lvl_sEiwN lvl_sEiNk lvl_sEiNy lvl_sEiWh
 lvl_sEiX4
                     lvl_sEiX5 lvl_sEiX6 poly_$j_sEj1Y lvl_sEj20
 foldlM_loop_sEj3j
                     foldlM_loop_sEjal lvl_sEjdN lvl_sEjdO lvl_sEjdR
 lvl_sEjdT lvl_sEjdU
                     lvl_sEjdY lvl_sEje3 lvl_sEje4 lvl_sEje7 lvl_sEjeb
 lvl_sEjed
                     lvl_sEjee lvl_sEjei lvl_sEjel lvl_sEjem lvl_sEjen
 lvl_sEjeo
                     lvl_sEjes lvl_sEjet lvl_sEjev lvl_sEjex lvl_sEjey
 lvl_sEjeC
                     lvl_sEjeD lvl_sEjeG lvl_sEjeH lvl_sEjeI lvl_sEjeS
 lvl_sEjeT
                     lvl_sEjf2 lvl_sEjf3 lvl_sEjfd lvl_sEjfe lvl_sEjfh
 lvl_sEjfm
                     lvl_sEjfn lvl_sEjfq lvl_sEjfv lvl_sEjfw lvl_sEjfz
 lvl_sEjfC
                     lvl_sEjfE lvl_sEjfF lvl_sEjfI lvl_sEjfN lvl_sEjfO
 lvl_sEjfY
                     lvl_sEjfZ lvl_sEjg8 lvl_sEjg9 lvl_sEjgb lvl_sEjgc
 lvl_sEjgd
                     lvl_sEjge lvl_sEjgf lvl_sEjgg lvl_sEjgh lvl_sEjgi
 lvl_sEjgj
                     lvl_sEjgk lvl_sEjgl lvl_sEjgm lvl_sEjgn lvl_sEjgo
 lvl_sEjgp
                     lvl_sEjh7 loc_sEjj2 loc_sEjj4 loc_sEjja loc_sEjjc
 loc_sEjje
                     $dIP_sEjjg $dIP_sEjji $dIP_sEjjk lvl_sEjjX lvl_sEjjY
 lvl_sEjk7
                     lvl_sEjk9 lvl_sEjka lvl_sEjkb lvl_sEjkc lvl_sEjki
 lvl_sEjkj
                     lvl_sEjkk lvl_sEjkl lvl_sEjkn lvl_sEjko lvl_sEjkp
 lvl_sEjkq
                     lvl_sEjmW lvl_sEjmX lvl_sEjmY lvl_sEjmZ lvl_sEjnR
 lvl_sEjnS
                     lvl_sEjnT lvl_sEjnU lvl_sEjnZ lvl_sEjo0 lvl_sEjo1
 lvl_sEjo2
                     lvl_sEjo8 lvl_sEjo9 lvl_sEjoa lvl_sEjob lvl_sEjoh
 lvl_sEjoi
                     lvl_sEjoj lvl_sEjok lvl_sEjor lvl_sEjos lvl_sEjot
 lvl_sEjou
                     lvl_sEjox lvl_sEjoy lvl_sEjoz lvl_sEjoA lvl_sEjoM
 lvl_sEjoN
                     lvl_sEjoO lvl_sEjoP $sfoldlM_loop_sEwVd $sgo2_sExlJ
 $sgo2_sExlL
                     $smerge_sExnj $smerge_sExnm $smerge_sExo8
 $smerge_sExon sc_sExtw
                     sc_sExtx sc_sExty $s$j_sExtS}
   tenv []
   tenvFVs []
   cenv [sExtz :-> sg_sExtz]
   cenvFVs [sExtz :-> sg_sExtz]
   tys [PrimState (ST RealWorld)]
   cos []
   Call stack:
       CallStack (from HasCallStack):
         prettyCurrentCallStack, called at
 compiler/utils/Outputable.hs:1114:58 in ghc:Outputable
         callStackDoc, called at compiler/utils/Outputable.hs:1163:22 in
 ghc:Outputable
         assertPprPanic, called at compiler/types/TyCoRep.hs:2023:56 in
 ghc:TyCoRep
         checkValidSubst, called at compiler/types/TyCoRep.hs:2056:17 in
 ghc:TyCoRep
         substTy, called at compiler/types/Coercion.hs:1457:33 in
 ghc:Coercion
   Call stack:
       CallStack (from HasCallStack):
         prettyCurrentCallStack, called at
 compiler/utils/Outputable.hs:1114:58 in ghc:Outputable
         callStackDoc, called at compiler/utils/Outputable.hs:1118:37 in
 ghc:Outputable
         pprPanic, called at compiler/utils/Outputable.hs:1161:5 in
 ghc:Outputable
         assertPprPanic, called at compiler/types/TyCoRep.hs:2023:56 in
 ghc:TyCoRep
         checkValidSubst, called at compiler/types/TyCoRep.hs:2056:17 in
 ghc:TyCoRep
         substTy, called at compiler/types/Coercion.hs:1457:33 in
 ghc:Coercion

 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

 }}}

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


More information about the ghc-tickets mailing list