Bug 84517

Summary: ASSERT(revalidatingResource->inCache()) failure in MemoryCache::revalidationSucceeded()
Product: WebKit Reporter: Xianzhu Wang <wangxianzhu>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WORKSFORME    
Severity: Normal CC: abarth, ap, beidson, japhet, koivisto, martijn
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 66687    

Xianzhu Wang
Reported 2012-04-20 17:34:51 PDT
Encountered this on chromium-android by repeatedly openning new tabs, closing tabs, reloading tabs, switching between tabs, etc. The reason seems: MemoryCache::clear() might be called on low memory condition during a resource revalidation, causing the resources to be evicted, then some ASSERTs in MemoryCache::revalidationSucceeded() may fail: ASSERT(revalidatingResource->inCache()); ASSERT(!m_resources.get(resource->url())); // There might be another revalidating or revalidated resource after the original revalidation is evicted.
Attachments
Adam Barth
Comment 1 2012-05-09 17:32:03 PDT
So, the ASSERT is wrong and should be removed?
Xianzhu Wang
Comment 2 2012-05-09 17:41:34 PDT
I think the ASSERTs are useful in most cases. Perhaps we need some logic to handle the low memory eviction case, e.g. to prevent revalidating resources from being evicted.
Adam Barth
Comment 3 2012-10-17 13:00:05 PDT
This appears to have been resolved in some other way.
Note You need to log in before you can comment on or make changes to this bug.