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.





Reply via email to