<?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>160143</bug_id>
          
          <creation_ts>2016-07-24 08:14:24 -0700</creation_ts>
          <short_desc>[GTK][Threaded Compositor] ASSERTION FAILED: !!handle ^ !!m_nativeSurfaceHandle with several layout tests</short_desc>
          <delta_ts>2016-07-24 23:34:56 -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>WebKit Local 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>
          
          <blocked>154066</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1214045</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-24 08:14:24 -0700</bug_when>
    <thetext>This is tricky. We have a message to set the native surface handle and another one for destroying it, the former is a normal message while the latter is sync. This assertion happens if the web view is realized before the web process is launched. This is the sequence:

1.- DrawingAreaProxyImpl sends SetNativeSurfaceHandleForCompositing message to the web process, since the process hasn&apos;t been launched yet, the message is queued.
2.- Web process is launched and queued messages and now sent to the web process
3.- The page is closed right after the web process is launched, and DrawingAreaProxyImpl sends DestroyNativeSurfaceHandleForCompositing to the web process
4.- The web process processes incoming messages, and DestroyNativeSurfaceHandleForCompositing is processed first because it&apos;s sync
5.- The web process processes SetNativeSurfaceHandleForCompositing message

This is not only producing the assertion, it&apos;s also setting a handle for a X window already destroyed in the UI process, so this could be producing the X errors we hace seen in other tests. So, we need to make sure SetNativeSurfaceHandleForCompositing and DestroyNativeSurfaceHandleForCompositing are handled in order by the web process. We could make SetNativeSurfaceHandleForCompositing sync as well, but sync messages are just ignored when sent before the web process has been launched (only normal messages are queued for obvious reasons). The other option is to sending the SetNativeSurfaceHandleForCompositing message with the IPC::DispatchMessageEvenWhenWaitingForSyncReply flag. In this case the message is queued and dispatched on process launch, but it&apos;s dispatched before other messages also queued but without that flag set, like CreateWebPage. Since there&apos;s no WebPage there&apos;s the web process doesn&apos;t find a valid message receiver for it and it&apos;s discarded. We need to ensure there DrawinArea object has been created before sending the SetNativeSurfaceHandleForCompositing with the PC::DispatchMessageEvenWhenWaitingForSyncReply flag.

STDERR: ASSERTION FAILED: !!handle ^ !!m_nativeSurfaceHandle
STDERR: ../../Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp(75) : WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing(uint64_t)::&lt;lambda()&gt;
STDERR: 1   0x7f5b958c2aef /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7f5b958c2aef]
STDERR: 2   0x7f5b9c3a1f72 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x583ff72) [0x7f5b9c3a1f72]
STDERR: 3   0x7f5b9c3a8a02 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x5846a02) [0x7f5b9c3a8a02]
STDERR: 4   0x7f5b9bd96fed /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function&lt;void ()&gt;::operator()() const+0x37) [0x7f5b9bd96fed]
STDERR: 5   0x7f5b9c3a0613 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x583e613) [0x7f5b9c3a0613]
STDERR: 6   0x7f5b9c3a100a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x583f00a) [0x7f5b9c3a100a]
STDERR: 7   0x7f5b9bd96fed /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WTF::Function&lt;void ()&gt;::operator()() const+0x37) [0x7f5b9bd96fed]
STDERR: 8   0x7f5b958de3ba /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::RunLoop::performWork()+0xce) [0x7f5b958de3ba]
STDERR: 9   0x7f5b959211f4 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x22641f4) [0x7f5b959211f4]
STDERR: 10  0x7f5b95921219 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2264219) [0x7f5b95921219]
STDERR: 11  0x7f5b95921194 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2264194) [0x7f5b95921194]
STDERR: 12  0x7f5b959211c3 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x22641c3) [0x7f5b959211c3]
STDERR: 13  0x7f5b913a2a26 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(+0x53a26) [0x7f5b913a2a26]
STDERR: 14  0x7f5b913a3854 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(g_main_context_dispatch+0x33) [0x7f5b913a3854]
STDERR: 15  0x7f5b913a3a39 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(+0x54a39) [0x7f5b913a3a39]
STDERR: 16  0x7f5b913a3e60 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0(g_main_loop_run+0x1d7) [0x7f5b913a3e60]
STDERR: 17  0x7f5b95921794 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTF::RunLoop::run()+0xac) [0x7f5b95921794]
STDERR: 18  0x7f5b9c3a08b7 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::CompositingRunLoop::run()+0x11) [0x7f5b9c3a08b7]
STDERR: 19  0x7f5b9c3a33f0 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebKit::ThreadedCompositor::runCompositingThread()+0x128) [0x7f5b9c3a33f0]
STDERR: 20  0x7f5b9c3a31dd /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x58411dd) [0x7f5b9c3a31dd]
STDERR: 21  0x7f5b9c3a5b09 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0x5843b09) [0x7f5b9c3a5b09]
STDERR: 22  0x7f5b9bddb782 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(std::function&lt;void ()&gt;::operator()() const+0x32) [0x7f5b9bddb782]
STDERR: 23  0x7f5b958dfbec /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x2222bec) [0x7f5b958dfbec]
STDERR: 24  0x7f5b9591b28d /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x225e28d) [0x7f5b9591b28d]
STDERR: 25  0x7f5b92fc80a4 /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4) [0x7f5b92fc80a4]
STDERR: 26  0x7f5b8e2d087d /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f5b8e2d087d]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214046</commentid>
    <comment_count>1</comment_count>
      <attachid>284446</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-24 08:28:14 -0700</bug_when>
    <thetext>Created attachment 284446
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214112</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-24 23:34:56 -0700</bug_when>
    <thetext>Committed r203676: &lt;http://trac.webkit.org/changeset/203676&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284446</attachid>
            <date>2016-07-24 08:28:14 -0700</date>
            <delta_ts>2016-07-24 09:41:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-native-handle-crash.diff</filename>
            <type>text/plain</type>
            <size>6152</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4YTgxMGRlLi4zNjgxZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDcg
QEAKIDIwMTYtMDctMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIFtHVEtdW1RocmVhZGVkIENvbXBvc2l0b3JdIEFTU0VSVElPTiBGQUlMRUQ6
ICEhaGFuZGxlIF4gISFtX25hdGl2ZVN1cmZhY2VIYW5kbGUgd2l0aCBzZXZlcmFsIGxheW91dCB0
ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
aGF2ZSBhIG1lc3NhZ2UgdG8gc2V0IHRoZSBuYXRpdmUgc3VyZmFjZSBoYW5kbGUgYW5kIGFub3Ro
ZXIgb25lIGZvciBkZXN0cm95aW5nIGl0LCB0aGUgZm9ybWVyIGlzIGEgbm9ybWFsCisgICAgICAg
IG1lc3NhZ2Ugd2hpbGUgdGhlIGxhdHRlciBpcyBzeW5jLiBUaGlzIGFzc2VydGlvbiBoYXBwZW5z
IGlmIHRoZSB3ZWIgdmlldyBpcyByZWFsaXplZCBiZWZvcmUgdGhlIHdlYiBwcm9jZXNzIGlzCisg
ICAgICAgIGxhdW5jaGVkLiBUaGlzIGlzIHRoZSBzZXF1ZW5jZToKKworICAgICAgICAxLi0gRHJh
d2luZ0FyZWFQcm94eUltcGwgc2VuZHMgU2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0
aW5nIG1lc3NhZ2UgdG8gdGhlIHdlYiBwcm9jZXNzLCBzaW5jZSB0aGUKKyAgICAgICAgcHJvY2Vz
cyBoYXNuJ3QgYmVlbiBsYXVuY2hlZCB5ZXQsIHRoZSBtZXNzYWdlIGlzIHF1ZXVlZC4KKyAgICAg
ICAgMi4tIFdlYiBwcm9jZXNzIGlzIGxhdW5jaGVkIGFuZCBxdWV1ZWQgbWVzc2FnZXMgYXJlIG5v
dyBzZW50IHRvIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgMy4tIFRoZSBwYWdlIGlzIGNsb3Nl
ZCByaWdodCBhZnRlciB0aGUgd2ViIHByb2Nlc3MgaXMgbGF1bmNoZWQsIGFuZCBEcmF3aW5nQXJl
YVByb3h5SW1wbCBzZW5kcworICAgICAgICBEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNv
bXBvc2l0aW5nIHRvIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgNC4tIFRoZSB3ZWIgcHJvY2Vz
cyBwcm9jZXNzZXMgaW5jb21pbmcgbWVzc2FnZXMsIGFuZCBEZXN0cm95TmF0aXZlU3VyZmFjZUhh
bmRsZUZvckNvbXBvc2l0aW5nIGlzIHByb2Nlc3NlZCBiZWZvcmUKKyAgICAgICAgU2V0TmF0aXZl
U3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nIGJlY2F1c2UgaXQncyBzeW5jLgorICAgICAgICA1
Li0gVGhlIHdlYiBwcm9jZXNzIHByb2Nlc3NlcyBTZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29t
cG9zaXRpbmcgbWVzc2FnZS4KKworICAgICAgICBUaGlzIGlzIG5vdCBvbmx5IHByb2R1Y2luZyB0
aGUgYXNzZXJ0aW9uLCBpdCdzIGFsc28gc2V0dGluZyBhIGhhbmRsZSBmb3IgYSBYIHdpbmRvdyBh
bHJlYWR5IGRlc3Ryb3llZCBpbiB0aGUgVUkKKyAgICAgICAgcHJvY2Vzcywgc28gdGhpcyBjb3Vs
ZCBiZSBwcm9kdWNpbmcgdGhlIFggZXJyb3JzIHdlIGhhdmUgc2VlbiBpbiBvdGhlciB0ZXN0cy4g
U28sIHdlIG5lZWQgdG8gbWFrZSBzdXJlCisgICAgICAgIFNldE5hdGl2ZVN1cmZhY2VIYW5kbGVG
b3JDb21wb3NpdGluZyBhbmQgRGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGlu
ZyBhcmUgaGFuZGxlZCBpbiBvcmRlciBieSB0aGUKKyAgICAgICAgd2ViIHByb2Nlc3MuIFdlIGNv
dWxkIG1ha2UgU2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nIHN5bmMgYXMgd2Vs
bCwgYnV0IHN5bmMgbWVzc2FnZXMgYXJlIGp1c3QgaWdub3JlZAorICAgICAgICB3aGVuIHNlbnQg
YmVmb3JlIHRoZSB3ZWIgcHJvY2VzcyBoYXMgYmVlbiBsYXVuY2hlZCAob25seSBub3JtYWwgbWVz
c2FnZXMgYXJlIHF1ZXVlZCBmb3Igb2J2aW91cyByZWFzb25zKS4gVGhlCisgICAgICAgIG90aGVy
IG9wdGlvbiBpcyBzZW5kaW5nIHRoZSBTZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRp
bmcgbWVzc2FnZSB3aXRoIHRoZQorICAgICAgICBJUEM6OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVu
V2FpdGluZ0ZvclN5bmNSZXBseSBmbGFnLiBJbiB0aGlzIGNhc2UgdGhlIG1lc3NhZ2UgaXMgcXVl
dWVkIGFuZCBkaXNwYXRjaGVkIG9uCisgICAgICAgIHByb2Nlc3MgbGF1bmNoLCBidXQgaXQncyBk
aXNwYXRjaGVkIGJlZm9yZSBvdGhlciBtZXNzYWdlcyBhbHNvIHF1ZXVlZCB3aXRob3V0IHRoYXQg
ZmxhZywgbGlrZQorICAgICAgICBDcmVhdGVXZWJQYWdlLiBTaW5jZSB0aGVyZSdzIG5vIFdlYlBh
Z2UgdGhlIHdlYiBwcm9jZXNzIGRvZXNuJ3QgZmluZCBhIHZhbGlkIG1lc3NhZ2UgcmVjZWl2ZXIg
Zm9yIGl0IGFuZAorICAgICAgICBpdCdzIGRpc2NhcmRlZC4gV2UgbmVlZCB0byBlbnN1cmUgdGhl
IERyYXdpbkFyZWEgb2JqZWN0IGhhcyBiZWVuIGNyZWF0ZWQgYmVmb3JlIHNlbmRpbmcgdGhlCisg
ICAgICAgIFNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyB3aXRoIHRoZSBQQzo6
RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5IGZsYWcuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlkVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUpOiBJZiB3
ZSBoYXZlIHJlY2VpdmVkIHRoZSBmaXJzdCB1cGRhdGUgYW5kIHRoZXJlJ3MgYQorICAgICAgICBT
ZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcgbWVzc2FnZSBwZW5kaW5nLCBzZW5k
IGl0LgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0TmF0aXZlU3Vy
ZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKTogRG8gbm90IHNlbmQgdGhlIG1lc3NhZ2UgYmVmb3Jl
IHRoZSBmaXJzdAorICAgICAgICB1cGRhdGUgaXMgcmVjZWl2ZWQuCisgICAgICAgIChXZWJLaXQ6
OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpkZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBv
c2l0aW5nKTogSWYgdGhlcmUgd2FzIGEKKyAgICAgICAgU2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZv
ckNvbXBvc2l0aW5nIG1lc3NhZ2UgcGVuZGluZywganVzdCBpZ25vcmUgdGhpcyBkZXN0cm95IHNp
bmNlIHRoZSB3ZWIgcHJvY2VzcyBuZXZlcgorICAgICAgICByZWNlaXZlZCB0aGUgaGFuZGxlLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oOgorCisyMDE2LTA3LTI0
ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwogICAgICAgICBb
Q29vcmRpbmF0ZWQgR3JhcGhpY3NdIFRlc3QgZmFzdC9maXhlZC1sYXlvdXQvZml4ZWQtbGF5b3V0
Lmh0bWwgY3Jhc2hlcyBpbiBkZWJ1ZwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYwMTE3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDVlODk2ODAuLjIwNjkzMjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAt
MTcwLDkgKzE3MCwxNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaWRVcGRhdGVCYWNr
aW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZQogCiAgICAgaWYgKG1fbmV4
dEJhY2tpbmdTdG9yZVN0YXRlSUQgIT0gbV9jdXJyZW50QmFja2luZ1N0b3JlU3RhdGVJRCkKICAg
ICAgICAgc2VuZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKFJlc3BvbmRJbW1lZGlhdGVseSk7Ci0g
ICAgZWxzZQorICAgIGVsc2UgewogICAgICAgICBtX2hhc1JlY2VpdmVkRmlyc3RVcGRhdGUgPSB0
cnVlOwogCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBQTEFURk9STShHVEspCisgICAgICAg
IGlmIChtX3BlbmRpbmdOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcpIHsKKyAgICAg
ICAgICAgIHNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhtX3BlbmRpbmdOYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcpOworICAgICAgICAgICAgbV9wZW5kaW5nTmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nID0gMDsKKyAgICAgICAgfQorI2VuZGlmCisg
ICAgfQorCiAgICAgaWYgKGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpKSB7CiAgICAg
ICAgIEFTU0VSVCghbV9iYWNraW5nU3RvcmUpOwogICAgICAgICByZXR1cm47CkBAIC0zMTAsMTEg
KzMxOCwxOSBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleAogI2lmIFVTRShURVhUVVJFX01BUFBF
UikgJiYgUExBVEZPUk0oR1RLKQogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0TmF0aXZl
U3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90IGhhbmRsZSkKIHsKLSAgICBtX3dl
YlBhZ2VQcm94eS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OlNldE5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhoYW5kbGUpLCBtX3dlYlBhZ2VQcm94eS5wYWdl
SUQoKSk7CisgICAgaWYgKCFtX2hhc1JlY2VpdmVkRmlyc3RVcGRhdGUpIHsKKyAgICAgICAgbV9w
ZW5kaW5nTmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nID0gaGFuZGxlOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kKE1lc3Nh
Z2VzOjpEcmF3aW5nQXJlYTo6U2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKGhh
bmRsZSksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpLCBJUEM6OkRpc3BhdGNoTWVzc2FnZUV2ZW5X
aGVuV2FpdGluZ0ZvclN5bmNSZXBseSk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6
OmRlc3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKQogeworICAgIGlmICht
X3BlbmRpbmdOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcpIHsKKyAgICAgICAgbV9w
ZW5kaW5nTmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nID0gMDsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KICAgICBib29sIGhhbmRsZWQ7CiAgICAgbV93ZWJQYWdlUHJveHkucHJvY2Vz
cygpLnNlbmRTeW5jKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6RGVzdHJveU5hdGl2ZVN1cmZhY2VI
YW5kbGVGb3JDb21wb3NpdGluZygpLCBNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkRlc3Ryb3lOYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmc6OlJlcGx5KGhhbmRsZWQpLCBtX3dlYlBhZ2VQ
cm94eS5wYWdlSUQoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5oCmluZGV4IGY5NjFmNDUuLjg4MTlhOTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCkBAIC0xMDksNiArMTA5LDEw
IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEJhY2tpbmdTdG9yZT4gbV9iYWNraW5n
U3RvcmU7CiAKICAgICBSdW5Mb29wOjpUaW1lcjxEcmF3aW5nQXJlYVByb3h5SW1wbD4gbV9kaXNj
YXJkQmFja2luZ1N0b3JlVGltZXI7CisKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIFBMQVRG
T1JNKEdUSykKKyAgICB1aW50NjRfdCBtX3BlbmRpbmdOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29t
cG9zaXRpbmcgeyAwIH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="308095"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>