Bug 55048
Summary: | Assertion failure in MemoryCache::removeFromLRUList when running fast/tokenizer/001.html, fast/parser/*, and others | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adam Roben (:aroben) <aroben> |
Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | ap, koivisto, mihaip, tonyg |
Priority: | P2 | Keywords: | InRadar, LayoutTestFailure, MakingBotsRed, PlatformOnly |
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Windows XP |
Adam Roben (:aroben)
To reproduce:
1. run-webkit-tests fast/tokenizer/001.html
You'll hit an assertion in MemoryCache::removeFromLRUList:
ASSERT(found);
It looks like this test tries to load nonexistent.js, which fails (surprise!). When it fails, we try to remove it from the MemoryCache, but of course it isn't in the cache to begin with.
Here's the backtrace:
> WebKit.dll!WebCore::MemoryCache::removeFromLRUList(WebCore::CachedResource * resource=0x114a5e00) Line 404 + 0x29 bytes C++
WebKit.dll!WebCore::MemoryCache::evict(WebCore::CachedResource * resource=0x114a5e00) Line 336 C++
WebKit.dll!WebCore::MemoryCache::remove(WebCore::CachedResource * resource=0x114a5e00) Line 112 + 0x1a bytes C++
WebKit.dll!WebCore::CachedResourceRequest::didFail(bool cancelled=false) Line 200 C++
WebKit.dll!WebCore::CachedResourceRequest::didFail(WebCore::SubresourceLoader * __formal=0x1132ed58, WebCore::SubresourceLoader * __formal=0x1132ed58) Line 172 C++
WebKit.dll!WebCore::SubresourceLoader::didFail(const WebCore::ResourceError & error={...}) Line 201 + 0x25 bytes C++
WebKit.dll!WebCore::ResourceLoader::didFail(WebCore::ResourceHandle * __formal=0x11bdcff0, const WebCore::ResourceError & error={...}) Line 445 + 0x13 bytes C++
WebKit.dll!WebCore::didFail(_CFURLConnection * conn=0x11c72fe0, __CFError * error=0x11162fe0, const void * clientInfo=0x11bdcff0) Line 251 + 0x2b bytes C++
CFNetwork.dll!URLConnectionClient::_clientDidFailWithError() + 0x32 bytes C++
CFNetwork.dll!URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload() C++
CFNetwork.dll!URLConnectionClient::processEvents() + 0x21 bytes C++
CFNetwork.dll!URLConnectionWndProc() C++
user32.dll!_InternalCallWinProc@20() + 0x28 bytes
user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes
user32.dll!_DispatchMessageWorker@8() + 0xdc bytes
user32.dll!_DispatchMessageW@4() + 0xf bytes
DumpRenderTree.exe!runTest(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & testPathOrURL="c:\Documents and Settings\Adam Roben\dev\WebKit\OpenSource\LayoutTests\fast\tokenizer\001.html") Line 1002 + 0xf bytes C++
DumpRenderTree.exe!main(int argc=2, char * * argv=0x07c57f98) Line 1379 + 0x28 bytes C++
DumpRenderTree.exe!__tmainCRTStartup() Line 597 + 0x17 bytes C
kernel32.dll!_BaseProcessStart@4() + 0x23 bytes
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Adam Roben (:aroben)
I hit the assertion on ToT build on Windows XP. I don't hit on a build from yesterday on Mac OS X. I'm updating my Mac build to see if it starts happening there.
Adam Roben (:aroben)
<rdar://problem/9042196>
Adam Roben (:aroben)
I can't reproduce in a ToT build on Mac OS X, so I guess this is a Windows-only problem.
Adam Roben (:aroben)
Looks like the bots hit this, too, when running http/tests/misc/slow-preload-cancel.html:
http://build.webkit.org/results/Windows%20XP%20Debug%20(Tests)/r80487%20(26072)/http/tests/misc/slow-preload-cancel-crash-log.txt
Adam Roben (:aroben)
The bots just hit this on a few fast/parser tests:
http://build.webkit.org/results/Windows%20XP%20Debug%20(Tests)/r82691%20(27069)/results.html