Hello everyone!

It has been reported that under some conditions instances of sun.rmi.transport.DGCAckHandler accumulate and can cause OOM Error. This is because they are stored in the global DGCAckHandler.idTable map, and may fail to be removed if a timeout has expired.

The webrev contains a fix proposed by Darryl Mocek back in 2011.

Unfortunately I couldn't come up with a regression test for the fix.
However, the fix looks obviously correct, especially taking into account the comment to the constructor:

     * References added to this DGCAckHandler will be held strongly
     * until its "release" method is invoked or (after the
     * "startTimer" method has been invoked) the timeout has expired.

Would you please help review the fix?

BUGURL: https://bugs.openjdk.java.net/browse/JDK-8046339
WEBREV: http://cr.openjdk.java.net/~igerasim/8046339/0/webrev/

Sincerely yours,
Ivan

Reply via email to