[GHC] #367: Infinite loops can hang Concurrent Haskell
GHC
ghc-devs at haskell.org
Fri Sep 11 00:36:21 UTC 2015
#367: Infinite loops can hang Concurrent Haskell
-------------------------------------+-------------------------------------
Reporter: simonpj | Owner: ezyang
Type: bug | Status: new
Priority: lowest | Milestone: ⊥
Component: Compiler | Version: 6.4.1
Resolution: None | Keywords: scheduler
| allocation
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: Incorrect result | Test Case:
at runtime | concurrent/should_run/T367,
| concurrent/should_run/T367_letnoescape
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by fryguybob):
I thought I had left a note here before, but it appears that I have not!
In my work with hardware transactions we run into this when working with
lots of cores on an STM red-black tree. When some thread A performs a
rotation while another thread B is searching through the rotated node
thread B can enter a non-allocating infinite loop due to seeing an
inconsistent view of memory. I think that hardware transactions make this
occur more frequently, but there is nothing about the STM that prevents
this. We always build with `-fno-omit-yields` now and do not see any
issues.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/367#comment:43>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list