After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 691686 - browser -plugin: fails on refresh "installed extensions" from extensions.gnome.org
browser -plugin: fails on refresh "installed extensions" from extensions.gnom...
Status: RESOLVED DUPLICATE of bug 737932
Product: gnome-shell
Classification: Core
Component: extensions
3.10.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2013-01-14 00:20 UTC by Alban Browaeys
Modified: 2015-11-11 09:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
make json-glib resident in the gnome shell browser-plugin (1.67 KB, patch)
2013-01-14 00:20 UTC, Alban Browaeys
none Details | Review

Description Alban Browaeys 2013-01-14 00:20:11 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.
Comment 1 Alban Browaeys 2013-06-10 06:42:28 UTC
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 ?)
Comment 2 Reinout van Schouwen 2013-12-24 22:52:20 UTC
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.
Comment 3 Alban Browaeys 2013-12-26 21:11:13 UTC
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.
Comment 4 Bastien Nocera 2014-02-13 15:11:14 UTC
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.
Comment 5 Carlos Garcia Campos 2015-11-11 09:48:33 UTC
This is fixed now, using -Wl,-z,nodelete.

*** This bug has been marked as a duplicate of bug 737932 ***