[GHC] #12607: Memory effects in doomed STM transactions

GHC ghc-devs at haskell.org
Tue Aug 7 15:29:36 UTC 2018


#12607: Memory effects in doomed STM transactions
-------------------------------------+-------------------------------------
        Reporter:  fryguybob         |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Runtime System    |              Version:  8.0.1
      Resolution:                    |             Keywords:  STM, allocate
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by fryguybob):

 I'm looking at this again and a way to fix the problem is to validate a
 transaction before you do a large allocation in `rts/sm/Storage.c`
 `allocate`.  I know how to do validation at that point with
 `stmValidateNestOfTransactions`, but if the transaction is invalid, we do
 not want to continue executing.  How do we gracefully end the transaction
 at that point?  Really all we need to do is gracefully get back to the
 scheduler loop.

 Any ideas?

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12607#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list