RFR(s) 8153711: [REDO] JDWP: Memory Leak: GlobalRefs never deleted when processing invokeMethod command

Dmitry Samersoff dmitry.samersoff at oracle.com
Fri Apr 15 18:59:34 UTC 2016


Severin,

Looks good for me.

But I'm a little afraid of the fact that now we are holding
eventHandler_lock while doing invoke*.

So please hold on with backports until the fix bakes in jdk9 for some time.

-Dmitry

On 2016-04-15 19:53, Severin Gehwolf wrote:
> Hi,
> 
> Here is a patch which is a redo of the fix for JDK-4858370 which got
> backed out due to it causing test regressions. Specifically problems
> were reported for com/sun/jdi/InvokeTest.java
> and com/sun/jdi/InterfaceMethodsTest.java with the fix for JDK-4858370
> applied.
> 
> Those test regressions were caused because:
> a.) The fix for JDK-4858370 deleted refs from the request object
>     while *not* holding the invoker lock.
> b.) Invokes done via invoker_doInvoke() save global references, but
>     don't hold the invoker lock either.
> 
> This new fix grabs relevant locks for both cases above.
> 
> Testing done:
>  - com/sun/jdi test set. No regressions + added regression test.
>  - com/sun/jdi/InterfaceMethodsTest.java did not fail in 1300
>    invocations. Same for com/sun/jdi/InvokeTest.java.
>  - I haven't seen any crashes in new OomDebugTest.java either.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8153711
> webrev: http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8153711/webrev.01/
> 
> Once reviewed, I'd need somebody to sponsor this patch.
> 
> Thanks,
> Severin
> 


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the serviceability-dev mailing list