<AWT Dev> [8] Review request for CR 7079254 Toolkit eventListener leaks memory

Petr Pchelko petr.pchelko at oracle.com
Fri Jan 18 04:35:05 PST 2013


Hello, this is a reminder. 

For your convenience:
7079254 Toolkit eventListener leaks memory
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7079254

The fix is available at:
http://cr.openjdk.java.net/~serb/petr/7079254/webrev/

With best regards. Petr.

On Jan 10, 2013, at 12:49 PM, Petr Pchelko wrote:

> Hello.
> 
> Sorry, I've forgot about licenses. I will add them before the push.
> 
> With best regards. Petr.
> 
> On Jan 9, 2013, at 4:30 PM, Petr Pchelko wrote:
> 
>> Hello.
>> 
>> Thank you for the replies. Here is the new version of the fix with a test case and improvements suggested by Artem:
>> http://cr.openjdk.java.net/~serb/petr/7079254/webrev/
>> 
>> With best regards, Petr
>> 
>> On Dec 25, 2012, at 1:46 PM, Artem Ananiev wrote:
>> 
>>> 
>>> A few comments about the test:
>>> 
>>> 1. "-mx10m" should be replaced with "-Xmx10M"
>>> 
>>> 2. assertGC() can be implemented more reliably:
>>> 
>>> List<int[]> l = new LinkedList<>();
>>> while (true) {
>>>  try {
>>>    l.add(new int[10000]);
>>>  } catch (OutOfMemoryError e) {
>>>    break;
>>>  }
>>> }
>>> 
>>> After such a loop, GC is guaranteed to have collected all the dead objects.
>>> 
>>> Thanks,
>>> 
>>> Artem
>>> 
>>> On 12/25/2012 11:34 AM, Petr Pchelko wrote:
>>>> Hello.
>>>> 
>>>> Thank you for your feedback.
>>>> 
>>>> Here is the new version of the fix:
>>>> http://cr.openjdk.java.net/~art/pchelko/7079254/webrev.01/
>>>> 
>>>> Changes from the previous one:
>>>> 	1. Added a test.
>>>> 	2. Moved creadLightweightDispatcherOnRemove into a synchronized section.
>>>> 
>>>> Best, Petr.
>>>> 
>>>> On Dec 24, 2012, at 4:03 PM, Artem Ananiev wrote:
>>>> 
>>>>> Hi, Petr,
>>>>> 
>>>>> the fix looks fine. Please, move clearLightweightDispatcherOnRemove() into the synchronized section, as lightweight dispatcher is used under tree lock.
>>>>> 
>>>>> As Sergey suggested, it would be fine to have a regression test for this change.
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> Artem
>>>>> 
>>>>> On 12/21/2012 4:50 PM, Petr Pchelko wrote:
>>>>>> Hello.
>>>>>> 
>>>>>> Could you please review the fix for the issue
>>>>>> 7079254 Toolkit eventListener leaks memory
>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7079254
>>>>>> 
>>>>>> The webrev is available at:
>>>>>> http://cr.openjdk.java.net/~art/pchelko/7079254/webrev/
>>>>>> 
>>>>>> The LightweightDispatcher stored strong references to mouseEventTarget and targetLastEntered which were not cleaned up when the component is removed, which lead to a memory leak. The isCleaned field is added to be able to consume events which would be dispatched to a removed component if we did not clean up a reference to it.
>>>>>> 
>>>>>> The fix testet on Windows and Mac on toy apps and automatic regression tests related to event dispatching, Component, Container, dnd and Mouse
>>>>>> 
>>>>>> Best, Petr.
>>>>>> 
>>>> 
>> 
> 




More information about the awt-dev mailing list