<<loop>> in withMVar (reproducible, but with large test case)
A user of one of my libraries is reporting that it fails with the message <<loop>> when compiled in GHC 7.2.1. The error is coming from withMVar, and is reproducible.
Unfortunately, the problem is *very* tricky to reproduce. Attempting to debug it (such as adding print statements, re-ordering operations, or removing unrelated code) will cause it to vanish. Therefore, the test case I have attached is a full Cabal project with build instructions. Nearly every line of code is required, and changing or removing them hides the error again.
Changes which can hide the problem:
- Altering or removing the startup messages (even the version number).
- Removing unused attributes from types.
- Removing unused error checking.
- Using
_ <- char 'a'instead ofvoid (char 'a'). - Moving a function from one module to another.
- Simplifying loops which only run over one element.
- Building it all at once with
--make, and not a separatecabal-dev installstep. - Building 'Main' with
-O2.
Edited by Ian Lynagh -