<AWT Dev> [8] Review request for CR 7079254 Toolkit eventListener leaks memory
Petr Pchelko
petr.pchelko at oracle.com
Wed Jan 9 04:30:50 PST 2013
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