[Webkit-unassigned] [Bug 141268] New: r179576 introduce a deadlock potential during GC thread suspension

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 4 15:24:35 PST 2015


https://bugs.webkit.org/show_bug.cgi?id=141268

            Bug ID: 141268
           Summary: r179576 introduce a deadlock potential during GC
                    thread suspension
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (Nightly build)
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mark.lam at apple.com

http://trac.webkit.org/r179576 introduced a potential for deadlocking.  In the GC thread suspension loop, we currently delete MachineThreads::Thread that we detect to be invalid.  This is unsafe because we may have already suspended some threads, and one of those suspended threads may still be holding the heap lock.  An attempt to do a deletion there may therefore result in a deadlock.

The fix is to put to the invalid threads in a separate toBeDeleted list, and delete them only after GC has resumed all threads.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150204/e873c39a/attachment-0002.html>


More information about the webkit-unassigned mailing list