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.
So, the ASSERT is wrong and should be removed?
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.
This appears to have been resolved in some other way.