[GHC] #16066: internal error: PAP object entered!

GHC ghc-devs at haskell.org
Tue Dec 18 22:20:57 UTC 2018


#16066: internal error: PAP object entered!
----------------------------------+----------------------------------------
        Reporter:  dnspies        |                Owner:  (none)
            Type:  bug            |               Status:  new
        Priority:  normal         |            Milestone:
       Component:  Compiler       |              Version:  8.4.4
      Resolution:                 |             Keywords:
Operating System:  iOS            |         Architecture:  Unknown/Multiple
 Type of failure:  Runtime crash  |            Test Case:
      Blocked By:                 |             Blocking:
 Related Tickets:                 |  Differential Rev(s):
       Wiki Page:                 |
----------------------------------+----------------------------------------

Comment (by RyanGlScott):

 I can confirm that this code also panics on 8.6.3 (after lots of tweaking
 to make it compile). Alas, this repo is absolutely massive, and I haven't
 the slightest clue where to begin minimizing it. Any help you could
 provide would be massively helpful.

 One thing to note is that the `insertX` function appears to be important
 here. The program still crashes if you make the following change to
 `test/PersistWrap/WidgetSpec.hs`:

 {{{#!diff
 diff --git a/persistwrap/test/PersistWrap/WidgetSpec.hs
 b/persistwrap/test/PersistWrap/WidgetSpec.hs
 index 8055d52..2c9435e 100644
 --- a/persistwrap/test/PersistWrap/WidgetSpec.hs
 +++ b/persistwrap/test/PersistWrap/WidgetSpec.hs
 @@ -47,6 +47,7 @@ widgetAssertions = atomicTransaction $ do
        w1 = Blarg (False, True, BS.pack "hello world")
        w2 = Glorp fk3
    fkw1      <- insertX @"widget" w1
 +  {-
    fkw2      <- insertX @"widget" w2
    fkw3      <- insertWidget3
    traceM "Hi"
 @@ -60,6 +61,8 @@ widgetAssertions = atomicTransaction $ do
      result1 `shouldBe` Just w1
      result2 `shouldBe` Just w2
      result3 `shouldBe` Just widget3
 +  -}
 +  undefined

  widget3 :: Widget fk
  widget3 =
 }}}

 If I comment out the first two uses of `insertX` in `widgetAssertions`,
 however, then the crash no longer occurs.

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


More information about the ghc-tickets mailing list