Tomcat fails to start
Asked by LavernaSec:

Hey,

I have been attempting to get Atlassian Confluence setup in a VM all day, and it seems to fail any time the server is restarted. Tomcat is not properly coming back up, and only port 8090 is listening (I used default ports). I am attempting to run an SSL proxy using nginx in front of the installation. However, even when I leave the default connector, port 8000 never comes back up after the initial installation.

My VM currently has 4gb allocated to it, I was previously attempting with 2gb and have had the same results.

Please see below for startup output as well server.xml.

output from manual start:

/opt/atlassian/confluence/jre//bin/java -Djava.util.logging.config.file=/opt/atlassian/confluence/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -XX:ReservedCodeCacheSize=256m -XX:+UseCodeCacheFlushing -Djdk.tls.server.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.1,TLSv1.2 -Dconfluence.context.path= -Datlassian.plugins.startup.options= -Djava.locale.providers=JRE,SPI,CLDR -Dorg.apache.tomcat.websocket.DEFAULT_BUFFER_SIZE=32768 -Dsynchrony.enable.xhr.fallback=true -Xms1024m -Xmx1024m -XX:+UseG1GC -Datlassian.plugins.enable.wait=300 -Djava.awt.headless=true -XX:G1ReservePercent=20 -Xloggc:/opt/atlassian/confluence/logs/gc-2020-01-06_22-23-06.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=2M -Xlog:gc+age=debug:file=/opt/atlassian/confluence/logs/gc-2020-01-06_22-23-06.log::filecount=5,filesize=2M -XX:-PrintGCDetails -XX:+PrintGCDateStamps -XX:-PrintTenuringDistribution -XX:+IgnoreUnrecognizedVMOptions -Dignore.endorsed.dirs= -classpath /opt/atlassian/confluence/bin/bootstrap.jar:/opt/atlassian/confluence/bin/tomcat-juli.jar -Dcatalina.base=/opt/atlassian/confluence -Dcatalina.home=/opt/atlassian/confluence -Djava.io.tmpdir=/opt/atlassian/confluence/temp org.apache.catalina.startup.Bootstrap start  
06-Jan-2020 22:24:48.915 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server\] failed to set property \[debug\] to \[0\]  
06-Jan-2020 22:24:48.971 WARNING \[main\] org.apache.catalina.startup.SetAllPropertiesRule.begin \[SetAllPropertiesRule\]{Server/Service/Connector} Setting property 'debug' to '0' did not find a matching property.  
06-Jan-2020 22:24:48.988 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine\] failed to set property \[debug\] to \[0\]  
06-Jan-2020 22:24:48.997 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine/Host\] failed to set property \[debug\] to \[0\]  
06-Jan-2020 22:24:49.040 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine/Host/Context\] failed to set property \[debug\] to \[0\]  
06-Jan-2020 22:24:49.065 WARNING \[main\] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match \[Server/Service/Engine/Host/Context\] failed to set property \[debug\] to \[0\]  
06-Jan-2020 22:24:49.390 INFO \[main\] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler \["http-nio-8090"\]  
06-Jan-2020 22:24:49.415 INFO \[main\] org.apache.catalina.startup.Catalina.load Server initialization in \[598\] milliseconds  
06-Jan-2020 22:24:49.421 INFO \[main\] org.apache.catalina.core.StandardService.startInternal Starting service \[Tomcat-Standalone\]  
06-Jan-2020 22:24:49.421 INFO \[main\] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: \[Apache Tomcat/9.0.27\]  
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".  
SLF4J: Defaulting to no-operation (NOP) logger implementation  
SLF4J: See <http://www.slf4j.org/codes.html#StaticLoggerBinder> for further details.  
06-Jan-2020 22:24:51.656 INFO \[Catalina-utility-2\] org.apache.catalina.core.ApplicationContext.log 1 Spring WebApplicationInitializers detected on classpath  
06-Jan-2020 22:24:51.780 INFO \[Catalina-utility-2\] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.  
06-Jan-2020 22:24:52.027 INFO \[Catalina-utility-2\] org.apache.catalina.core.ApplicationContext.log Initializing Spring DispatcherServlet 'dispatcher'  
2020-01-06 22:24:52,520 INFO \[Catalina-utility-1\] \[com.atlassian.confluence.lifecycle\] contextInitialized Starting Confluence 7.2.0 \[build 8401 based on commit hash 912a577971fe711d4a876d9130277d03b009a0bf\] - synchrony version 3.1.0-master-0f086db5  
06-Jan-2020 22:26:39.068 INFO \[main\] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler \["http-nio-8090"\]  
06-Jan-2020 22:26:39.133 INFO \[main\] org.apache.catalina.startup.Catalina.start Server startup in \[109,718\] milliseconds  
06-Jan-2020 22:27:00.344 INFO \[http-nio-8090-exec-1\] com.sun.jersey.server.impl.application.WebApplicationImpl._initiate Initiating Jersey application, version 'Jersey: 1.19.4 05/24/2017 03:20 PM'

server.xml

---------------------

\<Server port="8000" shutdown="SHUTDOWN" debug="0"\>  
\<Service name="Tomcat-Standalone"\>  
\<!--  
==============================================================================================================  
DEFAULT - Direct connector with no proxy, for unproxied HTTP access to Confluence.

If using a http/https proxy, comment out this connector.  
==============================================================================================================  
--\>  
\<!--  
\<Connector port="8090" connectionTimeout="20000" redirectPort="8443"  
maxThreads="48" minSpareThreads="10"  
enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"  
protocol="org.apache.coyote.http11.Http11NioProtocol"/\>  
--\>  
\<!--  
==============================================================================================================  
HTTP - Proxying Confluence via Apache or Nginx over HTTP

If you're proxying traffic to Confluence over HTTP, uncomment the connector below and comment out the others.  
Make sure you provide the right information for proxyName and proxyPort.

For more information see:  
Apache - <https://confluence.atlassian.com/x/4xQLM>  
nginx - <https://confluence.atlassian.com/x/TgSvEg>

==============================================================================================================  
--\>

\<!--  
\<Connector port="8090" connectionTimeout="20000" redirectPort="8443"  
maxThreads="48" minSpareThreads="10"  
enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"  
protocol="org.apache.coyote.http11.Http11NioProtocol"  
scheme="http" proxyName="\<subdomain\>.\<domain\>.com" proxyPort="80"/\>  
--\>  

\<!--  
==============================================================================================================  
HTTPS - Direct connector with no proxy, for unproxied HTTPS access to Confluence.

For more info see <https://confluence.atlassian.com/x/s3UC>  
==============================================================================================================  
--\>

\<!--  
\<Connector port="8443" maxHttpHeaderSize="8192"  
maxThreads="150" minSpareThreads="25"  
protocol="org.apache.coyote.http11.Http11Nio2Protocol"  
enableLookups="false" disableUploadTimeout="true"  
acceptCount="100" scheme="https" secure="true"  
clientAuth="false" sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2" SSLEnabled="true"  
URIEncoding="UTF-8" keystorePass="\<MY_CERTIFICATE_PASSWORD\>"/\>  
--\>

\<!--  
==============================================================================================================  
HTTPS - Proxying Confluence via Apache or Nginx over HTTPS

If you're proxying traffic to Confluence over HTTPS, uncomment the connector below and comment out the others.  
Make sure you provide the right information for proxyName and proxyPort.

For more information see:  
Apache - <https://confluence.atlassian.com/x/PTT3MQ>  
nginx - <https://confluence.atlassian.com/x/cNIvMw>  
==============================================================================================================  
--\>

\<Connector port="8090" connectionTimeout="20000" redirectPort="8443"  
maxThreads="48" minSpareThreads="10"  
enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"  
protocol="org.apache.coyote.http11.Http11NioProtocol"  
scheme="https" secure="true" proxyName="library.lavernalabs.com" proxyPort="443"/\>

\<Engine name="Standalone" defaultHost="localhost" debug="0"\>  
\<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false" startStopThreads="4"\>  
\<Context path="" docBase="../confluence" debug="0" reloadable="false" useHttpOnly="true"\>  
\<!-- Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties --\>  
\<Manager pathname=""/\>  
\<Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60"/\>  
\</Context\>

\<Context path="${confluence.context.path}/synchrony-proxy" docBase="../synchrony-proxy" debug="0"  
reloadable="false" useHttpOnly="true"\>  
\<Valve className="org.apache.catalina.valves.StuckThreadDetectionValve" threshold="60"/\>  
\</Context\>  
\</Host\>  
\</Engine\>  
\</Service\>  
\</Server\>


Answers:
author: Shannon S
body: Hello [@LavernaSec](/t5/user/viewprofilepage/user-id/3696511),

Thank you for contacting us about this and welcome to Atlassian Community. It's nice to meet you. Let's see if we can get your Confluence site up and running!

When you say that you're using a VM, is this an internal VM, or is there a particular product you're using to run the VM, such as Docker?

In addition, what is your Confluence version?

From the stack trace you sent me, I don't see any particular error that would tell me that anything is failing. The final message is what you see when Confluence is starting up successfully. As for your server.xml, it looks alright to me, but if you're using Docker, then the XML file gets overwritten upon restart. See [Advanced Configuration \> Overwrite the templates at runtime](https://hub.docker.com/r/atlassian/confluence-server/) from our Docker Hub page for more details.

Regards,

Shannon

comments: author: LavernaSec
body: Was able to get things working. Thank you for the response!


author: Shannon S
body: You're welcome! I'm curious to know, was the problem in the end?

Regards,

Shannon


author: LavernaSec
body: I made a quick script to monitor for ports opening and left it for 10 minutes; it eventually popped up haha. We may need to switch to bare metal hardware as the 4gb instance is still almost maxed out.


author: Shannon S
body: Oh, well then that sounds easy enough! Thank you for letting me know.

Good luck on the migration if you end up having to do that, and let us know here if you run into any issues! We'll be happy to help.

Take care, and have a pleasant weekend.

Regards,

Shannon


author: Mohammed Faisal
body: Atlassian Team,

I am having similar issue but I see ports are open but still unable to start confluence


Tags: confluence-server

server