JDK-8014059 : JSR292: Failed to reject invalid class cplmhl00201m28n
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs25
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2013-05-07
  • Updated: 2014-01-14
  • Resolved: 2013-05-22
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 Other
8Fixed hs25Fixed
Related Reports
Relates :  
Description
during PIT of hs25-b31 for jdk8-b89 tests 'vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m2' and 'vm/classfmt/cpl/cplmhl002/cplmhl00201m3/cplmhl00201m3' have failed on all platforms:

----------out2:(8/1401)----------
Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 1 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m21n (not a method)
Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 29 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m22n (not a method)
Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 6 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m23n (not a method)
Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 7 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m24n (not a method)
Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 9 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m25n (not a method)
Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 11 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m26n (not a method)
Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 16 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m27n (not a method)
Failed to reject invalid class cplmhl00201m28n
result: Failed. test failed

Comments
Additional check for classfile version needs to be added to the change http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/diff/41ed397cc0cd/src/share/vm/classfile/classFileParser.cpp such that changes to allow invokestatic and invokespecial to invoke interface methods only apply to version 52 and later.
20-05-2013

As already noted, this is a regression introduced in JDK8-b88. I am raising the priority to P2.
20-05-2013

Thanks Yuri. If this is a verifier or classfile parser issue then it would be a runtime issue. It may be some of the recent lambda support changes are not checking the class file version. I'll add bharadwaj as a watcher of this bug.
20-05-2013

Please notice that the test classfiles have version 51.0.
20-05-2013

It started to fail with JDK8 b88: cthaling@macbook:~$ ~/re/jdk/8/promoted/all/b87/binaries/macosx-x64/bin/java -showversion -cp $JCK8TESTBASE javasoft.sqe.tests.vm.classfmt.cpl.cplmhl002.cplmhl00201m2.cplmhl00201m2 java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b87) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b28, mixed mode) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 1 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m21n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 29 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m22n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 6 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m23n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 7 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m24n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 9 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m25n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 11 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m26n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 16 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m27n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 17 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m28n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 22 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m29n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 28 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m210n (not a method) cthaling@macbook:~$ ~/re/jdk/8/promoted/all/b88/binaries/macosx-x64/bin/java -showversion -cp $JCK8TESTBASE javasoft.sqe.tests.vm.classfmt.cpl.cplmhl002.cplmhl00201m2.cplmhl00201m2 java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b88) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b30, mixed mode) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 1 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m21n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 29 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m22n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 6 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m23n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 7 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m24n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 9 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m25n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 11 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m26n (not a method) Passed with loading exception: java.lang.ClassFormatError: Invalid constant pool index 16 in class file javasoft/sqe/tests/vm/classfmt/cpl/cplmhl002/cplmhl00201m2/cplmhl00201m27n (not a method) Failed to reject invalid class cplmhl00201m28n
07-05-2013