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

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Fri Apr 15 20:52:21 UTC 2016


On 4/15/16 11:59, Dmitry Samersoff wrote:
> Severin,
>
> Looks good for me.
>
> But I'm a little afraid of the fact that now we are holding
> eventHandler_lock while doing invoke*.

It seems, I have this concern too.
Please, let me take a look closer at this part if it is done in a right way.


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

Thanks,
Serguei

>
> -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
>>
>



More information about the serviceability-dev mailing list