Bug 109682

Summary: REGRESSION (r142555): fast/dom/window-load-crash.html is asserting
Product: WebKit Reporter: Thiago Marcos P. Santos <tmpsantos>
Component: WebKit EFLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, eric, lucas.de.marchi, rakuco
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 109485    

Description Thiago Marcos P. Santos 2013-02-13 05:05:35 PST
The following tests are asserting on the EFL WK2 Debug bot:

fast/dom/window-load-crash.html
fast/frames/seamless/seamless-hyperlink-named.html
fast/frames/seamless/seamless-hyperlink.html

The backtrace is the same for all of them:

crash log for WebKitTestRunner (pid 680):
STDOUT: <empty>
STDERR: ASSERTION FAILED: m_loadState == LoadStateFinished
STDERR: /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/UIProcess/WebFrameProxy.cpp(132) : void WebKit::WebFrameProxy::didStartProvisionalLoad(const WTF::String&)
STDERR: 1   0x7f31f9c6e018 WebKit::WebFrameProxy::didStartProvisionalLoad(WTF::String const&)
STDERR: 2   0x7f31f9c8e4f0 WebKit::WebPageProxy::didStartProvisionalLoadForFrame(unsigned long, WTF::String const&, WTF::String const&, CoreIPC::MessageDecoder&)
STDERR: 3   0x7f31f9e7d179 void CoreIPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, WTF::String const&, WTF::String const&, CoreIPC::MessageDecoder&), unsigned long, WTF::String, WTF::String>(CoreIPC::Arguments3<unsigned long, WTF::String, WTF::String> const&, CoreIPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long, WTF::String const&, WTF::String const&, CoreIPC::MessageDecoder&))
STDERR: 4   0x7f31f9e793fc void CoreIPC::handleMessageVariadic<Messages::WebPageProxy::DidStartProvisionalLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, WTF::String const&, WTF::String const&, CoreIPC::MessageDecoder&)>(CoreIPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long, WTF::String const&, WTF::String const&, CoreIPC::MessageDecoder&))
STDERR: 5   0x7f31f9e736f7 WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&)
STDERR: 6   0x7f31f9bbd242 CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&)
STDERR: 7   0x7f31f9bd3619 WebKit::ChildProcessProxy::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&)
STDERR: 8   0x7f31f9ccd9c3 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&)
STDERR: 9   0x7f31f9baa377 CoreIPC::Connection::dispatchMessage(CoreIPC::MessageDecoder&)
STDERR: 10  0x7f31f9baa464 CoreIPC::Connection::dispatchMessage(WTF::PassOwnPtr<CoreIPC::MessageDecoder>)
STDERR: 11  0x7f31f9baa685 CoreIPC::Connection::dispatchOneMessage()
STDERR: 12  0x7f31f9bbc4ee WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>::operator()(CoreIPC::Connection*)
STDERR: 13  0x7f31f9bbc046 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>, void (CoreIPC::Connection*)>::operator()()
STDERR: 14  0x7f32019b7004 WTF::Function<void ()>::operator()() const
STDERR: 15  0x7f31fd615d23 WebCore::RunLoop::performWork()
STDERR: 16  0x7f31fe1abb36 WebCore::RunLoop::wakeUpEvent(void*, void*, unsigned int)
STDERR: 17  0x7f31f8fb56c1
STDERR: 18  0x7f31f8fb4601
STDERR: 19  0x7f31f8fb4b47 ecore_main_loop_begin
STDERR: 20  0x4363cb WTR::TestController::platformRunUntil(bool&, double)
STDERR: 21  0x420214 WTR::TestController::runUntil(bool&, WTR::TestController::TimeoutDuration)
STDERR: 22  0x427a09 WTR::TestInvocation::invoke()
STDERR: 23  0x41ff34 WTR::TestController::runTest(char const*)
STDERR: 24  0x42006d WTR::TestController::runTestingServerLoop()
STDERR: 25  0x420107 WTR::TestController::run()
STDERR: 26  0x41d7a5 WTR::TestController::TestController(int, char const**)
STDERR: 27  0x436566 main
STDERR: 28  0x7f31f7b1376d __libc_start_main
STDERR: 29  0x41c089
STDERR: ERROR: Thread name "com.apple.WebKit.ChildProcess.WatchDogQueue" is longer than 31 characters and will be truncated by Visual Studio
STDERR: /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WTF/wtf/Threading.cpp(78) : WTF::ThreadIdentifier WTF::createThread(WTF::ThreadFunction, void*, const char*)
Comment 1 Eric Seidel (no email) 2013-02-13 10:16:16 PST
Interesting.  bug 109485 did change "isLoadingInAPISense" to (correctly) delay the load event more, but will have to look at these cases, it's possible it's doing the wrong thing for webkit2.

Do you know if you were to remove that ASSERT if the tests would still pass? :)  Do we know if this is ASSERTing for other ports of wk2?
Comment 2 Chris Dumez 2013-02-13 12:42:16 PST
Bug 109733 seems to fix it by removing the assertion.
Comment 3 Thiago Marcos P. Santos 2013-02-14 02:08:14 PST
(In reply to comment #1)
> Interesting.  bug 109485 did change "isLoadingInAPISense" to (correctly) delay the load event more, but will have to look at these cases, it's possible it's doing the wrong thing for webkit2.
> 
> Do you know if you were to remove that ASSERT if the tests would still pass? :)  Do we know if this is ASSERTing for other ports of wk2?

The assertion is probably bogus since the test passes normally on the release bot.
Comment 4 Raphael Kubo da Costa (:rakuco) 2013-04-09 04:31:30 PDT
These tests have stopped crashing a while ago, so closing the report.