https://bz.apache.org/bugzilla/show_bug.cgi?id=69576
Bug ID: 69576
Summary: Tomcat doesn't start on JDK 17 due to an
ExceptionInInitializerError
Product: Tomcat 9
Version: unspecified
Hardware: PC
OS: Mac OS X 10.1
Status: NEW
Severity: normal
Priority: P2
Component: Util
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: -----
Created attachment 39991
--> https://bz.apache.org/bugzilla/attachment.cgi?id=39991&action=edit
The full server logs during Tomcat start on JDK 17
The recent fix for CVE-2024-56337 shipped within Tomcat 9.0.99 caused error
during Tomcat start while running on JDK 17.
We also use Tomcat 9.x on JDK 11 and didn't observe the issue.
See below the exception preventing Tomcat to start:
---
2025-02-11 05:20:16 SEVERE [main]
org.apache.tomcat.util.digester.Digester.startElement Begin event threw
exception
java.lang.reflect.InvocationTargetException
at
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at
java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at
org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:103)
at
org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1278)
at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElementAfterName(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at
org.apache.tomcat.util.digester.Digester.parse(Digester.java:1559)
at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:623)
at
org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1844)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:575)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:466)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1584)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
at
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
at
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389)
at
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336)
at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:776)
at
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:721)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
at
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:211)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:874)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at
org.apache.catalina.startup.Catalina.start(Catalina.java:739)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
org.apache.tomcat.util.compat.JreCompat
at
org.apache.catalina.core.StandardContext.<init>(StandardContext.java:323)
... 54 more
Caused by: java.lang.ExceptionInInitializerError: Exception
java.lang.reflect.InaccessibleObjectException: Unable to make field static
final boolean java.io.FileSystem.useCanonCaches accessible: module java.base
does not "opens java.io" to unnamed module @dcf3e99 [in thread "main"]
at
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at
java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
at
java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at
org.apache.tomcat.util.compat.JreCompat.<clinit>(JreCompat.java:131)
at
org.apache.catalina.connector.Connector.initInternal(Connector.java:1025)
at
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:122)
at
org.apache.catalina.core.StandardService.initInternal(StandardService.java:525)
at
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:122)
at
org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:986)
at
org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:122)
at org.apache.catalina.startup.Catalina.load(Catalina.java:690)
at org.apache.catalina.startup.Catalina.load(Catalina.java:713)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at
org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:302)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:472)
---
Note that we don't use Jigsaw in our application.
You can find in the attachments all the logs we get when starting.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]