What this ERR_HTTP2_PROTOCOL_ERROR is about??

1,398 views
Skip to first unread message

Kiran Kale

unread,
Sep 11, 2020, 6:08:11 PM9/11/20
to Chromium-dev
HI there,

I'm getting below error while hitting some page on my website.
please help.

I've attached a log file of chrome.

chrome-net-export-log.json

Joe Mason

unread,
Sep 11, 2020, 6:23:49 PM9/11/20
to kiran.k...@gmail.com, Chromium-dev
Are you using chrome canary? I've been seeing this on canary (but not stable) which has GREASE for http/2 turned on (https://tools.ietf.org/id/draft-bishop-httpbis-grease-00.html). See https://bugs.chromium.org/p/chromium/issues/detail?id=1123912 for more details.

(I didn't have time to check the json file you attached, I'm just going by the subject line of your message.)

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/2f625102-a6f5-447e-92e7-968a1927a2abn%40chromium.org.

Nick Harper

unread,
Sep 11, 2020, 6:29:55 PM9/11/20
to Joe Mason, kiran.k...@gmail.com, Chromium-dev
I don't see any GREASE in the HTTP/2 session in that log.

The relevant events from the HTTP2_SESSION source in the log are as follows:

t=23182 [st=719063]  HTTP2_SESSION_SEND_HEADERS
                     --> exclusive = true
                     --> fin = true
                     --> has_priority = true
                     --> :method: GET
                         :authority: www.uibindia.com
                         :scheme: https
                         :path: /ManageEnrollmentData?ParentId=kEDoJ36JVFvHGj6nkQum%2bw%3d%3d&ClickedId=i%2fD2K1AlwdtYrMQurM22tw%3d%3d&ParentMenuName=FdgufbErLppNsMx%2f0bgypjrrg6TtFL7ITmdfZCr27Ic%3d&ClickedMenuName=m%2fLDRsFDI%2f2p1Pu9kxxGo9zie5U25%2f97FH1V7nHDCHI%3d
                         upgrade-insecure-requests: 1
                         user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36
                         accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
                         sec-fetch-site: same-origin
                         sec-fetch-mode: navigate
                         sec-fetch-user: ?1
                         sec-fetch-dest: document
                         accept-encoding: gzip, deflate, br
                         accept-language: en-US,en;q=0.9,und;q=0.8,fr;q=0.7
                         cookie: [92 bytes were stripped]
                     --> parent_stream_id = 0
                     --> source_dependency = 123323 (HTTP_STREAM_JOB)
                     --> stream_id = 751
                     --> weight = 256
t=28276 [st=724157]  HTTP2_SESSION_RECV_RST_STREAM
                     --> error_code = "8 (CANCEL)"
                     --> stream_id = 751

The server is sending a RST_STREAM frame with a CANCEL error code in response to the HTTP request. This would be equivalent to a server closing a TCP connection after receiving an HTTP request.

I noticed that there's an almost identical HTTP request sent on stream 753 (which the server responds to instead of sending a RST_STREAM frame). The only difference I see is that that request doesn't have the "sec-fetch-user: ?1" header. Is it possible that your server doesn't like that header?

Eric Roman

unread,
Sep 14, 2020, 7:21:58 PM9/14/20
to nha...@chromium.org, Joe Mason, kiran.k...@gmail.com, Chromium-dev
This looks like a problem with your server which will need debugging on the server side.
If you have concrete evidence of a Chrome bug, please open a bug report on https://crbug.com/

I would also be suspicious whether your server is enforcing an internal 5 second timeout. The reset stream is received almost exactly 5 seconds after we sent the headers. Is that always the case when you see this error?

Jose María

unread,
Feb 28, 2022, 12:11:12 AM2/28/22
to Chromium-dev, kiran.k...@gmail.com
Hello, Kiran.

I am experiencing what seems to be the exact same issue that you described here. My site runs on Apache, and my initial tests point to some 5-second timeout occurring at some level within the web server, as Eric suggested...

Did you manage to find what the problem was?

Thanks!
Jose

Jose María

unread,
Mar 1, 2022, 3:27:29 PM3/1/22
to Chromium-dev
Solved. In my case it was a 5-second timeout on a client-side jquery ajax call I was not aware of. Nothing to do with the server.

Cheers!
Reply all
Reply to author
Forward
0 new messages