<AWT Dev> [8] Review request for CR 7079254 Toolkit eventListener leaks memory
Artem Ananiev
artem.ananiev at oracle.com
Fri Jan 18 05:39:11 PST 2013
Looks fine.
Thanks,
Artem
On 1/18/2013 4:35 PM, Petr Pchelko wrote:
> 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