<?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>163105</bug_id>
          
          <creation_ts>2016-10-07 03:41:17 -0700</creation_ts>
          <short_desc>[GTK] gobject-introspection on package build with webkit2gtk fails without active X session</short_desc>
          <delta_ts>2016-10-17 02:09:09 -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>Other</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></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alberto Garcia">berto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bitlord0xff</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1237548</commentid>
    <comment_count>0</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2016-10-07 03:41:17 -0700</bug_when>
    <thetext>I&apos;m hesitant to consider this a bug in webkit, but here it goes in case you have any thoughts:

Packages built with webkit2gtk fail during the gobject-introspection phase if there&apos;s no active X session.

This was reported in the Liferea package:

https://github.com/lwindolf/liferea/issues/398

It seems that webkit_settings_new() ends up calling XCompositeQueryExtension() (which fails), and this might have been caused by r204013 (Move the redirected XComposite window to the web process), the fix for bug 160389

Possible solutions:

- Have a working X session :)
- Use xfvb-run
- Set WEBKIT_DISABLE_COMPOSITING_MODE=1 while running g-ir-scanner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240580</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-15 01:41:33 -0700</bug_when>
    <thetext>Disabling AC mode sounds like the easiest solution in the short term (until this options disappears if we ever remove the non Ac support). In the long term we might have support for headless environments, or better handle the case where there&apos;s no display.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240706</commentid>
    <comment_count>2</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2016-10-16 02:30:21 -0700</bug_when>
    <thetext>I told the Liferea maintainer to set WEBKIT_DISABLE_COMPOSITING_MODE=1 while building the package, and that&apos;s what they&apos;re doing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240734</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-10-16 10:35:07 -0700</bug_when>
    <thetext>That&apos;s nuts though.

So g-ir-scanner actually dlopens WebKit and calls functions, that&apos;s why this crash is happening?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240737</commentid>
    <comment_count>4</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2016-10-16 10:48:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; That&apos;s nuts though.
&gt; 
&gt; So g-ir-scanner actually dlopens WebKit and calls functions, that&apos;s why this
&gt; crash is happening?

IIRC g-ir-scanner calls liferea (I don&apos;t remember the command-line options), which is already linked against WebKit, and it&apos;s the webkit_settings_new() call in Liferea that calls XCompositeQueryExtension(), which crashes the process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240740</commentid>
    <comment_count>5</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2016-10-16 11:13:37 -0700</bug_when>
    <thetext>This is the actual command called by g-ir-scanner:

./liferea --introspect-dump=/tmp/tmp-introspectw0lgbi6d/functions.txt,/tmp/tmp-introspectw0lgbi6d/dump.xml

And this is the backtrace:

Thread 1 &quot;liferea&quot; received signal SIGSEGV, Segmentation fault.
0xf0deceee in XQueryExtension () from /usr/lib/i386-linux-gnu/libX11.so.6
(gdb) bt
#0  0xf0deceee in XQueryExtension () from /usr/lib/i386-linux-gnu/libX11.so.6
#1  0xf0de0c6c in XInitExtension () from /usr/lib/i386-linux-gnu/libX11.so.6
#2  0xf0db9cc8 in XCompositeFindDisplay () from /usr/lib/i386-linux-gnu/libXcomposite.so.1
#3  0xf0db9e3b in XCompositeQueryExtension () from /usr/lib/i386-linux-gnu/libXcomposite.so.1
#4  0xf678ed15 in WebCore::PlatformDisplayX11::supportsXComposite () at ./Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:80
#5  0xf58518f5 in WebKit::WebPreferences::platformInitializeStore () at ./Source/WebKit2/UIProcess/gtk/WebPreferencesGtk.cpp:63
#6  0xf56198ff in WebKit::WebPreferences::WebPreferences () at ./Source/WebKit2/UIProcess/WebPreferences.cpp:63
#7  0xf5619940 in WebKit::WebPreferences::create () at ./Source/WebKit2/UIProcess/WebPreferences.cpp:43
#8  0xf5807493 in _WebKitSettingsPrivate::_WebKitSettingsPrivate () at ./Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:51
#9  webkit_settings_init () at ./Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:94
#10 0xf46714b0 in g_type_create_instance () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#11 0xf4652bc7 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#12 0xf465462c in g_object_newv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#13 0xf4654cbd in g_object_new () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#14 0xf5807b9f in webkit_settings_new () at ./Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp:1294
#15 0x565a8d9e in liferea_webkit_impl_init (self=0x566115b0) at webkit.c:345
#16 0xf46714b0 in g_type_create_instance () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#17 0xf4652bc7 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#18 0xf465462c in g_object_newv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#19 0xf4654cbd in g_object_new () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#20 0x565a9890 in liferea_webkit_impl_new () at webkit.c:107
#21 liferea_webkit_init () at webkit.c:421
#22 0x56598e8e in liferea_htmlview_class_init (klass=0x56618000) at liferea_htmlview.c:203
#23 liferea_htmlview_class_intern_init (klass=0x56618000) at liferea_htmlview.c:144
#24 0xf466e337 in g_type_class_ref () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#25 0xf46a3da5 in dump_properties (type=type@entry=1449215696, out=out@entry=0x56614c38) at girepository/gdump.c:132
#26 0xf46a49ff in dump_object_type (out=0x56614c38, symbol=&lt;optimized out&gt;, type=&lt;optimized out&gt;) at girepository/gdump.c:255
#27 dump_type (out=0x56614c38, symbol=&lt;optimized out&gt;, type=&lt;optimized out&gt;) at girepository/gdump.c:397
#28 g_irepository_dump (arg=0x566183b8 &quot;/tmp/tmp-introspectw0lgbi6d/functions.txt,/tmp/tmp-introspectw0lgbi6d/dump.xml&quot;, error=0xffffca38)
    at girepository/gdump.c:542
#29 0xf46aaef1 in g_irepository_introspect_cb (option_name=0x56610288 &quot;--introspect-dump&quot;, 
    value=0x566183b8 &quot;/tmp/tmp-introspectw0lgbi6d/functions.txt,/tmp/tmp-introspectw0lgbi6d/dump.xml&quot;, data=0x0, error=0xffffcbc0)
    at girepository/girepository.c:1593
#30 0xf4565c2d in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#31 0xf4566074 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#32 0xf4567973 in g_option_context_parse () from /lib/i386-linux-gnu/libglib-2.0.so.0
#33 0x5656991d in main (argc=&lt;optimized out&gt;, argv=&lt;optimized out&gt;) at main.c:209</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240886</commentid>
    <comment_count>6</comment_count>
      <attachid>291797</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2016-10-17 01:23:15 -0700</bug_when>
    <thetext>Created attachment 291797
Patch

Ok, I actually think this is our bug. If we know that the display is not set we should simply return false instead of calling a function that we know is going to crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240891</commentid>
    <comment_count>7</comment_count>
      <attachid>291797</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-17 01:35:38 -0700</bug_when>
    <thetext>Comment on attachment 291797
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=291797&amp;action=review

&gt; Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:78
&gt; -    if (!m_supportsXComposite) {
&gt; +    if (!m_supportsXComposite &amp;&amp; m_display) {

I agree but this will crash in debug builds. m_supportsXComposite is Optional&lt;bool&gt;, if we don&apos;t initialize it the .value() below will assert in debug because the value is not engaged. So, simply add an early return before this if so that when m_display is nullptr, the optional value is not even used.

&gt; Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:87
&gt; -    if (!m_supportsXDamage) {
&gt; +    if (!m_supportsXDamage &amp;&amp; m_display) {

And same here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240896</commentid>
    <comment_count>8</comment_count>
      <attachid>291800</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2016-10-17 01:43:06 -0700</bug_when>
    <thetext>Created attachment 291800
Patch #2

How about this one?

This also removes the need to have the #else (GTK) in supportsXDamage()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240902</commentid>
    <comment_count>9</comment_count>
      <attachid>291800</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-17 02:05:12 -0700</bug_when>
    <thetext>Comment on attachment 291800
Patch #2

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1240903</commentid>
    <comment_count>10</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2016-10-17 02:09:09 -0700</bug_when>
    <thetext>Committed r207403: &lt;http://trac.webkit.org/changeset/207403&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291797</attachid>
            <date>2016-10-17 01:23:15 -0700</date>
            <delta_ts>2016-10-17 01:43:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>163105.diff</filename>
            <type>text/plain</type>
            <size>1820</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkODllZmYxLi5kY2QyYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMTAtMTcgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1RLXSBnb2JqZWN0LWludHJvc3BlY3Rpb24gb24gcGFja2FnZSBidWlsZCB3aXRoIHdl
YmtpdDJndGsgZmFpbHMgd2l0aG91dCBhY3RpdmUgWCBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMxMDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb24ndCBjYWxsIFhDb21wb3NpdGVRdWVy
eUV4dGVuc2lvbigpIG9yIFhEYW1hZ2VRdWVyeUV4dGVuc2lvbigpCisgICAgICAgIGlmIG1fZGlz
cGxheSBpcyBOVUxMLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MveDExL1BsYXRmb3Jt
RGlzcGxheVgxMS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlYMTE6OnN1
cHBvcnRzWENvbXBvc2l0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlYMTE6
OnN1cHBvcnRzWERhbWFnZSk6CisKIDIwMTYtMTAtMTYgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxl
LmNvbT4KIAogICAgICAgICBBWDogW01hY10gcm9sZURlc2NyaXB0aW9uIGZvciBBWFRleHRGaWVs
ZCBpbnB1dCB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MveDExL1BsYXRmb3JtRGlzcGxheVgxMS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy94MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNwcAppbmRleCA0YzRmZTA5Li4zMTAyMTkx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy94MTEvUGxhdGZv
cm1EaXNwbGF5WDExLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy94
MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNwcApAQCAtNzUsNyArNzUsNyBAQCB2b2lkIFBsYXRmb3Jt
RGlzcGxheVgxMTo6aW5pdGlhbGl6ZUVHTERpc3BsYXkoKQogCiBib29sIFBsYXRmb3JtRGlzcGxh
eVgxMTo6c3VwcG9ydHNYQ29tcG9zaXRlKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fc3VwcG9ydHNY
Q29tcG9zaXRlKSB7CisgICAgaWYgKCFtX3N1cHBvcnRzWENvbXBvc2l0ZSAmJiBtX2Rpc3BsYXkp
IHsKICAgICAgICAgaW50IGV2ZW50QmFzZSwgZXJyb3JCYXNlOwogICAgICAgICBtX3N1cHBvcnRz
WENvbXBvc2l0ZSA9IFhDb21wb3NpdGVRdWVyeUV4dGVuc2lvbihtX2Rpc3BsYXksICZldmVudEJh
c2UsICZlcnJvckJhc2UpOwogICAgIH0KQEAgLTg0LDcgKzg0LDcgQEAgYm9vbCBQbGF0Zm9ybURp
c3BsYXlYMTE6OnN1cHBvcnRzWENvbXBvc2l0ZSgpIGNvbnN0CiAKIGJvb2wgUGxhdGZvcm1EaXNw
bGF5WDExOjpzdXBwb3J0c1hEYW1hZ2UoT3B0aW9uYWw8aW50PiYgZGFtYWdlRXZlbnRCYXNlKSBj
b25zdAogewotICAgIGlmICghbV9zdXBwb3J0c1hEYW1hZ2UpIHsKKyAgICBpZiAoIW1fc3VwcG9y
dHNYRGFtYWdlICYmIG1fZGlzcGxheSkgewogI2lmIFBMQVRGT1JNKEdUSykKICAgICAgICAgaW50
IGV2ZW50QmFzZSwgZXJyb3JCYXNlOwogICAgICAgICBtX3N1cHBvcnRzWERhbWFnZSA9IFhEYW1h
Z2VRdWVyeUV4dGVuc2lvbihtX2Rpc3BsYXksICZldmVudEJhc2UsICZlcnJvckJhc2UpOwo=
</data>
<flag name="review"
          id="314903"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
    <flag name="commit-queue"
          id="314904"
          type_id="3"
          status="-"
          setter="cgarcia"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291800</attachid>
            <date>2016-10-17 01:43:06 -0700</date>
            <delta_ts>2016-10-17 02:05:12 -0700</delta_ts>
            <desc>Patch #2</desc>
            <filename>163105.diff</filename>
            <type>text/plain</type>
            <size>2416</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkODllZmYxLi5kY2QyYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMTAtMTcgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1RLXSBnb2JqZWN0LWludHJvc3BlY3Rpb24gb24gcGFja2FnZSBidWlsZCB3aXRoIHdl
YmtpdDJndGsgZmFpbHMgd2l0aG91dCBhY3RpdmUgWCBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMxMDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEb24ndCBjYWxsIFhDb21wb3NpdGVRdWVy
eUV4dGVuc2lvbigpIG9yIFhEYW1hZ2VRdWVyeUV4dGVuc2lvbigpCisgICAgICAgIGlmIG1fZGlz
cGxheSBpcyBOVUxMLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MveDExL1BsYXRmb3Jt
RGlzcGxheVgxMS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlYMTE6OnN1
cHBvcnRzWENvbXBvc2l0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlYMTE6
OnN1cHBvcnRzWERhbWFnZSk6CisKIDIwMTYtMTAtMTYgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxl
LmNvbT4KIAogICAgICAgICBBWDogW01hY10gcm9sZURlc2NyaXB0aW9uIGZvciBBWFRleHRGaWVs
ZCBpbnB1dCB0eXBlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MveDExL1BsYXRmb3JtRGlzcGxheVgxMS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy94MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNwcAppbmRleCA0YzRmZTA5Li5jNzA1OTk3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy94MTEvUGxhdGZv
cm1EaXNwbGF5WDExLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy94
MTEvUGxhdGZvcm1EaXNwbGF5WDExLmNwcApAQCAtNzYsOCArNzYsMTEgQEAgdm9pZCBQbGF0Zm9y
bURpc3BsYXlYMTE6OmluaXRpYWxpemVFR0xEaXNwbGF5KCkKIGJvb2wgUGxhdGZvcm1EaXNwbGF5
WDExOjpzdXBwb3J0c1hDb21wb3NpdGUoKSBjb25zdAogewogICAgIGlmICghbV9zdXBwb3J0c1hD
b21wb3NpdGUpIHsKLSAgICAgICAgaW50IGV2ZW50QmFzZSwgZXJyb3JCYXNlOwotICAgICAgICBt
X3N1cHBvcnRzWENvbXBvc2l0ZSA9IFhDb21wb3NpdGVRdWVyeUV4dGVuc2lvbihtX2Rpc3BsYXks
ICZldmVudEJhc2UsICZlcnJvckJhc2UpOworICAgICAgICBpZiAobV9kaXNwbGF5KSB7CisgICAg
ICAgICAgICBpbnQgZXZlbnRCYXNlLCBlcnJvckJhc2U7CisgICAgICAgICAgICBtX3N1cHBvcnRz
WENvbXBvc2l0ZSA9IFhDb21wb3NpdGVRdWVyeUV4dGVuc2lvbihtX2Rpc3BsYXksICZldmVudEJh
c2UsICZlcnJvckJhc2UpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG1fc3VwcG9ydHNY
Q29tcG9zaXRlID0gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiBtX3N1cHBvcnRzWENvbXBvc2l0
ZS52YWx1ZSgpOwogfQpAQCAtODUsMTMgKzg4LDE0IEBAIGJvb2wgUGxhdGZvcm1EaXNwbGF5WDEx
OjpzdXBwb3J0c1hDb21wb3NpdGUoKSBjb25zdAogYm9vbCBQbGF0Zm9ybURpc3BsYXlYMTE6OnN1
cHBvcnRzWERhbWFnZShPcHRpb25hbDxpbnQ+JiBkYW1hZ2VFdmVudEJhc2UpIGNvbnN0CiB7CiAg
ICAgaWYgKCFtX3N1cHBvcnRzWERhbWFnZSkgewotI2lmIFBMQVRGT1JNKEdUSykKLSAgICAgICAg
aW50IGV2ZW50QmFzZSwgZXJyb3JCYXNlOwotICAgICAgICBtX3N1cHBvcnRzWERhbWFnZSA9IFhE
YW1hZ2VRdWVyeUV4dGVuc2lvbihtX2Rpc3BsYXksICZldmVudEJhc2UsICZlcnJvckJhc2UpOwot
ICAgICAgICBpZiAobV9zdXBwb3J0c1hEYW1hZ2UudmFsdWUoKSkKLSAgICAgICAgICAgIG1fZGFt
YWdlRXZlbnRCYXNlID0gZXZlbnRCYXNlOwotI2Vsc2UKICAgICAgICAgbV9zdXBwb3J0c1hEYW1h
Z2UgPSBmYWxzZTsKKyNpZiBQTEFURk9STShHVEspCisgICAgICAgIGlmIChtX2Rpc3BsYXkpIHsK
KyAgICAgICAgICAgIGludCBldmVudEJhc2UsIGVycm9yQmFzZTsKKyAgICAgICAgICAgIG1fc3Vw
cG9ydHNYRGFtYWdlID0gWERhbWFnZVF1ZXJ5RXh0ZW5zaW9uKG1fZGlzcGxheSwgJmV2ZW50QmFz
ZSwgJmVycm9yQmFzZSk7CisgICAgICAgICAgICBpZiAobV9zdXBwb3J0c1hEYW1hZ2UudmFsdWUo
KSkKKyAgICAgICAgICAgICAgICBtX2RhbWFnZUV2ZW50QmFzZSA9IGV2ZW50QmFzZTsKKyAgICAg
ICAgfQogI2VuZGlmCiAgICAgfQogCg==
</data>
<flag name="review"
          id="314906"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>