WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
Bug 81365
[WK2] ASSERTION FAILED: m_loadState == LoadStateProvisional when receiving multipart/x-mixed-replace data
https://bugs.webkit.org/show_bug.cgi?id=81365
Summary
[WK2] ASSERTION FAILED: m_loadState == LoadStateProvisional when receiving mu...
Jessie Berlin
Reported
2012-03-16 10:09:51 PDT
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
Comment 1
2012-03-16 10:10:47 PDT
<
rdar://problem/11063711
>
Alexey Proskuryakov
Comment 2
2012-03-16 17:06:53 PDT
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
Comment 3
2012-03-19 10:38:00 PDT
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
Comment 4
2014-12-01 13:11:04 PST
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.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug