Bug 81365
Summary: | [WK2] ASSERTION FAILED: m_loadState == LoadStateProvisional when receiving multipart/x-mixed-replace data | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jessie Berlin <jberlin> |
Component: | WebKit2 | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | andersca, ap, beidson, sam, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar, LayoutTestFailure |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
URL: | http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110947%20(4990)/http/tests/multipart/load-last-non-html-frame-crash-log.txt |
Jessie Berlin
void WebFrameProxy::didCommitLoad(const String& contentType, const PlatformCertificateInfo& certificateInfo)
{
ASSERT(m_loadState == LoadStateProvisional);
m_loadState = LoadStateCommitted;
m_url = m_provisionalURL;
m_provisionalURL = String();
m_title = String();
m_MIMEType = contentType;
m_isFrameSet = false;
m_certificateInfo = WebCertificateInfo::create(certificateInfo);
}
http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110947%20(4990)/http/tests/multipart/load-last-non-html-frame-crash-log.txt
http://build.webkit.org/results/Lion%20Intel%20Debug%20(WebKit2%20Tests)/r110947%20(4990)/fast/loader/reload-zero-byte-plugin-crash-log.txt
Note: NRWT is probably not associating the correct tests with these "crashes" (see https://bugs.webkit.org/show_bug.cgi?id=71380). I have run into this locally as well, but have not been able to figure out which tests it is happening for.
Process: WebKitTestRunner [38363]
Path: /Volumes/VOLUME/*/WebKitTestRunner
Identifier: WebKitTestRunner
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: Python [38336]
Date/Time: 2012-03-15 23:35:20.866 -0700
OS Version: Mac OS X 10.7.3 (11D50)
Report Version: 9
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef
VM Regions Near 0xbbadbeef:
-->
__TEXT 00000001059d5000-00000001059eb000 [ 88K] r-x/rwx SM=COW /Volumes/VOLUME/*
Application Specific Information:
objc[38363]: garbage collection is OFF
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.WebKit2 0x0000000105bfee7b WebKit::WebFrameProxy::didCommitLoad(WTF::String const&, WebKit::PlatformCertificateInfo const&) + 107 (WebFrameProxy.cpp:164)
1 com.apple.WebKit2 0x0000000105c86a6e WebKit::WebPageProxy::didCommitLoadForFrame(unsigned long long, WTF::String const&, bool, WebKit::PlatformCertificateInfo const&, CoreIPC::ArgumentDecoder*) + 398 (WebPageProxy.cpp:1827)
2 com.apple.WebKit2 0x0000000105cdee6e void CoreIPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, WTF::String const&, bool, WebKit::PlatformCertificateInfo const&, CoreIPC::ArgumentDecoder*), unsigned long long, WTF::String, bool, WebKit::PlatformCertificateInfo>(CoreIPC::Arguments4<unsigned long long, WTF::String, bool, WebKit::PlatformCertificateInfo> const&, CoreIPC::ArgumentDecoder*, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, WTF::String const&, bool, WebKit::PlatformCertificateInfo const&, CoreIPC::ArgumentDecoder*)) + 206 (HandleMessage.h:248)
3 com.apple.WebKit2 0x0000000105cd009e void CoreIPC::handleMessageVariadic<Messages::WebPageProxy::DidCommitLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, WTF::String const&, bool, WebKit::PlatformCertificateInfo const&, CoreIPC::ArgumentDecoder*)>(CoreIPC::ArgumentDecoder*, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, WTF::String const&, bool, WebKit::PlatformCertificateInfo const&, CoreIPC::ArgumentDecoder*)) + 126 (HandleMessage.h:327)
4 com.apple.WebKit2 0x0000000105ccc7dc WebKit::WebPageProxy::didReceiveWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 2476 (WebPageProxyMessageReceiver.cpp:231)
5 com.apple.WebKit2 0x0000000105c8512f WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 271 (WebPageProxy.cpp:1615)
6 com.apple.WebKit2 0x0000000105d206d6 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 438 (WebProcessProxy.cpp:332)
7 com.apple.WebKit2 0x0000000105b9a855 WebKit::WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 405 (WebConnectionToWebProcess.cpp:93)
8 com.apple.WebKit2 0x0000000105b9a89d non-virtual thunk to WebKit::WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 61
9 com.apple.WebKit2 0x0000000105a35e4c CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message<CoreIPC::ArgumentDecoder>&) + 428 (Connection.cpp:692)
10 com.apple.WebKit2 0x0000000105a389a3 CoreIPC::Connection::dispatchMessages() + 211 (Connection.cpp:720)
11 com.apple.WebKit2 0x0000000105a3fab0 WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>::operator()(CoreIPC::Connection*) + 112 (Functional.h:173)
12 com.apple.WebKit2 0x0000000105a3fa35 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>, void ()(CoreIPC::Connection*)>::operator()() + 53 (Functional.h:373)
13 com.apple.WebCore 0x000000010909295d WTF::Function<void ()()>::operator()() const + 141 (Functional.h:581)
14 com.apple.WebCore 0x00000001090926e3 WebCore::RunLoop::performWork() + 147 (RunLoop.cpp:66)
15 com.apple.WebCore 0x0000000109093b00 WebCore::RunLoop::performWork(void*) + 96 (RunLoopMac.mm:65)
16 com.apple.CoreFoundation 0x00007fff907706e1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17 com.apple.CoreFoundation 0x00007fff9076ff4d __CFRunLoopDoSources0 + 253
18 com.apple.CoreFoundation 0x00007fff90796d39 __CFRunLoopRun + 905
19 com.apple.CoreFoundation 0x00007fff90796676 CFRunLoopRunSpecific + 230
20 com.apple.Foundation 0x00007fff956cdf9f -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
21 WebKitTestRunner 0x00000001059dfdcc WTR::TestController::platformRunUntil(bool&, double) + 204 (TestControllerMac.mm:60)
22 WebKitTestRunner 0x00000001059db6e5 WTR::TestController::runUntil(bool&, WTR::TestController::TimeoutDuration) + 149 (TestController.cpp:564)
23 WebKitTestRunner 0x00000001059e0b54 WTR::TestInvocation::invoke() + 1396 (TestInvocation.cpp:171)
24 WebKitTestRunner 0x00000001059dbd68 WTR::TestController::runTest(char const*) + 1656 (TestController.cpp:514)
25 WebKitTestRunner 0x00000001059dbe72 WTR::TestController::runTestingServerLoop() + 178 (TestController.cpp:530)
26 WebKitTestRunner 0x00000001059da4e0 WTR::TestController::run() + 48 (TestController.cpp:538)
27 WebKitTestRunner 0x00000001059d91a6 WTR::TestController::TestController(int, char const**) + 614 (TestController.cpp:88)
28 WebKitTestRunner 0x00000001059d8f33 WTR::TestController::TestController(int, char const**) + 35 (TestController.cpp:89)
29 WebKitTestRunner 0x00000001059d6e8f main + 143 (main.mm:36)
30 WebKitTestRunner 0x00000001059d6df4 start + 52
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/11063711>
Alexey Proskuryakov
Can reproduce with http/tests/multipart/load-last-non-html-frame.php in both run-webkit-tests and Safari.
The issue here is that WebKit 2 doesn't implement FrameLoaderClient::revertToProvisionalState at all.
Alexey Proskuryakov
Skipped in http://trac.webkit.org/changeset/111201
It's just something that needs to be properly implemented in WK2. Another test affected by this was already in WK2 skipped list, http/tests/multipart/multipart-wait-before-boundary.html.
Alexey Proskuryakov
FrameLoaderClient::revertToProvisionalState is still not implemented, and the assertion is still present (it is now in FrameLoadState::didCommitLoad()), but somehow, it doesn't seem to be hit on the tests.