<AWT Dev> [10] Review request for 8186495: Some closed SQE tests fail after frame dispose() on Linux

Semyon Sadetsky semyon.sadetsky at oracle.com
Wed Sep 13 19:19:03 UTC 2017


If you mean invoking setVisisble() and dispose() on different threads in 
parallel then this occasionally may cause similar issue. But this is not 
the standard way  to call the API.

Obviously those peers was not developed with the multi-threaded access 
kept in mind.

--Semyon


On 09/13/2017 11:55 AM, Sergey Bylokhov wrote:
> On 9/13/17 11:49, Semyon Sadetsky wrote:
>> The tests passes after the fix for me. Which situations do you mean? 
>> Can you provide examples?
>
> For example in XFramePeer.setVisible() it is possible that the peer 
> became disposed after the new check.
>
>>
>> --Semyon
>>
>>
>> On 09/11/2017 03:20 PM, Sergey Bylokhov wrote:
>>> Hi, Semyon.
>>> Did you check why the bug is not reproduced on jdk8?
>>> I guess that it is still possible to get a situations below because 
>>> of absent synchronization on all paths of usage "window",isDispose() 
>>> and dispose() method:
>>>  - check isDispose().
>>>  - dispose the peer
>>>  - use the long value which was disposed step above
>>>
>>>
>>> On 9/8/17 20:00, Semyon Sadetsky wrote:
>>>> Hello,
>>>>
>>>> Please review fix for JDK10:
>>>>
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8186495
>>>>
>>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8186495/webrev.00/
>>>>
>>>> After toolkit window is destroyed methods invocations on the window 
>>>> component may cause exceptions because of wrong native xwindow ID. 
>>>> The fix introduces checks in the X* peers to ensure that window ID 
>>>> is actual otherwise do nothing.
>>>>
>>>> --Semyon
>>>>
>>>
>>>
>>
>
>



More information about the awt-dev mailing list