[GHC] #15186: ghc 8.4.2 panic in profiling build

GHC ghc-devs at haskell.org
Thu May 31 07:38:09 UTC 2018


#15186: ghc 8.4.2 panic in profiling build
-------------------------------------+-------------------------------------
        Reporter:  kquick            |                Owner:  bgamari
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Profiling         |              Version:  8.4.2
      Resolution:                    |             Keywords:
Operating System:  Linux             |         Architecture:  x86_64
 Type of failure:  Compile-time      |  (amd64)
  crash or panic                     |            Test Case:  T15186
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4756,
       Wiki Page:                    |  Phab:D4757
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Just to fill in a bit more detail, the problem is not with `$mPointerExpr`
 itself, but with a local binding within it, namely
 {{{
     let {
       cont_s1eD [Dmd=<L,1*C1(U)>] :: (ctx_a1cW ~ 'T15186a.EmptyCtx) =>
 r_a1af
       [LclId, Arity=1, Str=<L,A> ...]
       cont_s1eD
         = \ _ [Occ=Dead, Dmd=<L,A>, OS=OneShot] ->
             case v1_a1d0 of {
               BVRepr -> case ds_s1eL of {
                            App ds_d1bR [Dmd=<L,A>] -> cont_a1ai
 GHC.Prim.void#;
                            ExprDummy               -> fail_a1aj
 GHC.Prim.void# };
               TypeReprDummy -> fail_a1aj GHC.Prim.void#
             } } in
 }}}
 Here `r_a1af :: TypeRep r_a1ae` is levity-polymorphic, so we must not
 remove the argument during w/w even though it is dead.

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


More information about the ghc-tickets mailing list