Solutions
ForgeRock Identity Platform
Does not apply to Identity Cloud

AM (All versions) fails to start due to SEVERE: ContainerBase.addChild: start: error on Apache Tomcat

Last updated Mar 25, 2021

The purpose of this article is to provide assistance if AM fails to start due to "SEVERE: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/openam]]" error on Apache Tomcat™. Caused by: java.lang.NullPointerException at org.apache.tomcat.util.IntrospectionUtils.getProperty(IntrospectionUtils.java:425).


Symptoms

An error similar to the following is shown in catalina.out when AM fails to start:

Oct 12, 2020 4:19:21 PM org.apache.catalina.core.ContainerBase addChildInternal SEVERE: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/openam]]   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)    at java.util.concurrent.FutureTask.run(FutureTask.java:262)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)    at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.NullPointerException    at org.apache.tomcat.util.IntrospectionUtils.getProperty(IntrospectionUtils.java:425)    at org.apache.catalina.connector.Connector.getProperty(Connector.java:271)    at org.apache.catalina.connector.Connector.getAttribute(Connector.java:290)    at org.apache.catalina.core.ApplicationContext.populateSessionTrackingModes(ApplicationContext.java:1210)    at org.apache.catalina.core.ApplicationContext.<init>(ApplicationContext.java:124)    at org.apache.catalina.core.StandardContext.getServletContext(StandardContext.java:2367)    at org.apache.catalina.core.StandardContext.postWorkDirectory(StandardContext.java:6309)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5284)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)    ... 10 more Oct 12, 2020 4:19:21 PM org.apache.catalina.startup.HostConfig deployWAR SEVERE: Error deploying web application archive /opt/apps/openam/webapps/openam.war java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/openam]] ...

Recent Changes

Made configuration changes to Tomcat, for example, updated the server.xml file.

Installed a new Tomcat instance.

Causes

This issue is not caused by AM, it is related to the configuration of Tomcat. If Tomcat is misconfigured, then AM will fail to start.

Solution

This issue can be resolved by fixing the misconfiguration errors in Tomcat. Typically these errors suggest the misconfiguration relates to SSL or port configuration, but not always. You should check the following files for issues and fix any you find:

  • server.xml - in particular, focus on any recent changes you have made to the configuration.
  • web.xml - in particular, check the following elements:
    • <servlet-mapping> details - ensure all the mapped servlets exist. If a servlet does not exist, you can comment out the mapping.
    • <servlet-class> details - ensure all the servlet classes specified exist in a jar file in the path/to/tomcat/webapps/openam/WEB-INF/lib directory. If they don't, locate the missing jar file that contains the servlet class and add it to the WEB-INF/lib directory.

Once you have resolved your Tomcat misconfiguration issues, AM will start as normal.

See Also

How do I upgrade Apache Tomcat for an existing AM (All versions) install?

Memory leak messages when shutting down Apache Tomcat web container running AM (All versions)

Installation Guide › Preparing Apache Tomcat

Related Training

N/A

Related Issue Tracker IDs

N/A


Copyright and Trademarks Copyright © 2021 ForgeRock, all rights reserved.