Failed to load resource: net::ERR_HTTP2_PING_FAILED


0

Recently, I was trying to check the Alexa rank of a website. But unfortunately, the alexa.com website kept loading for a very very long time. In the end, it just displayed a broken web page.

After some tries, I decided to check the Chrome DevTools for any hints about the issue. In the console window, I saw a weird error message Failed to load resource: net::ERR_HTTP2_PING_FAILED.

Have a look at this error in the below screenshot.

Failed to load resource: net::ERR_HTTP2_PING_FAILED - Alexa.com

It seems like Amazon's Alexa.com website is unable to connect with the requested website. But, now the question is why would they even try to ping it? Isn't they should have competitive analysis data on their own server?

Or did I misunderstood something?

Do you know what this error code is all about?


Share
asked 23 Jul 2020 10:18:21 PM
junaidakhtar

No comment found


Answers

0

According to the chromium source, it means that a spdy ping timed out.

...
    {net::ERR_EMPTY_RESPONSE, "http.response.empty"},
    {net::ERR_HTTP2_PING_FAILED, "spdy.ping_failed"},
    {net::ERR_HTTP2_PROTOCOL_ERROR, "spdy.protocol"},
...

Source: https://chromium.googlesource.com/chromium/src/+/lkgr/components/domain_reliability/util.cc#48

Chrome sends such pings before and after a request.

Source: https://groups.google.com/d/msg/spdy-dev/HFjAbFRd-N0/p-Edt-lneGsJ

Basically, the ping failure means that the server did not respond to the PING Chrome sent in a timely fashion and thus Chrome closed the connection. Seems like the next step would be to dig into what is happening server side that prevents it from replying to the PING.


Share
furqan - Profile picture
answered 30 Jul 2022 12:55:56 PM
furqan

No comment found

0

I'm facing the same issue in Brave browser: Failed to load resource: net::ERR_HTTP2_PING_FAILED

Description of the issue:

About half of page loads don’t load. Or some resources don’t load. Screen just stays white, and loading indicator just spins, indefinitely.

Steps to Reproduce (add as many as necessary): 1. 2. 3.

Not sure. I know that loading the same page incognito works immediately. I just try to load pages and some won’t load. I haven’t discovered a pattern as to which ones don’t load.

Actual Result (gifs and screenshots are welcome!):

Pages are white. Console shows error:

Failed to load resource: net::ERR_HTTP2_PING_FAILED

on line :1 of the page source. So apparently it does download the HTML, but then it hangs.

Expected result:

Pages load.

Reproduces how often:

About 1/3 - 1/2 of page or resource loads.

Operating System and Brave Version(See the About Brave page on the official Brave browser website's main menu):

Version 1.0.1 Chromium: 78.0.3904.108 (Official Build) (64-bit)

Additional Information:

Restarting the browser and clearing cookies and cache did not help. Internet is up and running at normal speeds with normal connectivity outside of Brave, or even in Brave incognito.


Share
answered 30 Jul 2022 01:16:16 PM
soniazahoor

No comment found

0

HAR file captures ERR_HTTP2_PING_FAILED

Summary

During various actions in Confluence, the following error is captured in HAR file.

      "startedDateTime": "2020-05-01T04:35:34.348Z",
        "time": 78.40789100003894,
        "request": {
          "method": "POST",
          "url": "http://localhost:8090/",
          "httpVersion": ""
          .
          .
        "response": {
          "status": 0,
          "statusText": "",
          "httpVersion": "",
          "headers": [],
          "cookies": [],
          "content": {
            "size": 0,
            "mimeType": "x-unknown"
          },
          "redirectURL": "",
          "headersSize": -1,
          "bodySize": -1,
          "_transferSize": 0,
          "_error": "net::ERR_HTTP2_PING_FAILED"

Environment

Usually a reverse proxy like NetScaler is involved, though can happen in case of any middle-ware devices while accessing Confluence.

Diagnosis

In HAR file check if the httpVersion is missing. If it's the case, reverse proxy needs to be reconfigured so it is passing proper httpVersion headers.


Share
answered 30 Jul 2022 01:19:27 PM
soniazahoor

No comment found

0

How to avoid timeout (net::ERR_HTTP2_PING_FAILED 8mins) when uploading files with axios post method?

I'm doing some big file (10GB+) uploading so what I did is slicing the file to some 3MB chunks
and then upload them. It works fine until I got a really bad network scenario (cannot finished uploading a chunk with 8mins).

The browser(chrome) gave me an net::ERR_HTTP2_PING_FAILED
error and after checking on the Internet it basically means timeout. I changed timeout setting for this api in Nginx to 99999, it will not give me 504 error (meaning nginx didn't cut the connection because of timeout) but the maximum time for me to upload a slice is 8mins.

I think this problem is caused by browser itself so I checked the browser concole. The thing is the network page shows that "uploadSlice " used 8mins to initial connection! But the progress bar still going so I have no idea how to solve this.

Here is that error screenshot: enter image description here

Here is my code for the upload slice part. (I use axios and a post method to send chunk)


Share
answered 30 Jul 2022 01:24:36 PM
soniazahoor

No comment found

0

I would appreciate it if you guys help with the following issue. Basically, when the HTT2 request counter gets close to 400 to 550, request stall for while and continue again it will stall for 900 to 1050.

https://bugs.chromium.org/p/chromium/issues/detail?id=1225774

It is quite easily reproducible. I can provide set-up. Please ping me as this issue needs to be resolved.

It is related to

https://bugs.chromium.org/p/chromium/issues/detail?id=1074705

Based on debugging, it seems that when HTTP2 session ping fails the stalling is happening. What does this error mean and how does it impact outgoing requests from chrome browsers?

t=476451 [st=302960] HTTP2_SESSION_SEND_DATA  
--> fin = true  
--> size = 59  
--> stream_id = 1021  
t=486451 [st=312960] HTTP2_SESSION_CLOSE  
--> description = "Failed ping."  
--> net_error = -352 (ERR_HTTP2_PING_FAILED)  
t=486452 [st=312961] HTTP2_SESSION_POOL_REMOVE_SESSION  

Any help or pointer is really appreciated.

I found the RCA of this was PING FRAME on tomcat was trying to close parent stream (which was NULL). But, I still feel that the Chromium browser must be more robust, IF SESSION liveliness fails, the chromium should tear down the existing connection, and open a new one. Why is request being stalled for ( 2 minutes to 11 minutes).

Fix on Tomcat: https://github.com/apache/tomcat/pull/431

Any opinion on how to make the Chromium browser more resilient to this kind of error?


Share
answered 30 Jul 2022 01:29:23 PM
soniazahoor

No comment found


You must log in or sign up to answer this question.