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

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Wed Dec 31 17:42:28 UTC 2014


Please, review the fix for:
   https://bugs.openjdk.java.net/browse/JDK-8068162


Open webrev:
http://cr.openjdk.java.net/~sspitsyn/webrevs/2014/hotspot/8068162-JVMTI-old.1/


Summary:

    The sun.misc.Unsafe:throwIllegalAccessError() method is used in 
place of a default
    interface method in the itable if a default method was not defined 
in the interface.

    This approach creates a problem when the class sun.misc.Unsafe is 
retransformed.
    The Method* pointer to the old (redefined) method in the itable 
triggers an assert
    (see the hs_err log in the bug report).

    The fix is to replace the old method in the itable with the latest 
method version.


Testing:
   In progress: nsk.jdi.testlist, JTREG java/lang/instrument tests


Thanks,
Serguei



More information about the serviceability-dev mailing list