
#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