Image is not updated on first reload

Assigned to



4 years ago
3 years ago


(Reporter: gamewithlalit, Assigned: seth, NeedInfo)


({reproducible, testcase})

32 Branch
reproducible, testcase

Firefox Tracking Flags

(Not tracked)



(2 attachments)



4 years ago
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0
Build ID: 20140923175406

Steps to reproduce:

This is similar to bug#137819 with a small difference.

OS: Windows 7 (x64)
Web Server: Apache 2.2
mod_headers configured to set "Cache-Control : no-cache, must-revalidate" for images.

1. Create a page that has 2 divs. One div is assigned background-image using style attribute. Other div is assigned a different background-image using external CSS.
2. Load the page with cache cleared.
3. Update both the images
4. Reload the page
5. Reload the page

Actual results:

After step 4 - none of the two images are updated in browser. Network tab actually shows that browser sends conditional GET and receives status 200 with contents of images.
After step 5 - Both images were shown updated. Here browser sends conditional GET and receives status 304.

Expected results:

After step 4 - both images should be shown updated.

Comment 1

4 years ago
Could you attach a simple self-contained testcase showing the issue, please.
Flags: needinfo?(gamewithlalit)
Keywords: testcase-wanted

Comment 2

4 years ago
Created attachment 8515115 [details]

I've hosted a page at This page has the two images linked. The image folder has two version of these images each which the html/css does not link to. I've added two php pages which switch the linked image between the two versions.

Steps to reproduce:
1. Load the page with clean cache
2. Switch the version (if current image has 1 in it, click "Change to v2" and vice-versa). Let's say initial version was 1 and you switched to v2.
3. Click browsers back button (page shows version1 - this is expected)
4. Hit refresh (page still shows version1 - this is not expected).
5. Hit refresh (version 2 of both images is shown).

Attaching the zip of all files if needed.
Flags: needinfo?(gamewithlalit)

Comment 3

4 years ago
Honza, can you look at this?
Component: Untriaged → Networking: Cache
Ever confirmed: true
Flags: needinfo?(honzab.moz)
Keywords: testcase-wanted → reproducible, testcase
OS: Windows 7 → All
Product: Firefox → Core
Hardware: x86_64 → All
Yup.  How long is the test case on amazon going to last?  (I may not get to this immediately)
Assignee: nobody → honzab.moz
Flags: needinfo?(honzab.moz)

Comment 5

4 years ago
I can keep it up for a month. Is there any other way to host the page? Besides php, I need to be able to modify httpd.conf to configure headers.
(In reply to gamewithlalit from comment #5)
> I can keep it up for a month. Is there any other way to host the page?
> Besides php, I need to be able to modify httpd.conf to configure headers.

BTW, I can host it also locally, but please keep the test case where it is now.  I'll get to this at the start of the next week.
Created attachment 8525002 [details]
nspr log with nsHttp:4,cache2:5,imgRequest:5, scenario: comment 2

This is an NSPR log with steps from comment 2 (probably read it first.)

I assume this is an image lib bug or something we have changed and imglib doesn't like it.

I've checked we (http) correctly deliver an updated cached content via the http channel (200 for a conditional request) during step 4.

Search for images/direct.png or images/css.png in the log.  I was going from version 2 to version 1, but that actually doesn't matter that much.
Flags: needinfo?(seth)
And a note: e10s was manually turned off.

Comment 9

4 years ago
I will take a look at this soon. I'm guessing this is a bug in the cache validation logic in imgLoader.cpp.
Assignee: honzab.moz → seth
Flags: needinfo?(seth)
Component: Networking: Cache → ImageLib
I think bug 1063369 should have fixed this bug. Can you confirm?
Flags: needinfo?(gamewithlalit)
You need to log in before you can comment on or make changes to this bug.