-
Bug
-
Resolution: Fixed
-
P4
-
repo-valhalla
The test test/jdk/valhalla/valuetype/ValhallaFeaturesTest fails with the error below. The class reported as illegal is in the JUnit test library.
It appears that the ACC_SUPER/ACC_IDENTITY bit is not set in the class file reporting the class as a value class.
See classFileParser.cpp.ClassFileParser::verify_legal_class_modifiers: 4691
The check for ACC_IDENTITY may need to be class file version specific.
java.lang.ClassFormatError: Illegal class modifiers in declaration of inner class Status (a value class) of class org/junit/platform/engine/DiscoverySelector: 0x4019
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1023)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
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:525)
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3796)
at java.base/java.lang.Class.getMethodsRecursive(Class.java:3937)
at java.base/java.lang.Class.getMethod0(Class.java:3923)
at java.base/java.lang.Class.getMethod(Class.java:2613)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:137)
at java.base/java.lang.Thread.run(Thread.java:1570)
It appears that the ACC_SUPER/ACC_IDENTITY bit is not set in the class file reporting the class as a value class.
See classFileParser.cpp.ClassFileParser::verify_legal_class_modifiers: 4691
The check for ACC_IDENTITY may need to be class file version specific.
java.lang.ClassFormatError: Illegal class modifiers in declaration of inner class Status (a value class) of class org/junit/platform/engine/DiscoverySelector: 0x4019
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1023)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
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:525)
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3796)
at java.base/java.lang.Class.getMethodsRecursive(Class.java:3937)
at java.base/java.lang.Class.getMethod0(Class.java:3923)
at java.base/java.lang.Class.getMethod(Class.java:2613)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:137)
at java.base/java.lang.Thread.run(Thread.java:1570)