#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 <[email protected]>
   * 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
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to