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

Artem Ananiev artem.ananiev at oracle.com
Thu Apr 5 03:59:57 PDT 2012


Approved.

Thanks,

Artem

On 3/26/2012 8:25 PM, Sergey Bylokhov wrote:
> 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/
>>>>>
>>>
>>>
>
>



More information about the awt-dev mailing list