United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6994630 java/lang/instrument/IsModifiableClassAgent.java fails with -XX:+EnableInvokeDynamic
JDK-6994630 : java/lang/instrument/IsModifiableClassAgent.java fails with -XX:+EnableInvokeDynamic

Details
Type:
Bug
Submit Date:
2010-10-25
Status:
Closed
Updated Date:
2012-02-01
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
hs20
Fixed Versions:
hs20 (b03)

Related Reports
Backport:
Backport:

Sub Tasks

Description
Please see comments.

                                    

Comments
SUGGESTED FIX

The fix is to also check for the field with the already changed signature.
*** (#1 of 1): [ UNSAVED ] ###@###.###
                                     
2010-10-27
EVALUATION

There is a problem with the logic of ClassFileParser::java_dyn_MethodHandle_fix_pre.  The method searches for a field called "vmentry" with the signature "byte".  The signature of the field is then changed to vmSymbols::machine_word_signature() to hold an unmanged pointer.

When the method is called again the field's signature is already changed and it throws a VirtualMachineError resulting in a VerifyError.
                                     
2010-10-27
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d2e35ffae982
                                     
2010-10-28
EVALUATION

http://hg.openjdk.java.net/jdk7/build/hotspot/rev/d2e35ffae982
                                     
2010-12-04



Hardware and Software, Engineered to Work Together