<AWT Dev> [8] Request for review: 7149913 [macosx] Deadlock in LWTextComponentPeer

Artem Ananiev artem.ananiev at oracle.com
Mon Mar 26 08:26:15 PDT 2012

On 3/26/2012 5:37 PM, Sergey Bylokhov wrote:
> Hi, Artem.
> AWT tree lock used for locking delegate.

Ah, right, I was confused by the method name, getDelegateLock()... OK, 
could you add some information to the bug, please? Right now Evaluation 
contains a statement about the deadlock, but not about what it is caused 
by and how it can be resolved.



> 26.03.2012 17:37, Artem Ananiev wrote:
>> Hi, Sergey,
>> On 3/22/2012 6:05 PM, Sergey Bylokhov wrote:
>>> Hi Everyone,
>>> This is a forward port from jdk 7u4:
>>> http://hg.openjdk.java.net/jdk7u/jdk7u4-dev/jdk/rev/91ede930328c
>>> Deadlock happens when 2 threads lock delegateLock and DefaultCaret
>>> object in different order. Removed code initially was added to stop
>>> recursion between paintPeer and addDirtyRegion(
>>> repaintPeer()->paintPeer()->print()->addDirtyRegion()->repaintPeer()->
>>> etc), but it is impossible now because repaintPeer() asynchronous.
>> according to the stack trace in bug description, the evaluation above
>> doesn't look right. Initially reported deadlock involved AWT tree
>> lock, not delegate lock.
>> Thanks,
>> Artem
>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7149913
>>> Webrev can be found at:
>>> http://cr.openjdk.java.net/~serb/7149913/webrev.00/

More information about the awt-dev mailing list