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

Sergey Bylokhov sergey.bylokhov at oracle.com
Mon Mar 26 09:25:31 PDT 2012


Hi Artem.
Done.

26.03.2012 19:26, Artem Ananiev написал:
>
> 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.
>
> Thanks,
>
> Artem
>
>> 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/
>>>>
>>
>>


-- 
Best regards, Sergey.




More information about the awt-dev mailing list