RFR (S) 8042796: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found

Coleen Phillimore coleen.phillimore at oracle.com
Tue May 13 23:17:02 UTC 2014


Serguei,

I don't know if this is the right fix.  We shouldn't have deleted 
methods in the cpCache because there's no way to keep these Method*s 
from being deallocated.  I thought AdjustCpoolCacheAndVtable => 
ConstantPoolCache::adjust_method_entries should fix these entries. For 
deleted methods, shouldn't their cpCache entries be set to unresolved?  
Which class had the deleted methods?   The one being redefined?

It looks like the code never did this.  I think this is missing 
functionality.  Do we not have any tests that delete a method?  Your 
change should add a test anyway - there are class redefinition tests in 
jdk/test/java/lang/instrument that can be adapted and we should probably 
keep them all together there.

Thanks,
Coleen

On 5/9/14, 2:20 PM, serguei.spitsyn at oracle.com wrote:
> Please, review the fix for:
>   https://bugs.openjdk.java.net/browse/JDK-8042796
>
>
> Open webrev:
> http://cr.openjdk.java.net/~sspitsyn/webrevs/2014/hotspot/8042796-JVMTI-OLD.1 
>
>
> Summary:
>
>   This is a Nightly Stabilization issue that was caused by a 
> combination of two problems:
>     - A regression introduced by the fix of: 
> https://bugs.openjdk.java.net/browse/JDK-7182152
>     - An SQE testbase infra regression: 
> https://bugs.openjdk.java.net/browse/INTJDK-7611018
>
>   A number of the vm.mlvm tests hits this guarantee taht was added by 
> 7182152 (must be relaxed).
>   The issue is with the deleted static private methods that are still 
> present in the CP cache.
>   The fix is to mark the deleted methods with the flag 
> JVM_ACC_IS_DELETED and
>   then use it to relax the guarantee condition.
>
>
> Testing:
>   Running the failing tests: vm.mlvm.indy.func.jvmti
>   In progress: nsk.jvmti, nsk.jdi, java.lang.instrument test runs on 
> sparcv9 and amd64.
>
>
> Thanks,
> Serguei



More information about the hotspot-dev mailing list