-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
23
-
None
-
b13
-
generic
-
generic
Since JDK 23+13 we see the following error when trying to initialize the JVM with a multi-release jar on the module path and with the czech locale:
$ ./jdk-23+13/bin/java -Duser.language=cs --module-path lib/io.quarkus.quarkus-fs-util-0.0.9.jar --list-modules
Error occurred during initialization of boot layer
java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: symbolic reference class is not accessible: class java.lang.Class, from public Lookup
Turning on -Xlog:init=debug we see this:
$ jdk-23+13/bin/java -Duser.language=cs --module-path lib/io.quarkus.quarkus-fs-util-0.0.9.jar -Xlog:init=debug --list-modules
Error occurred during initialization of boot layer
java.lang.ExceptionInInitializerError
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1161)
at java.base/java.lang.invoke.DirectMethodHandle.checkInitialized(DirectMethodHandle.java:382)
at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:370)
at java.base/java.lang.invoke.DirectMethodHandle.internalMemberNameEnsureInit(DirectMethodHandle.java:335)
at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:168)
at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:316)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:275)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:265)
at java.base/java.lang.runtime.SwitchBootstraps$TypePairs.hashCode(SwitchBootstraps.java:685)
at java.base/java.util.HashMap.hash(HashMap.java:338)
at java.base/java.util.HashMap.put(HashMap.java:619)
at java.base/java.lang.runtime.SwitchBootstraps$TypePairs.initialize(SwitchBootstraps.java:695)
at java.base/java.lang.runtime.SwitchBootstraps.<clinit>(SwitchBootstraps.java:102)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1161)
at java.base/java.lang.invoke.DirectMethodHandle.checkInitialized(DirectMethodHandle.java:382)
at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:370)
at java.base/java.lang.invoke.DirectMethodHandle.internalMemberNameEnsureInit(DirectMethodHandle.java:335)
at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:147)
at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:316)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:275)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:265)
at java.base/java.util.Locale.createLocale(Locale.java:998)
at java.base/java.util.Map.computeIfAbsent(Map.java:1067)
at java.base/java.util.Locale.getInstance(Locale.java:989)
at java.base/java.util.Locale.getInstance(Locale.java:980)
at java.base/java.util.Locale.initDefault(Locale.java:1136)
at java.base/java.util.Locale.<clinit>(Locale.java:2391)
at java.base/sun.security.util.SignatureFileVerifier.<clinit>(SignatureFileVerifier.java:51)
at java.base/java.util.jar.JarFile.getBytes(JarFile.java:801)
at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:1027)
at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:387)
at java.base/java.util.jar.JarFile.getEntry(JarFile.java:509)
at java.base/java.util.jar.JarFile.getJarEntry(JarFile.java:471)
at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:639)
at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:332)
at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:238)
at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:191)
at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:167)
at java.base/java.lang.module.ModuleFinder$2.lambda$findAll$2(ModuleFinder.java:365)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:288)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:611)
at java.base/java.lang.module.ModuleFinder$2.findAll(ModuleFinder.java:366)
at java.base/java.lang.module.Resolver.findAll(Resolver.java:856)
at java.base/java.lang.module.Resolver.bind(Resolver.java:234)
at java.base/java.lang.module.Configuration.resolveAndBind(Configuration.java:313)
at java.base/java.lang.module.ModuleDescriptor$1.resolveAndBind(ModuleDescriptor.java:2763)
at java.base/jdk.internal.module.Modules.newBootLayerConfiguration(Modules.java:191)
at java.base/jdk.internal.module.ModuleBootstrap.boot2(ModuleBootstrap.java:383)
at java.base/jdk.internal.module.ModuleBootstrap.boot(ModuleBootstrap.java:173)
at java.base/java.lang.System.initPhase2(System.java:2236)
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: symbolic reference class is not accessible: class java.lang.Class, from public Lookup
at java.base/java.lang.runtime.ObjectMethods.<clinit>(ObjectMethods.java:164)
... 58 more
Caused by: java.lang.IllegalAccessException: symbolic reference class is not accessible: class java.lang.Class, from public Lookup
at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:889)
at java.base/java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass(MethodHandles.java:3799)
at java.base/java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:3759)
at java.base/java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:2752)
at java.base/java.lang.runtime.ObjectMethods.<clinit>(ObjectMethods.java:90)
... 58 more
Changing the user.language to English works as expected:
$ jdk-23+13/bin/java -Duser.language=en --module-path lib/io.quarkus.quarkus-fs-util-0.0.9.jar --list-modules
java.base@23-beta
java.compiler@23-beta
java.datatransfer@23-beta
java.desktop@23-beta
java.instrument@23-beta
java.logging@23-beta
java.management@23-beta
java.management.rmi@23-beta
java.naming@23-beta
java.net.http@23-beta
java.prefs@23-beta
java.rmi@23-beta
java.scripting@23-beta
java.se@23-beta
java.security.jgss@23-beta
java.security.sasl@23-beta
java.smartcardio@23-beta
java.sql@23-beta
java.sql.rowset@23-beta
java.transaction.xa@23-beta
java.xml@23-beta
java.xml.crypto@23-beta
jdk.accessibility@23-beta
jdk.attach@23-beta
jdk.charsets@23-beta
jdk.compiler@23-beta
jdk.crypto.cryptoki@23-beta
jdk.crypto.ec@23-beta
jdk.dynalink@23-beta
jdk.editpad@23-beta
jdk.graal.compiler@23-beta
jdk.graal.compiler.management@23-beta
jdk.hotspot.agent@23-beta
jdk.httpserver@23-beta
jdk.incubator.vector@23-beta
jdk.internal.ed@23-beta
jdk.internal.jvmstat@23-beta
jdk.internal.le@23-beta
jdk.internal.opt@23-beta
jdk.internal.vm.ci@23-beta
jdk.jartool@23-beta
jdk.javadoc@23-beta
jdk.jcmd@23-beta
jdk.jconsole@23-beta
jdk.jdeps@23-beta
jdk.jdi@23-beta
jdk.jdwp.agent@23-beta
jdk.jfr@23-beta
jdk.jlink@23-beta
jdk.jpackage@23-beta
jdk.jshell@23-beta
jdk.jsobject@23-beta
jdk.jstatd@23-beta
jdk.localedata@23-beta
jdk.management@23-beta
jdk.management.agent@23-beta
jdk.management.jfr@23-beta
jdk.naming.dns@23-beta
jdk.naming.rmi@23-beta
jdk.net@23-beta
jdk.nio.mapmode@23-beta
jdk.random@23-beta
jdk.sctp@23-beta
jdk.security.auth@23-beta
jdk.security.jgss@23-beta
jdk.unsupported@23-beta
jdk.unsupported.desktop@23-beta
jdk.xml.dom@23-beta
jdk.zipfs@23-beta
io.quarkus.quarkus.fs.util@0.0.9 file:///path/to/lib/io.quarkus.quarkus-fs-util-0.0.9.jar automatic
This last worked with JDK 23+12. RevertingJDK-8309622, new in JDK 23+13 seems to fix the issue. Example jar triggering the issue, io.quarkus.quarkus-fs-util-0.0.9.jar, is attached.
$ ./jdk-23+13/bin/java -Duser.language=cs --module-path lib/io.quarkus.quarkus-fs-util-0.0.9.jar --list-modules
Error occurred during initialization of boot layer
java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: symbolic reference class is not accessible: class java.lang.Class, from public Lookup
Turning on -Xlog:init=debug we see this:
$ jdk-23+13/bin/java -Duser.language=cs --module-path lib/io.quarkus.quarkus-fs-util-0.0.9.jar -Xlog:init=debug --list-modules
Error occurred during initialization of boot layer
java.lang.ExceptionInInitializerError
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1161)
at java.base/java.lang.invoke.DirectMethodHandle.checkInitialized(DirectMethodHandle.java:382)
at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:370)
at java.base/java.lang.invoke.DirectMethodHandle.internalMemberNameEnsureInit(DirectMethodHandle.java:335)
at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:168)
at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:316)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:275)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:265)
at java.base/java.lang.runtime.SwitchBootstraps$TypePairs.hashCode(SwitchBootstraps.java:685)
at java.base/java.util.HashMap.hash(HashMap.java:338)
at java.base/java.util.HashMap.put(HashMap.java:619)
at java.base/java.lang.runtime.SwitchBootstraps$TypePairs.initialize(SwitchBootstraps.java:695)
at java.base/java.lang.runtime.SwitchBootstraps.<clinit>(SwitchBootstraps.java:102)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1161)
at java.base/java.lang.invoke.DirectMethodHandle.checkInitialized(DirectMethodHandle.java:382)
at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:370)
at java.base/java.lang.invoke.DirectMethodHandle.internalMemberNameEnsureInit(DirectMethodHandle.java:335)
at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:147)
at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:316)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:275)
at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:265)
at java.base/java.util.Locale.createLocale(Locale.java:998)
at java.base/java.util.Map.computeIfAbsent(Map.java:1067)
at java.base/java.util.Locale.getInstance(Locale.java:989)
at java.base/java.util.Locale.getInstance(Locale.java:980)
at java.base/java.util.Locale.initDefault(Locale.java:1136)
at java.base/java.util.Locale.<clinit>(Locale.java:2391)
at java.base/sun.security.util.SignatureFileVerifier.<clinit>(SignatureFileVerifier.java:51)
at java.base/java.util.jar.JarFile.getBytes(JarFile.java:801)
at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:1027)
at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:387)
at java.base/java.util.jar.JarFile.getEntry(JarFile.java:509)
at java.base/java.util.jar.JarFile.getJarEntry(JarFile.java:471)
at java.base/jdk.internal.module.ModulePath.readJar(ModulePath.java:639)
at java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:332)
at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:238)
at java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:191)
at java.base/jdk.internal.module.ModulePath.findAll(ModulePath.java:167)
at java.base/java.lang.module.ModuleFinder$2.lambda$findAll$2(ModuleFinder.java:365)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:288)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:611)
at java.base/java.lang.module.ModuleFinder$2.findAll(ModuleFinder.java:366)
at java.base/java.lang.module.Resolver.findAll(Resolver.java:856)
at java.base/java.lang.module.Resolver.bind(Resolver.java:234)
at java.base/java.lang.module.Configuration.resolveAndBind(Configuration.java:313)
at java.base/java.lang.module.ModuleDescriptor$1.resolveAndBind(ModuleDescriptor.java:2763)
at java.base/jdk.internal.module.Modules.newBootLayerConfiguration(Modules.java:191)
at java.base/jdk.internal.module.ModuleBootstrap.boot2(ModuleBootstrap.java:383)
at java.base/jdk.internal.module.ModuleBootstrap.boot(ModuleBootstrap.java:173)
at java.base/java.lang.System.initPhase2(System.java:2236)
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: symbolic reference class is not accessible: class java.lang.Class, from public Lookup
at java.base/java.lang.runtime.ObjectMethods.<clinit>(ObjectMethods.java:164)
... 58 more
Caused by: java.lang.IllegalAccessException: symbolic reference class is not accessible: class java.lang.Class, from public Lookup
at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:889)
at java.base/java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass(MethodHandles.java:3799)
at java.base/java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:3759)
at java.base/java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:2752)
at java.base/java.lang.runtime.ObjectMethods.<clinit>(ObjectMethods.java:90)
... 58 more
Changing the user.language to English works as expected:
$ jdk-23+13/bin/java -Duser.language=en --module-path lib/io.quarkus.quarkus-fs-util-0.0.9.jar --list-modules
java.base@23-beta
java.compiler@23-beta
java.datatransfer@23-beta
java.desktop@23-beta
java.instrument@23-beta
java.logging@23-beta
java.management@23-beta
java.management.rmi@23-beta
java.naming@23-beta
java.net.http@23-beta
java.prefs@23-beta
java.rmi@23-beta
java.scripting@23-beta
java.se@23-beta
java.security.jgss@23-beta
java.security.sasl@23-beta
java.smartcardio@23-beta
java.sql@23-beta
java.sql.rowset@23-beta
java.transaction.xa@23-beta
java.xml@23-beta
java.xml.crypto@23-beta
jdk.accessibility@23-beta
jdk.attach@23-beta
jdk.charsets@23-beta
jdk.compiler@23-beta
jdk.crypto.cryptoki@23-beta
jdk.crypto.ec@23-beta
jdk.dynalink@23-beta
jdk.editpad@23-beta
jdk.graal.compiler@23-beta
jdk.graal.compiler.management@23-beta
jdk.hotspot.agent@23-beta
jdk.httpserver@23-beta
jdk.incubator.vector@23-beta
jdk.internal.ed@23-beta
jdk.internal.jvmstat@23-beta
jdk.internal.le@23-beta
jdk.internal.opt@23-beta
jdk.internal.vm.ci@23-beta
jdk.jartool@23-beta
jdk.javadoc@23-beta
jdk.jcmd@23-beta
jdk.jconsole@23-beta
jdk.jdeps@23-beta
jdk.jdi@23-beta
jdk.jdwp.agent@23-beta
jdk.jfr@23-beta
jdk.jlink@23-beta
jdk.jpackage@23-beta
jdk.jshell@23-beta
jdk.jsobject@23-beta
jdk.jstatd@23-beta
jdk.localedata@23-beta
jdk.management@23-beta
jdk.management.agent@23-beta
jdk.management.jfr@23-beta
jdk.naming.dns@23-beta
jdk.naming.rmi@23-beta
jdk.net@23-beta
jdk.nio.mapmode@23-beta
jdk.random@23-beta
jdk.sctp@23-beta
jdk.security.auth@23-beta
jdk.security.jgss@23-beta
jdk.unsupported@23-beta
jdk.unsupported.desktop@23-beta
jdk.xml.dom@23-beta
jdk.zipfs@23-beta
io.quarkus.quarkus.fs.util@0.0.9 file:///path/to/lib/io.quarkus.quarkus-fs-util-0.0.9.jar automatic
This last worked with JDK 23+12. Reverting
- duplicates
-
JDK-8328261 public lookup fails with IllegalAccessException when used while module system is being initialized
-
- Resolved
-
- relates to
-
JDK-8309622 Re-examine the cache mechanism in BaseLocale
-
- Resolved
-