GNOME Bugzilla – Bug 691686
browser -plugin: fails on refresh "installed extensions" from extensions.gnome.org
Last modified: 2015-11-11 09:48:33 UTC
Created attachment 233405 [details] [review] make json-glib resident in the gnome shell browser-plugin (WebKitPluginProcess:28773): GLib-GObject-WARNING **: cannot register existing type `JsonGenerator' (WebKitPluginProcess:28773): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (WebKitPluginProcess:28773): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed I make json-glib resident in gnome-shell browser plugin NP_Initialize.
I applied this patch to webkit and now the issue is gone: -------------------------------------------------------------------- diff -uNr webkitgtk-1.11.92/Source/WebKit2/PluginProcess/PluginProcess.cpp webkitgtk-1.11.92_prahal/Source/WebKit2/PluginProcess/PluginProcess.cpp --- webkitgtk-1.11.92/Source/WebKit2/PluginProcess/PluginProcess.cpp 2013-02-12 17:22:50.000000000 +0100 +++ webkitgtk-1.11.92_prahal/Source/WebKit2/PluginProcess/PluginProcess.cpp 2013-05-29 19:09:23.607126634 +0200 @@ -115,6 +115,9 @@ } enableTermination(); + + if (shared().shouldTerminate()) + shared().terminate(); } NetscapePluginModule* PluginProcess::netscapePluginModule() -------------------------------------------------------------------- that is webkit2 does terminate the plugin process only after a timeout (and start terminating it when the page close). Also the timeout is 600. As jasper pointer out on #gnome-shell irc: "the plugin process should restart when the page loads" . webkit2 does only if the time between the close and open of the new page is more than 600 seconds. Which on reload never happens. So I made this patch that trigger plain terminate on PluginProcess::removeWebProcessConnection and all is fine). Should I set the status to "resolved" + "notgnome" (ie is webkitgtk out of gnome ?)
The bugzilla instance for webkitgtk+ is on webkit.org. However, to bring this issue to the attention of the Gnome Web developers, I am changing the component.
sorry, I forgot to tell there that I reported the bug to webkit.org as https://bugs.webkit.org/show_bug.cgi?id=117392 , with no feedback as of now.
That's not a bug in epiphany or WebKit, you need to mark such libraries as resident if you don't want them to be unloaded. That's not WebKit's problem if your code relies on libraries/types that can't be unloaded. FWIW, Totem's browser plugin has similar code. You can also use -Wl,-z,nodelete to make sure the plugin never gets unloaded.
This is fixed now, using -Wl,-z,nodelete. *** This bug has been marked as a duplicate of bug 737932 ***