Bug 126977

Summary: [GTK] UI process crashes when the web process crashes while printing
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, gustavo, ltilve, mrobinson
Priority: P2 Keywords: Gtk
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 126979    
Attachments:
Description Flags
Patch gustavo: review+

Description Carlos Garcia Campos 2014-01-14 05:11:52 PST
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff535e0ec in drawPagesForPrintingCompleted(OpaqueWKError const*, OpaqueWKError const*, void*) ()
   from WebKit/WebKitBuild/Release/.libs/libwebkit2gtk-3.0.so.25
(gdb) bt
#0  0x00007ffff535e0ec in drawPagesForPrintingCompleted(OpaqueWKError const*, OpaqueWKError const*, void*) ()
   from WebKit/WebKitBuild/Release/.libs/libwebkit2gtk-3.0.so.25
#1  0x00007ffff53e8277 in void WebKit::invalidateCallbackMap<WTF::RefPtr<WebKit::GenericCallback<OpaqueWKError const*, API::Error*> > >(WTF::HashMap<unsigned long, WTF::RefPtr<WebKit::GenericCallback<OpaqueWKError const*, API::Error*> >, WTF::IntHash<unsigned long>, WTF::HashTraits<unsigned long>, WTF::HashTraits<WTF::RefPtr<WebKit::GenericCallback<OpaqueWKError const*, API::Error*> > > >&) () from WebKit/WebKitBuild/Release/.libs/libwebkit2gtk-3.0.so.25
#2  0x00007ffff53d7a0f in WebKit::WebPageProxy::resetState() () from WebKit/WebKitBuild/Release/.libs/libwebkit2gtk-3.0.so.25
#3  0x00007ffff53da974 in WebKit::WebPageProxy::resetStateAfterProcessExited() () from WebKit/WebKitBuild/Release/.libs/libwebkit2gtk-3.0.so.25
#4  0x00007ffff53dad75 in WebKit::WebPageProxy::processDidCrash() () from WebKit/WebKitBuild/Release/.libs/libwebkit2gtk-3.0.so.25
#5  0x00007ffff53f2a5b in WebKit::WebProcessProxy::didClose(IPC::Connection*) () from WebKit/WebKitBuild/Release/.libs/libwebkit2gtk-3.0.so.25
#6  0x00007ffff7aacf06 in WTF::RunLoop::performWork() () from WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0
#7  0x00007ffff7ab9a39 in WTF::RunLoop::queueWork(WTF::RunLoop*) () from WebKit/WebKitBuild/Release/.libs/libjavascriptcoregtk-3.0.so.0
#8  0x00007ffff0bc24b5 in g_main_dispatch (context=0x6430b0) at gmain.c:3068
#9  g_main_context_dispatch (context=context@entry=0x6430b0) at gmain.c:3643
#10 0x00007ffff0bc2818 in g_main_context_iterate (context=0x6430b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3714
#11 0x00007ffff0bc2c1a in g_main_loop_run (loop=0x81a6f0) at gmain.c:3908
#12 0x00007ffff0be63d1 in test_case_run (tc=0x6e1e90) at gtestutils.c:2098
#13 g_test_run_suite_internal (suite=suite@entry=0x63d000, path=0x7fffffffdd23 "close-after-print", path@entry=0x7fffffffdd22 "/close-after-print") at gtestutils.c:2159
#14 0x00007ffff0be6596 in g_test_run_suite_internal (suite=suite@entry=0x63c120, path=0x7fffffffdd0e "WebKitPrintOperation/close-after-print", 
    path@entry=0x7fffffffdd0d "/WebKitPrintOperation/close-after-print") at gtestutils.c:2170
#15 0x00007ffff0be6596 in g_test_run_suite_internal (suite=suite@entry=0x63d060, path=path@entry=0x7fffffffdd06 "webkit2/WebKitPrintOperation/close-after-print") at gtestutils.c:2170
#16 0x00007ffff0be68eb in g_test_run_suite (suite=0x63d060) at gtestutils.c:2221
#17 0x00007ffff0be6921 in g_test_run () at gtestutils.c:1530
#18 0x000000000040506f in main ()
Comment 1 Carlos Garcia Campos 2014-01-14 05:27:26 PST
Created attachment 221147 [details]
Patch
Comment 2 WebKit Commit Bot 2014-01-14 05:28:47 PST
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Comment 3 Gustavo Noronha (kov) 2014-01-14 06:48:54 PST
Comment on attachment 221147 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=221147&action=review

> Source/WebKit2/ChangeLog:9
> +        invalidated, so that the function is called with a NULL error.

s/that //, the function being called with NULL is the consequence, not the reason

> Tools/Scripts/run-gtk-tests:72
> +        SkippedTest("WebKit2Gtk/TestPrinting", "/webkit2/WebKitPrintOperation/close-after-print", "Test time times out", 126979),

s/time //g?
Comment 4 Carlos Garcia Campos 2014-01-14 23:43:45 PST
Committed r162056: <http://trac.webkit.org/changeset/162056>