Bamboo ERR_SPDY_PROTOCOL_ERROR message in Google Chrome
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
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:
chrome://net-internals/#events&q=type:SPDY_SESSION%20is:active
Sockets -> Flush Socket Pools
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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>
Was this helpful?