-
Bug
-
Resolution: Not an Issue
-
P4
-
8u11, 8u25
-
x86
-
windows_8
FULL PRODUCT VERSION :
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
FULL OS VERSION :
Microsoft Windows [Version 6.2.9200]
A DESCRIPTION OF THE PROBLEM :
"VerifyError: Inconsistent stackmap frames" error in 1.8.0_25-b18 but not 1.8.0_11-b12 or 1.7.0_71-b14.
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Yes
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes
REGRESSION. Last worked in version 8u11
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Download test case using following link.
http://www.zelix.com/temp/xxs0q6626wax/Test.jar
Run test case using 1.8.0_25-b18
java -jar Test.jar
EXPECTED VERSUS ACTUAL BEHAVIOR :
If you use 1.8.0_11-b12 you will get the expected result ClassNotFoundException: org.apache.log4j.Category unless you put log4j in classpath.
If you use 1.8.0_25-b18 you will get the VerifyError: Inconsistent stackmap frames at branch target 17.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, interpreted mode)
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 17
Exception Details:
Location:
com/pg/orion/eng/util/graphic/ModuleGraphicTools.<init>(Ljava/lang/String;)V @17: iconst_0
Reason:
Current frame's flags are not assignable to stack map frame's.
Current Frame:
bci: @10
flags: { flagThisUninit }
locals: { uninitializedThis, 'java/lang/String' }
stack: { uninitializedThis, 'java/lang/String', 'java/lang/String' }
Stackmap Frame:
bci: @17
flags: { }
locals: { }
stack: { uninitializedThis, 'java/lang/String' }
Bytecode:
0x0000000: 2a2b b201 e603 32b8 001d c600 0704 a700
0x0000010: 0403 b700 1eb1
Stackmap Table:
full_frame(@17,{},{UninitializedThis,Object[#90]})
full_frame(@18,{},{UninitializedThis,Object[#90],Integer})
at Test.main(Test.java:3)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Stack map table for com/pg/orion/eng/util/graphic/ModuleGraphicTools.<init>(Ljava/lang/String;)V was generated by an optimizing utility so there is no direct source code.
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Use 1.8.0_11-b12 rather than 1.8.0_25-b18.
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
FULL OS VERSION :
Microsoft Windows [Version 6.2.9200]
A DESCRIPTION OF THE PROBLEM :
"VerifyError: Inconsistent stackmap frames" error in 1.8.0_25-b18 but not 1.8.0_11-b12 or 1.7.0_71-b14.
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Yes
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes
REGRESSION. Last worked in version 8u11
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Download test case using following link.
http://www.zelix.com/temp/xxs0q6626wax/Test.jar
Run test case using 1.8.0_25-b18
java -jar Test.jar
EXPECTED VERSUS ACTUAL BEHAVIOR :
If you use 1.8.0_11-b12 you will get the expected result ClassNotFoundException: org.apache.log4j.Category unless you put log4j in classpath.
If you use 1.8.0_25-b18 you will get the VerifyError: Inconsistent stackmap frames at branch target 17.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, interpreted mode)
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 17
Exception Details:
Location:
com/pg/orion/eng/util/graphic/ModuleGraphicTools.<init>(Ljava/lang/String;)V @17: iconst_0
Reason:
Current frame's flags are not assignable to stack map frame's.
Current Frame:
bci: @10
flags: { flagThisUninit }
locals: { uninitializedThis, 'java/lang/String' }
stack: { uninitializedThis, 'java/lang/String', 'java/lang/String' }
Stackmap Frame:
bci: @17
flags: { }
locals: { }
stack: { uninitializedThis, 'java/lang/String' }
Bytecode:
0x0000000: 2a2b b201 e603 32b8 001d c600 0704 a700
0x0000010: 0403 b700 1eb1
Stackmap Table:
full_frame(@17,{},{UninitializedThis,Object[#90]})
full_frame(@18,{},{UninitializedThis,Object[#90],Integer})
at Test.main(Test.java:3)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Stack map table for com/pg/orion/eng/util/graphic/ModuleGraphicTools.<init>(Ljava/lang/String;)V was generated by an optimizing utility so there is no direct source code.
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Use 1.8.0_11-b12 rather than 1.8.0_25-b18.