Bug 153785

Summary: [GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsuringDrawing()
Product: WebKit Reporter: Adrien Plazas <aplazas>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, commit-queue
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Implements DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing(). none

Description Adrien Plazas 2016-02-02 02:00:42 PST
Several tests are crashing due to an assert in the GTK+ debug bot. It seems to be caused by WebKit::DrawingAreaProxy::dispatchAfterEnsuringDrawing() not being overridden.

STDERR: SHOULD NEVER BE REACHED
STDERR: ../../Source/WebKit2/UIProcess/DrawingAreaProxy.h(90) : virtual void WebKit::DrawingAreaProxy::dispatchAfterEnsuringDrawing(std::function<void(WebKit::CallbackBase::Error)>)
STDERR: 1   0x7f5e485db161 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7f5e485db161]
STDERR: 2   0x7f5e40912b86 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::DrawingAreaProxy::hideContentUntilPendingUpdate()+0) [0x7f5e40912b86]
STDERR: 3   0x7f5e4097004c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebPageProxy::callAfterNextPresentationUpdate(std::function<void (WebKit::CallbackBase::Error)>)+0x52) [0x7f5e4097004c]
STDERR: 4   0x7f5e40a0ab21 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WKPageCallAfterNextPresentationUpdate+0x59) [0x7f5e40a0ab21]
STDERR: 5   0x480f6b /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/Debug/bin/WebKitTestRunner(WTR::TestInvocation::didReceiveMessageFromInjectedBundle(OpaqueWKString const*, void const*)+0x20f1) [0x480f6b]
STDERR: 6   0x470ca9 /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/Debug/bin/WebKitTestRunner(WTR::TestController::didReceiveMessageFromInjectedBundle(OpaqueWKString const*, void const*)+0x7cd) [0x470ca9]
STDERR: 7   0x4702f5 /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/Debug/bin/WebKitTestRunner(WTR::TestController::didReceivePageMessageFromInjectedBundle(OpaqueWKPage const*, OpaqueWKString const*, void const*, void const*)+0x2f) [0x4702f5]
STDERR: 8   0x7f5e40953b39 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebPageInjectedBundleClient::didReceiveMessageFromInjectedBundle(WebKit::WebPageProxy*, WTF::String const&, API::Object*)+0x97) [0x7f5e40953b39]
STDERR: 9   0x7f5e4095635d /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebPageProxy::handleMessage(IPC::Connection&, WTF::String const&, WebKit::UserData const&)+0xb7) [0x7f5e4095635d]
STDERR: 10  0x7f5e40dc1976 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&), std::tuple<WTF::String, WebKit::UserData>, 0ul, 1ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&), IPC::Connection&, std::tuple<WTF::String, WebKit::UserData>&&, std::index_sequence<0ul, 1ul>)+0x92) [0x7f5e40dc1976]
STDERR: 11  0x7f5e40db7364 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&), std::tuple<WTF::String, WebKit::UserData>, std::make_index_sequence<2ul> >(IPC::Connection&, std::tuple<WTF::String, WebKit::UserData>&&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&))+0x55) [0x7f5e40db7364]
STDERR: 12  0x7f5e40db036e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(void IPC::handleMessage<Messages::WebPageProxy::HandleMessage, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&)>(IPC::Connection&, IPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(IPC::Connection&, WTF::String const&, WebKit::UserData const&))+0xb7) [0x7f5e40db036e]
STDERR: 13  0x7f5e40da31e5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)+0x48bb) [0x7f5e40da31e5]
STDERR: 14  0x7f5e408630dc /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::MessageDecoder&)+0x120) [0x7f5e408630dc]
STDERR: 15  0x7f5e4090fe4f /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::ChildProcessProxy::dispatchMessage(IPC::Connection&, IPC::MessageDecoder&)+0x2f) [0x7f5e4090fe4f]
STDERR: 16  0x7f5e409d1ff9 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::MessageDecoder&)+0x2b) [0x7f5e409d1ff9]
STDERR: 17  0x7f5e40850710 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::Connection::dispatchMessage(IPC::MessageDecoder&)+0x3a) [0x7f5e40850710]
STDERR: 18  0x7f5e40850873 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::Connection::dispatchMessage(std::unique_ptr<IPC::MessageDecoder, std::default_delete<IPC::MessageDecoder> >)+0x161) [0x7f5e40850873]
STDERR: 19  0x7f5e40850a5a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(IPC::Connection::dispatchOneMessage()+0xc8) [0x7f5e40850a5a]
STDERR: 20  0x7f5e4085055e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x4cba55e) [0x7f5e4085055e]
STDERR: 21  0x7f5e40851d19 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x4cbbd19) [0x7f5e40851d19]
STDERR: 22  0x47859e /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/Debug/bin/WebKitTestRunner(std::function<void ()>::operator()() const+0x32) [0x47859e]
STDERR: 23  0x7f5e485f4fb3 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::RunLoop::performWork()+0xdb) [0x7f5e485f4fb3]
STDERR: 24  0x7f5e4862d50e /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x1b5a50e) [0x7f5e4862d50e]
STDERR: 25  0x7f5e4862d533 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x1b5a533) [0x7f5e4862d533]
STDERR: 26  0x7f5e4862d4ae /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x1b5a4ae) [0x7f5e4862d4ae]
STDERR: 27  0x7f5e4862d4dd /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x1b5a4dd) [0x7f5e4862d4dd]
STDERR: 28  0x7f5e3af35a26 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(+0x53a26) [0x7f5e3af35a26]
STDERR: 29  0x7f5e3af36854 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(g_main_context_dispatch+0x33) [0x7f5e3af36854]
STDERR: 30  0x7f5e3af36a39 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(+0x54a39) [0x7f5e3af36a39]
STDERR: 31  0x7f5e3af36e60 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(g_main_loop_run+0x1d7) [0x7f5e3af36e60]
STDERR: LEAK: 4 CachedResource
STDERR: LEAK: 28 WebCoreNode
STDERR: LEAK: 1 WebPage
STDERR: LEAK: 1 WebFrame
Comment 1 Adrien Plazas 2016-02-02 02:06:06 PST
Created attachment 270479 [details]
Implements DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing().
Comment 2 WebKit Commit Bot 2016-02-02 02:07:56 PST
Attachment 270479 [details] did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp:325:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp:332:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WebKit2/UIProcess/DrawingAreaProxyImpl.h:56:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Carlos Garcia Campos 2016-02-02 02:14:04 PST
Comment on attachment 270479 [details]
Implements DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing().

Thanks!
Comment 4 WebKit Commit Bot 2016-02-02 03:00:47 PST
Comment on attachment 270479 [details]
Implements DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing().

Clearing flags on attachment: 270479

Committed r196005: <http://trac.webkit.org/changeset/196005>
Comment 5 WebKit Commit Bot 2016-02-02 03:00:52 PST
All reviewed patches have been landed.  Closing bug.