Closed Bug 1687320 Opened 4 years ago Closed 4 years ago

Images intermittently don't load in some cases

Categories

(Core :: Networking: HTTP, defect, P2)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox86 --- wontfix
firefox87 --- fixed

People

(Reporter: decoder, Assigned: kershaw)

Details

(Whiteboard: [necko-triaged])

Attachments

(3 files)

Attached image Broken Request

As discussed, I am encountering sporadic situations where certain images don't load (so far on Amazon and Ebay).

The bug was always intermittent and the request in network console does not show a return code and transferred/size are both "0 B". However, on Ebay it consistently reproduced for a while until it went away. The last time I was able to reproduce it, I had my user agent switched using "Mobile View Switcher" and was visiting with that turned on. Turning it off made the images work immediately, turning it back on they still worked (caches were off).

I was able to capture a network log, will send via email to :kershaw.

Severity: -- → S3
Whiteboard: [necko-triaged]

Here is what I saw from the log:

  1. A transaction created for https://i.ebayimg.com/00/s/MTYwMFgxNDE5/z/l-cAAOSwK05gBaqH/$_59.JPG.
  2. It creates a new http connection.
  3. Try to do 0RTT for h2.
  4. 0RTT failed, so the transaction is restarted (go to step 2).
  5. The limit of restart count is reached, so the http request is failed.

Not sure why the first 0RTT attempt is failed, but I think we should not restart with 0RTT again and again...

Priority: -- → P2

(In reply to Kershaw Chang [:kershaw] from comment #2)

Here is what I saw from the log:

  1. A transaction created for https://i.ebayimg.com/00/s/MTYwMFgxNDE5/z/l-cAAOSwK05gBaqH/$_59.JPG.
  2. It creates a new http connection.
  3. Try to do 0RTT for h2.
  4. 0RTT failed, so the transaction is restarted (go to step 2).
  5. The limit of restart count is reached, so the http request is failed.

Not sure why the first 0RTT attempt is failed, but I think we should not restart with 0RTT again and again...

What do you exactly mean with "0RTT failed" the request in question was not accepted or we cannot establish the connection?

(In reply to Kershaw Chang [:kershaw] from comment #2)

  1. The limit of restart count is reached, so the http request is failed.

Is it expected that this is not really visible anywhere? For me the request always remains as shown in the first screenshot, as 0 byte, no errors anywhere.

(In reply to Christian Holler (:decoder) from comment #4)

(In reply to Kershaw Chang [:kershaw] from comment #2)

  1. The limit of restart count is reached, so the http request is failed.

Is it expected that this is not really visible anywhere? For me the request always remains as shown in the first screenshot, as 0 byte, no errors anywhere.

there is no "Status" code. That means we try to get the resource but we have not succeeded due to connection error or malformed response (this will probably end up being Http0.9 and I do not know how we show that responses). We do not show network errors in devTools, e.g. NET_RESET, NET_TIMEOUT, host could not be resolved, etc.

Maybe there is a bug for that. It would be devTools bug.

Kershaw and I had a chat, and we think we know how to fix this.

Assignee: nobody → kershaw
Status: NEW → ASSIGNED

Kershaw, let's clean 0RTT ticket if 0Rtt fails. We do not need to do the complicated version (i.e. checking that we are not deleting a newer ticket, but the one that failed.) 0Rtt is just an optimization, and let's be conservative.
Open a new bug for the complicated version and we can fix it later.

Flags: needinfo?(kershaw)

(In reply to Dragana Damjanovic [:dragana] from comment #8)

Kershaw, let's clean 0RTT ticket if 0Rtt fails. We do not need to do the complicated version (i.e. checking that we are not deleting a newer ticket, but the one that failed.) 0Rtt is just an optimization, and let's be conservative.
Open a new bug for the complicated version and we can fix it later.

I filed bug 1690487 for this.

Flags: needinfo?(kershaw)
Pushed by kjang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/202e1dac2fee Avoid doing 0RTT again if the transaction will be restarted r=necko-reviewers,dragana
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch

The patch landed in nightly and beta is affected.
:kershaw, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(kershaw)

(In reply to Release mgmt bot [:sylvestre / :calixte / :marco for bugbug] from comment #12)

The patch landed in nightly and beta is affected.
:kershaw, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

No need to uplift this patch.

Flags: needinfo?(kershaw)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: