Race conditions are always a pain. We just spent the better part of two days tracking down a race condition which caused our production executables to hang once in every few thousand invocations. Surprisingly, it wasn't the normal DllMain deadlock.
On the other hand, it was a nice excuse to play with WinDbg and binary patches.
See GHC Trac for details.
Posted 2009-12-12.