WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
106297
Every cached image is an error
https://bugs.webkit.org/show_bug.cgi?id=106297
Summary
Every cached image is an error
Philip Rogers
Reported
2013-01-07 21:09:42 PST
Every cached image load causes the following error: CachedImage::data(...) ... error(errorOccurred() ? status() : DecodeError);
http://trac.webkit.org/browser/trunk/Source/WebCore/loader/cache/CachedImage.cpp?rev=138976#L381
The culprit is cache revalidation. When loading cached resources we revalidate the cache by sending a request to the server and waiting for the 304 not modified response. Behind the scenes we actually hold two CachedImages: the cached cached image (sorry!) and the revalidating cached image. If revalidation succeeds with a 304 we throw away the revalidating image and use the cached image. If revalidation fails (server resource changed) we evict the cached cached image and continue to load the revalidating image. Every cached image load causes an error because, in the success case, we do not cancel the revalidation request once we receive a 304 not modified response. The revalidating cached image continues to load in its merry way: CachedImage::data() is called which creates a new BitmapImage that ends up throwing an error, and ultimately this cached image is freed in the SubResourceLoader because it has no references. Patch forthcoming.
Attachments
First pass
(1.75 KB, patch)
2013-01-07 21:31 PST
,
Philip Rogers
buildbot
: commit-queue-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Philip Rogers
Comment 1
2013-01-07 21:31:28 PST
Created
attachment 181634
[details]
First pass
Build Bot
Comment 2
2013-01-07 22:05:38 PST
Comment on
attachment 181634
[details]
First pass
Attachment 181634
[details]
did not pass mac-ews (mac): Output:
http://queues.webkit.org/results/15734979
New failing tests: http/tests/inspector/resource-tree/resource-request-content-while-loading.html
WebKit Review Bot
Comment 3
2013-01-07 22:29:12 PST
Comment on
attachment 181634
[details]
First pass
Attachment 181634
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/15733986
New failing tests: http/tests/inspector/compiler-source-mapping-debug.html http/tests/inspector/resource-tree/resource-tree-reload.html
Alexey Proskuryakov
Comment 4
2013-01-08 10:41:41 PST
These broken tests look related to the proposed change, at least at a first glance.
Philip Rogers
Comment 5
2013-01-09 15:25:37 PST
(In reply to
comment #4
)
> These broken tests look related to the proposed change, at least at a first glance.
The tests are correctly failing. As strange as it seems, error() needs to be called during cache revalidation :/ I've filed a separate bug and put up a patch for the narrower issue of CreateImage() being called on revalidation requests for images:
https://bugs.webkit.org/show_bug.cgi?id=106156
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug