RFR(s) 4858370: JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command

Severin Gehwolf sgehwolf at redhat.com
Mon Mar 21 17:47:51 UTC 2016


Hi,

Could somebody please review this fix for bug 4858370?

Bug: https://bugs.openjdk.java.net/browse/JDK-4858370
webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-4858370/webrev.01/

Testing done: jdk_jdi test group passes. Added regression test.

There is a memory leak in the JDWP implementation where method
parameters, method return values and the "this" object reference for
constructor invocations are kept in memory via a global reference and
get, thus, never GC'ed.

The proposed fix deletes global references again in
invoke_completeInvokeRequest(). The references got previously created
in fillInvokeRequest() and invoker_invoke*() implementations.

Thoughts?

Note that I'd need somebody to sponsor the push to JDK 9 tree for me
(once approved). Thanks.

Cheers,
Severin



More information about the serviceability-dev mailing list