Firefox 14+ requests images inserted by JS multiple times if not cached

VERIFIED FIXED in Firefox 14



Networking: HTTP
5 years ago
5 years ago


(Reporter: strayer, Assigned: michal)



14 Branch
Windows 7
Dependency tree / graph

Firefox Tracking Flags

(firefox14+ fixed, firefox15+ fixed, firefox16+ verified)



(2 attachments)



5 years ago
Created attachment 632640 [details]
Fiddler2 Screenshot showing multiple requests

I visited and noticed that the product images load very slow.

After investigating with Firebug and Fiddler2 I noticed that the product images inserted by JavaScript are requested multiple times, blocking each other. As soon as they are locally cached the problem doesn't occur anymore.

This only happens in Firefox 14 and above, Firefox 13 shows no problems. This was tested in a clean Windows XP VM with clean profiles. Versions:
Firefox Stable 13.0 (working as expected)
Firefox Beta 14.0
Aurora 15.0a2 (2012-06-12)
It does not happen in IE9 and Chrome 21.

Sadly I was not able to create a reduced test case - all reduced test cases that I ran locally didn't have that problem and requested the images just fine from the original server.

If needed, all minified JavaScript files are also available uncompressed on the server, just remove ".min" from the URL.
Steve, would you be willing to find the day that this broke using ?

I can totally understand if you don't want to commit to that, by the way.  Just let me know.

Comment 2

5 years ago
I was bored, so I fiddled with the mozregression tool.

It looks like this broke in the nightlies between 2012-03-23 and 2012-03-24...

for Inbound this is:
Last good nightly: 2012-03-22
First bad nightly: 2012-03-23

HG Bisect tells:
The first bad revision is:
changeset:   89771:5b61e3d75735
user:        Michal Novotny <>
date:        Thu Mar 22 23:53:55 2012 +0100
summary:     Bug 722033 - Use asyncOpenCacheEntry() in nsHttpChannel::OpenOfflineCacheEntryForWriting()

(Had to apply add2ed43cc05 on each Run due to Build Failures)
Blocks: 722033
status-firefox14: --- → affected
status-firefox15: --- → affected
status-firefox16: --- → affected
tracking-firefox14: --- → ?
tracking-firefox15: --- → ?
tracking-firefox16: --- → ?
Ever confirmed: true
Keywords: regression
cc'ing Michal on this - are we looking at a forward fix here or a backout of bug 722033 to make sure we don't ship 14 with this regression?
Assignee: nobody → michal.novotny
tracking-firefox14: ? → +
tracking-firefox15: ? → +
tracking-firefox16: ? → +

Comment 6

5 years ago
Created attachment 638761 [details] [diff] [review]

We call ContinueConnect() in OnCacheEntryAvailableInternal() even if the channel was canceled. This patch is a quick fix for this issue. I still need to check all other failures in OnNormalCacheEntryAvailable(), OnOfflineCacheEntryAvailable() and OnOfflineCacheEntryForWritingAvailable() whether we correctly cancel the request or continue without the entry...
Attachment #638761 - Flags: review?(honzab.moz)
Comment on attachment 638761 [details] [diff] [review]

Review of attachment 638761 [details] [diff] [review]:


checked this aborts the channel and calls OnStart/OnStopRequest just ones for this case

::: netwerk/protocol/http/nsHttpChannel.cpp
@@ +5522,5 @@
>                  }
>                  return NS_ERROR_DOCUMENT_NOT_CACHED;
>              }
> +            if (mCanceled)
> +                return rv;

Definitely needs a comment what this causes and why it is here.
Attachment #638761 - Flags: review?(honzab.moz) → review+

Comment 8

5 years ago
Target Milestone: --- → mozilla16
Last Resolved: 5 years ago
Resolution: --- → FIXED


5 years ago
status-firefox16: affected → fixed
Verified using Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/16.0 Firefox/16.0 ID:20120705030540. Thanks for the quickly Fix!
status-firefox16: fixed → verified

Comment 11

5 years ago
Comment on attachment 638761 [details] [diff] [review]

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 722033
User impact if declined: some resources would be fetched from the net multiple times
Testing completed (on m-c, etc.):
Risk to taking this patch (and alternatives if risky): probably none
String or UUID changes made by this patch: none
Attachment #638761 - Flags: approval-mozilla-beta?
Attachment #638761 - Flags: approval-mozilla-aurora?
Comment on attachment 638761 [details] [diff] [review]

[Triage Comment]
Approving for all branches in case the user experience is a canary in the coal mine for other web regressions caused by bug 722033.
Attachment #638761 - Flags: approval-mozilla-beta?
Attachment #638761 - Flags: approval-mozilla-beta+
Attachment #638761 - Flags: approval-mozilla-aurora?
Attachment #638761 - Flags: approval-mozilla-aurora+

Comment 13

5 years ago
status-firefox14: affected → fixed
status-firefox15: affected → fixed
(In reply to Michal Novotny (:michal) from comment #13)

Thanks Michal!


5 years ago
Blocks: 761534
You need to log in before you can comment on or make changes to this bug.