id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
4229	"relatively simple test case for ""internal error: PAP object entered!"" on GHC 6.12.3"	carlhowells		"So, here's a test case 
{{{
-- bug.cabal
Name:                bug
Version:             0.1
Build-type:          Simple
Cabal-version:       >=1.2

Executable bug
  Main-is: Bug.hs

  Build-depends:
    base > 4 && < 5,
    HUnit >= 1.2.2.1 && < 1.3,
    monads-fd >= 0.1 && < 0.2
}}}

{{{
-- Bug.hs
module Main where

import Control.Monad.Trans
import Control.Monad.State.Strict

import Test.HUnit

runMyTest :: StateT () IO a -> IO a
runMyTest x = evalStateT x ()

explode :: StateT () IO ()
explode = when ("""" == """") . liftIO . assertFailure $ ""X""

main :: IO Counts
main = runTestTT . TestCase . runMyTest $ explode
}}}

---------

{{{
$ cabal build && ./dist/build/bug/bug
Preprocessing executables for bug-0.1...
Building bug-0.1...
[1 of 1] Compiling Main             ( Bug.hs, dist/build/bug/bug-tmp/Main.o )
Linking dist/build/bug/bug ...
Cases: 1  Tried: 0  Errors: 0  Failures: 0bug: internal error: PAP object entered!
    (GHC version 6.12.3 for x86_64_unknown_linux)
    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Aborted
}}}

I couldn't figure out how to get the error to happen with HUnit or a monad transformer.  But here are some additional notes:

Compiling with -O0 fixes it.

Using mtl instead of monads-fd doesn't change anything.

Changing the ("""" == """") to True results in not getting a GHC internal error, but the test run reports 0 failures, which is incorrect.  Changing the import of Control.Monad.State.Strict to Control.Monad.State also results in no crash, but 0 failures reported.

None of these issues occurs in GHC 6.10.4.  I haven't tested on versions other than 6.10.4 and 6.12.3."	bug	closed	high	7.0.1	Compiler	6.12.3	fixed		michal.terepeta@…	Unknown/Multiple	Unknown/Multiple	None/Unknown			3983		
