Bamboo ERR_SPDY_PROTOCOL_ERROR message in Google Chrome

Still need help?

The Atlassian Community is here for you.

Ask the community


Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

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

The ERR_SPDY_PROTOCOL_ERROR message occurs when you click the "View" or "Download" links on the build log in Bamboo.  It may also appear on other pages.

Environment

  • Bamboo Server or Data Center
  • Google Chrome

Cause

SPDY (pronounced "speedy") is a deprecated open-specification communication protocol that was developed primarily at  Google for transporting web content. SPDY was an early implementation of the HTTP/2 protocol. More details here: https://en.wikipedia.org/wiki/SPDY.

The  ERR_SPDY_PROTOCOL_ERROR  message seems to be specific to Chrome.  Parts of Google Chrome still refer to HTTP/2 as SPDY, meaning you may get SPDY messages instead of HTTP/2.

ERR_SPDY_PROTOCOL_ERROR itself is a generic error message which can have a number of underlying causes. To understand the exact nature of the error, you'll need to dig further into debugging Chrome events. The below third-party article goes into good detail on how you can debug this further and specifically talks about an invalid HTTP header example:

Workaround

As the exact underlying cause may differ and we don't yet have any specific examples of what can cause it specific to Bamboo, for now here are some workarounds that can be attempted:

Option 1: Check your browser

Try the same website using Incognito mode. If you can confirm it works, can you try:

  • Updating Chrome - If you are receiving SPDY errors, it means you may be running an old version of Chrome.
  • Clear your browser cache (including cookies and cached images and files)
  • Flush the SPDY Pockets by accessing the following URL in chrome:

Option 2: Disable HTTP/2 in your Tomcat Connector

You can disable HTTP/2 in your Tomcat connector. That will force Chrome and any other browsers to use HTTP/1.1, which is not compatible with SPDY. Old versions of Chrome still have SPDY enabled.

To disable HTTP/2, please remove/comment the <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/>  entry in your $BAMBOO_INSTALL/conf/server.xml  and restart Bamboo. 

Example connector with HTTP2 commented out
        <Connector
                port="8085"
                protocol="HTTP/1.1"

                maxThreads="150" minSpareThreads="25"
                connectionTimeout="20000"
                disableUploadTimeout="true"
                acceptCount="100"

                enableLookups="false"
                maxHttpHeaderSize="8192"

                useBodyEncodingForURI="true"
                URIEncoding="UTF-8"

                redirectPort="8443">
            <!--<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />-->
    </Connector>





Last modified on Sep 24, 2021

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.