[Webkit-unassigned] [Bug 211350] [GTK] WEBKIT_LOAD_FINISHED not reached if WebKitWebView has no parent

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 14 16:39:50 PST 2021


https://bugs.webkit.org/show_bug.cgi?id=211350

--- Comment #4 from Michael Catanzaro <mcatanzaro at gnome.org> ---
(In reply to Michael Catanzaro from comment #2)
> > The reason why the load doesn't complete is because the WebProcess exists,
> > because the connection to the UI process receives a G_IO_HUP, and WebKit
> > exits the process in that case.
> 
> Really weird. Why would that happen...?

Occam's razor prevails again: it happens because the UI process closes the connection. This isn't a great backtrace, but that happens here, immediately before the web process receives G_IO_HUP:

1   0x7f543abb3ed5 IPC::Connection::invalidate()
2   0x7f543ac2eac3 WebKit::AuxiliaryProcessProxy::shutDownProcess()
3   0x7f543acb73f0 WebKit::WebProcessProxy::shutDown()
4   0x7f543ac5c356 /home/mcatanzaro/Projects/GNOME/install/lib/libwebkit2gtk-4.0.so.37(+0x1bd4356) [0x7f543ac5c356]
5   0x7f5437cae90d WTF::RunLoop::performWork()
6   0x7f5437cfbe19 /home/mcatanzaro/Projects/GNOME/install/lib/libjavascriptcoregtk-4.0.so.18(+0x13eee19) [0x7f5437cfbe19]
7   0x7f5437cfc6ff /home/mcatanzaro/Projects/GNOME/install/lib/libjavascriptcoregtk-4.0.so.18(+0x13ef6ff) [0x7f5437cfc6ff]
8   0x7f54367bd110 /home/mcatanzaro/Projects/GNOME/install/lib/libglib-2.0.so.0(+0x5c110) [0x7f54367bd110]
9   0x7f54367be033 g_main_context_dispatch
10  0x7f54367be21f /home/mcatanzaro/Projects/GNOME/install/lib/libglib-2.0.so.0(+0x5d21f) [0x7f54367be21f]
11  0x7f54367be677 g_main_loop_run
12  0x7f54389f3754 gtk_main
13  0x401343 ./test() [0x401343]
14  0x7f543659c1e2 __libc_start_main
15  0x40111e ./test() [0x40111e]

So why is it happening? I'm not sure yet. I did find one bug in both tests: we forget to sink the web view's floating ref with g_object_ref_sink() in the case where we don't call gtk_container_add(). When we don't add it to the widget hierarchy, it's our responsibility to sink the ref and manage the widget's lifetime. I was thinking that might cause the widget to get destroyed too soon, but that's not enough to solve this.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210115/af7bc2a7/attachment.htm>


More information about the webkit-unassigned mailing list