#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