You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Ying Jin <ji...@gmail.com> on 2024/08/09 19:03:33 UTC

Tomcat 9 and OpenJDK 17

Hi,

We have a web application implemented with JSF 2.3, Primefaces, JDK11 and
it can run well on Tomcat 9 Server. We encountered following errors after
upgrading JDK version to OpenJDK17 in order to meet the deployment
requirements:

SEVERE: A child container failed during start
java.util.concurrent.ExecutionException:
org.apache.catalina.LifecycleException: Failed to start component
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpaceSurvey]]
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878)
at
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
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:871)
at
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at
org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:914)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
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:568)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: org.apache.catalina.LifecycleException: Failed to start
component
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpaceSurvey]]
at
org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
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:871)
... 21 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make
protected final java.lang.Class
java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws
java.lang.ClassFormatError accessible: module java.base does not "opens
java.lang" to unnamed module @800a742
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.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at org.jboss.weld.util.bytecode.ClassFileUtils$1.run(ClassFileUtils.java:67)
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
at
org.jboss.weld.util.bytecode.ClassFileUtils.makeClassLoaderMethodsAccessible(ClassFileUtils.java:60)
at org.jboss.weld.bootstrap.WeldStartup.startContainer(WeldStartup.java:220)
at
org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:72)
at
org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:67)
at
org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:183)
at
org.jboss.weld.environment.servlet.EnhancedListener.onStartup(EnhancedListener.java:62)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4936)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 27 more

Please help shed some lights on this issue. What is the quick way to get
this project to work with OpenJDK 17 under time pressure?

Your help is greatly appreciated!
Jenny

Re: Tomcat 9 and OpenJDK 17

Posted by Christopher Schultz <ch...@christopherschultz.net>.
Jenny,

On 8/9/24 15:03, Ying Jin wrote:
> We have a web application implemented with JSF 2.3, Primefaces, JDK11 and
> it can run well on Tomcat 9 Server. We encountered following errors after
> upgrading JDK version to OpenJDK17 in order to meet the deployment
> requirements:
> 
> SEVERE: A child container failed during start
> java.util.concurrent.ExecutionException:
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpaceSurvey]]
> at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878)
> at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
> 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:871)
> at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> at
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:428)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:914)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
> 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:568)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
> Caused by: org.apache.catalina.LifecycleException: Failed to start
> component
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpaceSurvey]]
> at
> org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
> 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:871)
> ... 21 more
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make
> protected final java.lang.Class
> java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws
> java.lang.ClassFormatError accessible: module java.base does not "opens
> java.lang" to unnamed module @800a742
> 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.Method.checkCanSetAccessible(Method.java:199)
> at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
> at org.jboss.weld.util.bytecode.ClassFileUtils$1.run(ClassFileUtils.java:67)
> at
> java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
> at
> org.jboss.weld.util.bytecode.ClassFileUtils.makeClassLoaderMethodsAccessible(ClassFileUtils.java:60)
> at org.jboss.weld.bootstrap.WeldStartup.startContainer(WeldStartup.java:220)
> at
> org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:72)
> at
> org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:67)
> at
> org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:183)
> at
> org.jboss.weld.environment.servlet.EnhancedListener.onStartup(EnhancedListener.java:62)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4936)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
> ... 27 more
> 
> Please help shed some lights on this issue. What is the quick way to get
> this project to work with OpenJDK 17 under time pressure?

This looks like a JBoss issue to me, given the stack trace.

If you are already running the latest version of JBoss available, you 
should contact the JBoss team to see what might be necessary in order to 
run under Java 17.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org