[GHC] #3758: Huge regression in concurrent app performance and reliability under threaded runtime

GHC trac at galois.com
Tue Jan 26 11:22:35 EST 2010


#3758: Huge regression in concurrent app performance and reliability under
threaded runtime
-------------------------------+--------------------------------------------
    Reporter:  bos             |        Owner:  simonmar     
        Type:  bug             |       Status:  new          
    Priority:  high            |    Milestone:  6.12.2       
   Component:  Runtime System  |      Version:  6.12.1       
    Keywords:                  |   Difficulty:               
          Os:  Linux           |     Testcase:               
Architecture:  x86_64 (amd64)  |      Failure:  Runtime crash
-------------------------------+--------------------------------------------

Comment(by simonmar):

 I just fixed a deadlock.  I'm not sure if it's your deadlock, but fingers
 crossed.

 {{{
 Tue Jan 26 07:00:37 PST 2010  Simon Marlow <marlowsd at gmail.com>
   * Fix a deadlock, and possibly other problems
   After a bound thread had completed, its TSO remains in the heap until
   it has been GC'd, although the associated Task is returned to the
   caller where it is freed and possibly re-used.

   The bug was that GC was following the pointer to the Task and updating
   the TSO field, meanwhile the Task had already been recycled (it was
   being used by exitScheduler()). Confusion ensued, leading to a very
   occasional deadlock at shutdown, but in principle it could result in
   other crashes too.

   The fix is to remove the link between the TSO and the Task when the
   TSO has completed and the call to schedule() has returned; see
   comments in Schedule.c.
 }}}

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


More information about the Glasgow-haskell-bugs mailing list