JDK-8293448 : [lworld] ClassAccessFlagsRawTest fail
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-09-06
  • Updated: 2022-09-07
  • Resolved: 2022-09-07
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.
Other
repo-valhallaFixed
Related Reports
Relates :  
Description
Lworld requires concrete classes to have either ACC_IDENTITY(0x20) or ACC_VALUE (0x40) to be set in the modifiers.
The ClassAccessFlagsRawTest was written prior to Valhalla and expects the ACC_SUPER (0x20) to be set.

The jdoc file for SUPERnotset does not set either bit and so a ClassFormatError is thrown.

The class file version number for SUPERnotset is 64.
There is no way to distinguish between main-line behavior and Lworld behavior.

java.lang.ClassFormatError: Illegal class modifiers in class SUPERnotset: 0x1
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1013)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:149)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:412)
	at java.base/java.lang.Class.forName(Class.java:403)
	at ClassAccessFlagsRawTest.testIt(ClassAccessFlagsRawTest.java:41)
	at ClassAccessFlagsRawTest.main(ClassAccessFlagsRawTest.java:55)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:579)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:1589)
Comments
A pull request was submitted for review. URL: https://git.openjdk.org/valhalla/pull/744 Date: 2022-09-06 21:08:26 +0000
06-09-2022