<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>136214</bug_id>
          
          <creation_ts>2014-08-25 03:10:24 -0700</creation_ts>
          <short_desc>[GTK] Should check if a plugin mixes GTK+ symbols earlier</short_desc>
          <delta_ts>2014-08-25 05:45:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>pnormand</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1031082</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-25 03:10:24 -0700</bug_when>
    <thetext>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&apos;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 &apos;GtkSettings&apos;

(WebKitPluginProcess:15409): GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type &apos;&lt;invalid&gt;&apos;

(WebKitPluginProcess:15409): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion &apos;G_TYPE_IS_INSTANTIATABLE (instance_type)&apos; failed

(WebKitPluginProcess:15409): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion &apos;G_TYPE_IS_INSTANTIATABLE (instance_type)&apos; failed

(WebKitPluginProcess:15409): GLib-CRITICAL **: g_once_init_leave: assertion &apos;result != 0&apos; 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031085</commentid>
    <comment_count>1</comment_count>
      <attachid>237071</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-25 03:13:10 -0700</bug_when>
    <thetext>Created attachment 237071
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031088</commentid>
    <comment_count>2</comment_count>
      <attachid>237071</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-08-25 03:22:49 -0700</bug_when>
    <thetext>Comment on attachment 237071
Patch

Good catch Carlos!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031121</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-25 05:45:29 -0700</bug_when>
    <thetext>Committed r172919: &lt;http://trac.webkit.org/changeset/172919&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237071</attachid>
            <date>2014-08-25 03:13:10 -0700</date>
            <delta_ts>2014-08-25 03:22:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-plugins-hangs.diff</filename>
            <type>text/plain</type>
            <size>3507</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjNWIyYWIyLi5mOTExMGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTQtMDgtMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFNob3VsZCBjaGVjayBpZiBhIHBsdWdpbiBtaXhlcyBHVEsrIHN5
bWJvbHMgZWFybGllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM2MjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2UgYXJlIGN1cnJlbnRseSBjaGVja2luZyBpZiB0aGUgcGx1Z2luIG1vZHVsZSBhbmQg
dGhlIHBsdWdpbgorICAgICAgICBwcm9jZXNzIG1peCBHVEsgc3ltYm9scyBhZnRlciB0aGUgcGx1
Z2luIGhhcyBiZWVuIGxvYWRlZCBhbmQKKyAgICAgICAgaW5pdGlhbGl6ZWQuIFRoaXMgaXMgdG9v
IGxhdGUgaW4gbWFueSBjYXNlcywgc2luY2UgcGx1Z2lucyBjYW4gdXNlCisgICAgICAgIEdUSyBt
ZXRob2RzIGluIHRoZSBOUF9Jbml0aWFsaXplIGltcGxlbWVudGF0aW9uLiBUaGlzIGlzIGNhdXNp
bmcKKyAgICAgICAgdGhlIGFwcHMgdXNpbmcgV2ViS2l0R1RLKyAyLjQgdG8gZnJlZXplIHdoZW4g
dGhlIHBsdWdpbiBwcm9jZXNzCisgICAgICAgIHNjYW5zIHRoZSBwbHVnaW5zIGFuZCB0aGVyZSdz
IGEgcGx1Z2luIHVzaW5nIEdUSyszIGluc3RhbGxlZC4gV2UKKyAgICAgICAgc2hvdWxkIG1vdmUg
dGhlIGNoZWNrIGVhcmxpZXIsIG9uY2UgdGhlIG1vZHVsZSBpcyBsb2FkZWQgYnV0CisgICAgICAg
IGJlZm9yZSBjYWxsaW5nIE5QX0luaXRpYWxpemUuCisKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1v
ZHVsZU1peGVzR3RrU3ltYm9scyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luTW9k
dWxlOjp0cnlMb2FkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDEx
L05ldHNjYXBlUGx1Z2luWDExLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46
OnBsYXRmb3JtUG9zdEluaXRpYWxpemUpOgorCiAyMDE0LTA4LTIxICBWw61jdG9yIE1hbnVlbCBK
w6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gV2Via2l0
V2ViUHJvY2VzcyBjcmFzaGluZyBuYXZpZ2F0aW5nIGF3YXkgZnJvbSBvZ2cgdmlkZW8gZWxlbWVu
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwCmluZGV4IGQyMjQwZmEuLjEwYjRmMTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
UGx1Z2luTW9kdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAKQEAgLTE5NywxMiArMTk3LDI4IEBAIGJvb2wg
TmV0c2NhcGVQbHVnaW5Nb2R1bGU6OmxvYWQoKQogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYg
UExBVEZPUk0oR1RLKQorc3RhdGljIGJvb2wgbW9kdWxlTWl4ZXNHdGtTeW1ib2xzKE1vZHVsZSog
bW9kdWxlKQoreworI2lmZGVmIEdUS19BUElfVkVSU0lPTl8yCisgICAgcmV0dXJuIG1vZHVsZS0+
ZnVuY3Rpb25Qb2ludGVyPGdwb2ludGVyPigiZ3RrX2FwcGxpY2F0aW9uX2dldF90eXBlIik7Cisj
ZWxzZQorICAgIHJldHVybiBtb2R1bGUtPmZ1bmN0aW9uUG9pbnRlcjxncG9pbnRlcj4oImd0a19v
YmplY3RfZ2V0X3R5cGUiKTsKKyNlbmRpZgorfQorI2VuZGlmCisKIGJvb2wgTmV0c2NhcGVQbHVn
aW5Nb2R1bGU6OnRyeUxvYWQoKQogewogICAgIG1fbW9kdWxlID0gc3RkOjptYWtlX3VuaXF1ZTxN
b2R1bGU+KG1fcGx1Z2luUGF0aCk7CiAgICAgaWYgKCFtX21vZHVsZS0+bG9hZCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyNpZiBQTEFURk9STShHVEspCisgICAgaWYgKG1vZHVsZU1peGVz
R3RrU3ltYm9scyhtX21vZHVsZS5nZXQoKSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgorCiAgICAgTlBfSW5pdGlhbGl6ZUZ1bmNQdHIgaW5pdGlhbGl6ZUZ1bmNQdHIgPSBtX21vZHVs
ZS0+ZnVuY3Rpb25Qb2ludGVyPE5QX0luaXRpYWxpemVGdW5jUHRyPigiTlBfSW5pdGlhbGl6ZSIp
OwogICAgIGlmICghaW5pdGlhbGl6ZUZ1bmNQdHIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS94MTEv
TmV0c2NhcGVQbHVnaW5YMTEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAKaW5kZXggYjI0OTFmYi4uZjNlZWU4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAKQEAgLTEwMSwxNyAr
MTAxLDYgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHJvb3RXaW5kb3dJRCgpCiAjZW5k
aWYKIH0KIAotI2lmIFBMQVRGT1JNKEdUSykKLXN0YXRpYyBib29sIG1vZHVsZU1peGVzR3RrU3lt
Ym9scyhNb2R1bGUqIG1vZHVsZSkKLXsKLSNpZmRlZiBHVEtfQVBJX1ZFUlNJT05fMgotICAgIHJl
dHVybiBtb2R1bGUtPmZ1bmN0aW9uUG9pbnRlcjxncG9pbnRlcj4oImd0a19hcHBsaWNhdGlvbl9n
ZXRfdHlwZSIpOwotI2Vsc2UKLSAgICByZXR1cm4gbW9kdWxlLT5mdW5jdGlvblBvaW50ZXI8Z3Bv
aW50ZXI+KCJndGtfb2JqZWN0X2dldF90eXBlIik7Ci0jZW5kaWYKLX0KLSNlbmRpZgotCiBEaXNw
bGF5KiBOZXRzY2FwZVBsdWdpbjo6eDExSG9zdERpc3BsYXkoKQogewogI2lmIFBMQVRGT1JNKEdU
SykKQEAgLTIxMSwxMSArMjAwLDYgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1QcmVJ
bml0aWFsaXplKCkKIAogYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1Qb3N0SW5pdGlhbGl6
ZSgpCiB7Ci0jaWYgUExBVEZPUk0oR1RLKQotICAgIGlmIChtb2R1bGVNaXhlc0d0a1N5bWJvbHMo
bV9wbHVnaW5Nb2R1bGUtPm1vZHVsZSgpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotI2VuZGlm
Ci0KICAgICB1aW50NjRfdCB3aW5kb3dJRCA9IDA7CiAgICAgYm9vbCBuZWVkc1hFbWJlZCA9IGZh
bHNlOwogICAgIGlmIChtX2lzV2luZG93ZWQpIHsK
</data>
<flag name="review"
          id="261784"
          type_id="1"
          status="+"
          setter="pnormand"
    />
          </attachment>
      

    </bug>

</bugzilla>