[GHC] #8035: STM transaction left open if there is an orElse on the path between throwSTM and catchSTM

GHC ghc-devs at haskell.org
Fri Jul 5 12:32:40 CEST 2013


#8035: STM transaction left open if there is an orElse on the path between
throwSTM and catchSTM
---------------------------------+------------------------------------------
    Reporter:  errge             |       Owner:                  
        Type:  bug               |      Status:  new             
    Priority:  normal            |   Milestone:                  
   Component:  Runtime System    |     Version:  7.7             
    Keywords:  stm rts           |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  Runtime crash   
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by simonmar):

 The patch looks plausible to me, because it's basically copying the code
 from `raiseAsync` for asynchronous exceptions and using it in the
 synchronous exception case.  I don't like the implicit fallthrough -
 please at least add a `/* fallthrough */` comment.

 Let's also see whether Tim can think of anything that might go wrong.

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



More information about the ghc-tickets mailing list