Summary: | iOS: ASSERT in Cache::adjustSize running layout tests | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Joseph Pecoraro <joepeck> | ||||||
Component: | WebKit Misc. | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | ap, ddkilzer, joepeck, koivisto, psolanki | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | PC | ||||||||
OS: | OS X 10.5 | ||||||||
Attachments: |
|
Description
Joseph Pecoraro
2010-10-18 19:37:51 PDT
Created attachment 71120 [details]
[PATCH] Proposed Change
I'll be rebasing and re-running test to verify.
If desired I may be able to make a test for this:
- Cache a resource
- Loop and continually prune the cache enough that it would likely underflow (m_deadSize is unsigned and underflowing triggers the ASSERT)
- Have the test pass if there was no assertion.
Another approach might be to add a method to Cache to verify its integrity.
This might be worth doing, so let me know!
Actually, I think I can (and should) return "true" here. That way it would not get evicted the second pass through the pruneDeadResources list and instead stay in the lists with its "purgeable" but "not purged" state. It would eventually get evicted if it ever "wasPurged()" in an code block inside of pruning. Created attachment 71185 [details]
[PATCH] Return True and Keep Purgeable Resource in the Lists
Comment on attachment 71185 [details]
[PATCH] Return True and Keep Purgeable Resource in the Lists
r=me
Thanks! Committed r70077 M WebCore/ChangeLog M WebCore/loader/Cache.cpp r70077 = 4fb7c2de4c7e231e9a2ade392063bffe48002ab7 http://trac.webkit.org/changeset/70077 |