[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