Possible bug related to stm and exceptions

Andreas Voellmy andreas.voellmy at gmail.com
Thu Oct 17 01:01:19 UTC 2013

Hi all,

I have a program that uses STM heavily and also performs lots of foreign
calls. I've noticed that sometimes the program uses 100% CPU indefinitely
and uses lots of memory - I see it go up to about 5GB before I kill it.
I've grabbed some preliminary samples of stack traces and see lots stm
related stuff (e.g. lots of stg_atomically_frame_info and
stmCommitTransaction entries).  I can pretty reliably get the behavior to
happen now by closing a socket that my Haskell program is trying to recv
from. When this causes an exception to be raised (something like "recv:
resource vanished (Connection reset by peer)") , then this behavior gets
triggered.  I haven't pinned down the bug yet, but I'm suspecting it is STM
related - somehow the exception causes some STM transaction to go wrong.

Are there any known bugs that sound similar to this?

BTW, this is with GHC 7.6.3 from a recent HP release on OS X.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20131016/cadc9ace/attachment.html>

More information about the ghc-devs mailing list