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

HTTP/2 causing Activity Stream gadget to fail when accessed via HTTPS.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Low
    • None
    • 8.13.8, 9.4.18
    • Dashboard & Gadgets
    • None

    Description

      Summary

      Activity Stream gadget fails to load if it's accessed via HTTPS with HTTP/2 UpgradeProtocol enabled.

      <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/> 
      

      With the parameter, the failing /plugins/servlet/gadgets/ request is associated with H2 (instead of HTTP/1.1) protocol.

      Steps to Reproduce

      1. Deploy Jira 8.13.8
      2. Add another HTTPS connector to Jira with
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/>
        
      3. Restart Jira
      4. Access Jira over HTTPS and check the activity stream gadget

      Expected Results

      Activity stream to load without any issues.

      Actual Results

      1. From the HAR file, /plugins/servlet/gadgets/ifr request is returned with HTTP 500 response:
      2. NullPointerException is logged in corresponding log:
        The below exception is thrown in the xxxxxxx.log file:
        2021-07-14 19:00:41,554-0400 https-openssl-nio-443-exec-14 ERROR      [c.a.j.web.servlet.InternalServerErrorServlet] {errorId=78bb5031-7e6b-410b-90f7-c08240c4ee6e, interpretedMsg=, cause=java.lang.NullPointerException, stacktrace=java.lang.NullPointerException
            	at java.lang.String.replace(String.java:2240) [?:1.8.0_275]
            	at org.apache.shindig.gadgets.DefaultUrlGenerator.getBundledJsUrl(DefaultUrlGenerator.java:85) [?:?]
            	at org.apache.shindig.gadgets.render.RenderingContentRewriter.injectFeatureLibraries(RenderingContentRewriter.java:221) [?:?]
            	at org.apache.shindig.gadgets.render.RenderingContentRewriter.rewrite(RenderingContentRewriter.java:144) [?:?]
            	at org.apache.shindig.gadgets.rewrite.DefaultContentRewriterRegistry.rewriteGadget(DefaultContentRewriterRegistry.java:75) [?:?]
            	at org.apache.shindig.gadgets.render.HtmlRenderer.render(HtmlRenderer.java:77) [?:?]
            	at org.apache.shindig.gadgets.render.Renderer.render(Renderer.java:78) [?:?]
            	at org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.render(GadgetRenderingServlet.java:58) [?:?]
            	at org.apache.shindig.gadgets.servlet.GadgetRenderingServlet.doGet(GadgetRenderingServlet.java:93) [?:?]
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) [servlet-api.jar:?]
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [servlet-api.jar:?]
            	at com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:37) [atlassian-plugins-servlet-5.3.11.jar:?]
            	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [servlet-api.jar:?]
            	at com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:47) [atlassian-plugins-servlet-5.3.11.jar:?]
            	...
            , referer=https://<baseurl>/secure/Dashboard.jspa?selectPageId=21001, servletErrorMessage=
        

         

      Notes

      Similar issue in Bamboo - https://jira.atlassian.com/browse/BAM-20695

      Workaround

      1. Remove the UpgradeProtocol for http2 from the HTTPS connector in the server.xml
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> 
        
      2. Restart Jira

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              astephen@atlassian.com Adrian Stephen
              Votes:
              6 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated: