Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-63734

Tomcat fails to start in 7.3+ due to protocol deprecation in Tomcat 8.5

      Summary

      Tomcat crashes on startup when JIRA is configured for SSL using protocol="org.apache.coyote.http11.Http11Protocol" in server.xml.

      • Connector org.apache.coyote.http11.Http11Protocol was removed in Tomcat 8.5

      Environment

      Steps to Reproduce

      1. Configure JIRA with SSL
      2. protocol="org.apache.coyote.http11.Http11Protocol" set in server.xml as per recommended configuration

      Expected Results

      JIRA starts with SSL enabled

      Actual Results

      Tomcat fails and is unable to start. The below exception is thrown in the catalina.out file:

      06-Jan-2017 11:46:26.846 SEVERE [main] org.apache.catalina.connector.Connector.<init> Protocol handler instantiation failed
       java.lang.ClassNotFoundException: org.apache.coyote.http11.Http11Protocol
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:264)
      	at org.apache.catalina.connector.Connector.<init>(Connector.java:74)
      	at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:64)
      	at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1190)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1339)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
      	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
      	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
      	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
      	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
      	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
      	at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1458)
      	at org.apache.catalina.startup.Catalina.load(Catalina.java:578)
      	at org.apache.catalina.startup.Catalina.load(Catalina.java:629)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:311)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:494) 

      Resolution

      Modify JIRA_INSTALL/conf/server.xml. Change the protocol on your HTTPS connector to: protocol="org.apache.coyote.http11.Http11NioProtocol"

      • If you do not use the HTTP Connector but use the AJP Connector instead, use the AJP NIO protocol instead.
        • The AJP connector is: protocol="org.apache.coyote.ajp.AjpNioProtocol"

      Refer to Upgrade notes for 7.3 for instructions. See Running JIRA applications over SSL.

      See Running JIRA applications over SSL or HTTPS for full directions on running JIRA over SSL or HTTPS.

            [JRASERVER-63734] Tomcat fails to start in 7.3+ due to protocol deprecation in Tomcat 8.5

            LOTS of thanks to you. It solved my problem too on the 7.4.3 version

            José Luis Álvarez added a comment - LOTS of thanks to you. It solved my problem too on the 7.4.3 version

            darren.shinkins Usually yes. But in this case, no change of code was made to Jira to correct this specific bug report. Instead, most users are seeing this problem because the Jira Config Tool was still setup to use this old protocol. We actually created a related bug for fixing the config tool, see JRASERVER-64082 That bug was fixed in 7.6.3 and 7.7.0. This just means that in those newer versions the config tool no longer selects this invalid protocol.
            Since there was no change in code for this report, and there exists a documented workaround in the Upgrade notes for 7.3, this should help. Perhaps we should reconsider the resolution value for this specific ticket.

            Andy Heinzer added a comment - darren.shinkins Usually yes. But in this case, no change of code was made to Jira to correct this specific bug report. Instead, most users are seeing this problem because the Jira Config Tool was still setup to use this old protocol. We actually created a related bug for fixing the config tool, see JRASERVER-64082 That bug was fixed in 7.6.3 and 7.7.0. This just means that in those newer versions the config tool no longer selects this invalid protocol. Since there was no change in code for this report, and there exists a documented workaround in the Upgrade notes for 7.3 , this should help. Perhaps we should reconsider the resolution value for this specific ticket.

            Quick question everyone; if this is actually "fixed" shouldn't there be a fix version for it?

            Darren Shinkins added a comment - Quick question everyone; if this is actually "fixed" shouldn't there be a fix version for it?

            markea added a comment -

            Still an issue when updating from 7.5 to 7.6

            markea added a comment - Still an issue when updating from 7.5 to 7.6

            This is still an issue in JIRA 7.5, update from 7.0.0.

            Antonio D'Errico added a comment - This is still an issue in JIRA 7.5, update from 7.0.0.

            confirmed still an issue in 7.5.1 and the protocol="org.apache.coyote.http11.Http11NioProtocol" is still a working resolution. 

            Wasted a couple hours because these instructions:  https://confluence.atlassian.com/adminjiraserver071/running-jira-applications-over-ssl-or-https-802593051.html#RunningJIRAapplicationsoverSSLorHTTPS-commandline

            say to use:  org.apache.coyote.http11.Http11Protocol

            Jonathan Greenleaf added a comment - confirmed still an issue in 7.5.1 and the protocol="org.apache.coyote.http11.Http11NioProtocol" is still a working resolution.  Wasted a couple hours because these instructions:  https://confluence.atlassian.com/adminjiraserver071/running-jira-applications-over-ssl-or-https-802593051.html#RunningJIRAapplicationsoverSSLorHTTPS-commandline say to use:   org.apache.coyote.http11.Http11Protocol

            dragon788 added a comment -

            This is also broken if you use the installer to move from pre 7.3 to >=7.3 (we went to 7.5 and were broken for about half an hour).

            dragon788 added a comment - This is also broken if you use the installer to move from pre 7.3 to >=7.3 (we went to 7.5 and were broken for about half an hour).

            aeellis added a comment -

            This worked after days of trying to figure this out.  What a pain in the...  Please fix this for future users

            aeellis added a comment - This worked after days of trying to figure this out.  What a pain in the...  Please fix this for future users

            This is still an issue in JIRA 7.5, clean install.

            Volker Matzken added a comment - This is still an issue in JIRA 7.5, clean install.

            IT Manager added a comment -

            Ugh. Stressed for hours before finding this.

            IT Manager added a comment - Ugh. Stressed for hours before finding this.

              Unassigned Unassigned
              schristopher@atlassian.com ScottC
              Affected customers:
              4 This affects my team
              Watchers:
              45 Start watching this issue

                Created:
                Updated:
                Resolved: