JIRA won't start after upgrade to 5.2

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Symptoms

JIRA will not start

The following appears in the catalina.out log file:

1 2 3 4 Nov 23, 2012 3:07:04 PM org.apache.catalina.startup.Catalina load WARNING: Catalina.start using conf/server.xml: Error at (34, 79) : org.apache.catalina.mbeans.ServerLifecycleListener Nov 23, 2012 3:07:04 PM org.apache.catalina.startup.Catalina start SEVERE: Cannot start server. Server instance is not configured.

Diagnosis

Upgrade must have been done using an installer. Affects both Windows and Linux systems. Try to use a clean server.xml which shipped with JIRA 5.2 to try and start JIRA. If it starts without any issues, then you have confirmed this issue.

For reference, this is the content of an standard server.xml file of JIRA 5.2:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 <?xml version="1.0" encoding="utf-8"?> <!--    ====================================================================================    Atlassian JIRA Standalone Edition Tomcat Configuration.    See the following for more information    http://confluence.atlassian.com/display/JIRA/Configuring+JIRA+Standalone    ====================================================================================  --> <!--   Licensed to the Apache Software Foundation (ASF) under one or more   contributor license agreements.  See the NOTICE file distributed with   this work for additional information regarding copyright ownership.   The ASF licenses this file to You under the Apache License, Version 2.0   (the "License"); you may not use this file except in compliance with   the License.  You may obtain a copy of the License at       http://www.apache.org/licenses/LICENSE-2.0   Unless required by applicable law or agreed to in writing, software   distributed under the License is distributed on an "AS IS" BASIS,   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   See the License for the specific language governing permissions and   limitations under the License. --> <Server port="8005" shutdown="SHUTDOWN">     <!--APR library loader. Documentation at /docs/apr.html -->     <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>     <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->     <Listener className="org.apache.catalina.core.JasperListener"/>     <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>     <!-- Global JNDI resources          Documentation at /docs/jndi-resources-howto.html     -->     <!-- A "Service" is a collection of one or more "Connectors" that share         a single "Container" Note:  A "Service" is not itself a "Container",         so you may not define subcomponents such as "Valves" at this level.         Documentation at /docs/config/service.html     -->     <Service name="Catalina">         <Connector port="8080"                    maxThreads="150"                    minSpareThreads="25"                    connectionTimeout="20000"                    enableLookups="false"                    maxHttpHeaderSize="8192"                    protocol="HTTP/1.1"                    useBodyEncodingForURI="true"                    redirectPort="8443"                    acceptCount="100"                    disableUploadTimeout="true"/>         <!--         ====================================================================================         To run JIRA via HTTPS:              * Uncomment the Connector below              * Execute:                  %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)                  $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  (Unix)                with a password value of "changeit" for both the certificate and the keystore itself.              * If you are on JDK1.3 or earlier, download and install JSSE 1.0.2 or later, and put the JAR files into                "$JAVA_HOME/jre/lib/ext"              * Restart and visit https://localhost:8443/              For more info, see :               http://confluence.atlassian.com/display/JIRA/Running+JIRA+over+SSL+or+HTTPS               and               http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html         ====================================================================================         -->         <!--             <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"               maxHttpHeaderSize="8192" SSLEnabled="true"               maxThreads="150" minSpareThreads="25"               enableLookups="false" disableUploadTimeout="true"               acceptCount="100" scheme="https" secure="true"               clientAuth="false" sslProtocol="TLS" useBodyEncodingForURI="true"/>         -->         <!--          ====================================================================================          If you have Apache AJP Connector (mod_ajp) as a proxy in front of JIRA you should uncomment the following connector configuration line          See the following for more information :             http://confluence.atlassian.com/display/JIRA/Configuring+Apache+Reverse+Proxy+Using+the+AJP+Protocol          ====================================================================================         -->         <!--               <Connector port="8009" redirectPort="8443" enableLookups="false" protocol="AJP/1.3" URIEncoding="UTF-8"/>         -->         <Engine name="Catalina" defaultHost="localhost">             <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">                 <Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">                     <!--                      ====================================================================================                      Note, you no longer configure your database driver or connection parameters here.                      These are configured through the UI during application setup.                      ====================================================================================                     -->                     <Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"                               factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>                     <Manager pathname=""/>                 </Context>             </Host>             <!--                 ====================================================================================                  Access Logging.                  This should produce access_log.<date> files in the 'logs' directory.                  The output access log lies has the following fields :                  IP Request_Id User Timestamp  "HTTP_Method URL Protocol_Version" HTTP_Status_Code ResponseSize_in_Bytes RequestTime_In_Millis Referer User_Agent ASESSIONID                  eg :                  192.168.3.238 1243466536012x12x1 admin [28/May/2009:09:22:17 +1000] "GET /jira/secure/admin/jira/IndexProgress.jspa?taskId=1 HTTP/1.1" 200 24267 1070 "http://carltondraught.sydney.atlassian.com:8090/jira/secure/admin/jira/IndexAdmin.jspa" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10" "C2C99B632EE0F41E90F8EF7A201F6A78"                  NOTES:                  The RequestId is a millis_since_epoch plus request number plus number of concurrent users                  The Request time is in milliseconds                  The ASESSIONID is an hash of the JSESSIONID and hence is safe to publish within logs.  A session cannot be reconstructed from it.                  See http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html for more information on Tomcat Access Log Valves                 ====================================================================================             -->             <Valve className="org.apache.catalina.valves.AccessLogValve" resolveHosts="false"                    pattern="%a %{jira.request.id}r %{jira.request.username}r %t "%m %U%q %H" %s %b %D "%{Referer}i" "%{User-Agent}i" "%{jira.request.assession.id}r""/>         </Engine>     </Service> </Server>

Cause

The server.xml from Tomcat 6 is not compatible with Tomcat 7.

Solution

Resolution

Once you have confirmed the issue per the Diagnosis, migrate your server.xml customizations by hand to the new server.xml.

Updated on April 24, 2025

Still need help?

The Atlassian Community is here for you.