RESOLVED FIXED 136214
[GTK] Should check if a plugin mixes GTK+ symbols earlier
https://bugs.webkit.org/show_bug.cgi?id=136214
Summary [GTK] Should check if a plugin mixes GTK+ symbols earlier
Carlos Garcia Campos
Reported 2014-08-25 03:10:24 PDT
We are currently checking if the plugin module and the plugin process mix GTK symbols after the plugin has been loaded and initialized. This is too late in many cases, since plugins can use GTK methods in the NP_Initialize implementation. This is causing the apps using WebKitGTK+ 2.4 to freeze when the plugin process scans the plugins and there's a plugin using GTK+3. See: $ Programs/WebKitPluginProcess -scanPlugin /usr/lib/mozilla/plugins/libevbrowserplugin.so (WebKitPluginProcess:15409): GLib-GObject-WARNING **: cannot register existing type 'GtkSettings' (WebKitPluginProcess:15409): GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type '<invalid>' (WebKitPluginProcess:15409): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed (WebKitPluginProcess:15409): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed (WebKitPluginProcess:15409): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed And the plugin process hangs here, and since the UI process calls WebKitPluginProcess -scanPlugin synchronously it freezes forever. We should move the check earlier, once the module is loaded but before calling NP_Initialize.
Attachments
Patch (3.42 KB, patch)
2014-08-25 03:13 PDT, Carlos Garcia Campos
pnormand: review+
Carlos Garcia Campos
Comment 1 2014-08-25 03:13:10 PDT
Philippe Normand
Comment 2 2014-08-25 03:22:49 PDT
Comment on attachment 237071 [details] Patch Good catch Carlos!
Carlos Garcia Campos
Comment 3 2014-08-25 05:45:29 PDT
Note You need to log in before you can comment on or make changes to this bug.