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.

            Thanks! The workaround solved the problem!

            Hendrik Stapel added a comment - Thanks! The workaround solved the problem!

            Pawel Farid (Inactive) added a comment - - edited

            Hi sean.p.mcdermott2087855001

            Thank for bringing this up. We have created a separate issue to fix the Configuration Tool: JRA-64082

            Pawel Farid (Inactive) added a comment - - edited Hi sean.p.mcdermott2087855001 Thank for bringing this up. We have created a separate issue to fix the Configuration Tool: JRA-64082

            The issue also happens on clean, new installs if you use config.sh to setup SSL.  Drove me crazy for a couple hours until I found this note in the "upgrade" section.

            Sean P Mcdermott added a comment - The issue also happens on clean, new installs if you use config.sh to setup SSL.  Drove me crazy for a couple hours until I found this note in the "upgrade" section.

            Pawel Farid (Inactive) added a comment - - edited

            Hello znoorsazali

            The way you configure Tomcat to work over SSL has changed (we have updated Tomcat). This requires configuration changes that you need to do by yourself. We've failed to update our docs and now it's done.
            Please refer to this comment.

            Cheers

            Pawel Farid (Inactive) added a comment - - edited Hello znoorsazali The way you configure Tomcat to work over SSL has changed (we have updated Tomcat). This requires configuration changes that you need to do by yourself. We've failed to update our docs and now it's done. Please refer to this comment . Cheers

            Well, wish I came here first.  Spent a few hours troubleshooting before finding this.  Thanks

            Michael Wang added a comment - Well, wish I came here first.  Spent a few hours troubleshooting before finding this.  Thanks

            Ops added a comment -

            Worked for me too - thank you for the fix.

            Ops added a comment - Worked for me too - thank you for the fix.

            After quite some time troubleshooting i found this article which solved the problem for me. thanks.

            nxsnlpurchase added a comment - After quite some time troubleshooting i found this article which solved the problem for me. thanks.

            thanks for the workaround, saved me!

            Severin Wanzenried added a comment - thanks for the workaround, saved me!

            That was the issue!  Thanks for the fix!!!

            Greg Freyenberger added a comment - That was the issue!  Thanks for the fix!!!

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

                Created:
                Updated:
                Resolved: