GHC internal error

Philip Weaver philip.weaver at
Mon Apr 5 06:01:16 EDT 2010

Hi all,

A program that I built with GHC is crashing at runtime with the following

    internal error: eval_thunk_selector: strange selectee 12

I have not found much via Google, just an old post regarding ghc 6.0 that
recommends cleaning and rebuilding.  I have cleaned the build directory and
re-built the executable, and I still get the error.

The program is a compiler, and this error began showing up after I added
support for memoization of results using the ST Monad and STRefs.  For
example, the following function creates a reference to a thunk:

newMutableRef m
  = do ref <- newSTRef $ error "access ref too soon!"
       let m' = do r <- m
                   writeSTRef ref (return r)
                   return r
       writeSTRef ref m'
       return $ ref

Here's some information about my system:

   - GHC 6.12.1
   - Mac OS X 10.6.3 (Snow Leopard)

So, what could cause this error?  Any suggestions that can help me narrow
down the problem would be greatly appreciated.  If this is in fact a GHC
bug, I'd like to find a workaround for now and also reproduce it in a small
example so I can file a bug report.

- Philip
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Glasgow-haskell-users mailing list