
Yes, I can do that. However, I'm hoping to narrow it down a lot more so
that I can file a more useful bug report.
Since sending my last email, I have learned a bit more:
I was using 'fail' (the Monad being ReaderT . StateT . ST) to report errors.
If I replace 'fail msg' with 'error msg' or 'return (error msg)', then the
aforementioned internal error does not occur.
In some cases, the program dies with the aforementioned error. In other
cases, it segfaults.
- Philip
On Mon, Apr 5, 2010 at 11:59 AM, Don Stewart
Any 'internal error' is almost certainly an RTS or compiler bug. Can you make a bug report?
philip.weaver:
Hi all,
A program that I built with GHC is crashing at runtime with the following error:
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
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users