<?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>232179</bug_id>
          
          <creation_ts>2021-10-22 15:29:00 -0700</creation_ts>
          <short_desc>RemoteRenderingBackend should not send IPC in the middle of destruction</short_desc>
          <delta_ts>2021-10-24 13:58:18 -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>WebKit2</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>232113</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1807901</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-22 15:29:00 -0700</bug_when>
    <thetext>It looks like there&apos;s still a flaky GPU process crash, found while running layout tests in EWS: https://ews-build.s3-us-west-2.amazonaws.com/macOS-Catalina-Release-WK2-Tests-EWS/r442191-21289/com.apple.WebKit.GPU.Development-10292-crash-log.txt

Main thread:

Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff700c355e __ulock_wait + 10
1   libsystem_pthread.dylib       	0x00007fff7018a5c2 _pthread_join + 347
2   com.apple.JavaScriptCore      	0x00000001102a69f4 WTF::Thread::waitForCompletion() + 68
3   com.apple.WebKit              	0x0000000107c66d35 IPC::StreamConnectionWorkQueue::stopAndWaitForCompletion() + 81
4   com.apple.WebKit              	0x0000000107cd2de9 WebKit::RemoteRenderingBackend::~RemoteRenderingBackend() + 309
5   com.apple.WebKit              	0x0000000107cd2f59 non-virtual thunk to WebKit::RemoteRenderingBackend::~RemoteRenderingBackend() + 21
6   com.apple.WebKit              	0x0000000107cd47a1 IPC::ScopedActiveMessageReceiveQueue&lt;WebKit::RemoteRenderingBackend, WTF::RefPtr&lt;WebKit::RemoteRenderingBackend, WTF::RawPtrTraits&lt;WebKit::RemoteRenderingBackend&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::RemoteRenderingBackend&gt; &gt; &gt;::~ScopedActiveMessageReceiveQueue() + 23
7   com.apple.WebKit              	0x0000000107cd7293 WTF::HashTable&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt;, WTF::KeyValuePair&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt;, IPC::ScopedActiveMessageReceiveQueue&lt;WebKit::RemoteRenderingBackend, WTF::RefPtr&lt;WebKit::RemoteRenderingBackend, WTF::RawPtrTraits&lt;WebKit::RemoteRenderingBackend&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::RemoteRenderingBackend&gt; &gt; &gt; &gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt;, IPC::ScopedActiveMessageReceiveQueue&lt;WebKit::RemoteRenderingBackend, WTF::RefPtr&lt;WebKit::RemoteRenderingBackend, WTF::RawPtrTraits&lt;WebKit::RemoteRenderingBackend&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::RemoteRenderingBackend&gt; &gt; &gt; &gt; &gt;, WTF::DefaultHash&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt; &gt;, WTF::HashMap&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt;, IPC::ScopedActiveMessageReceiveQueue&lt;WebKit::RemoteRenderingBackend, WTF::RefPtr&lt;WebKit::RemoteRenderingBackend, WTF::RawPtrTraits&lt;WebKit::RemoteRenderingBackend&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::RemoteRenderingBackend&gt; &gt; &gt;, WTF::DefaultHash&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt; &gt;, WTF::HashTraits&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt; &gt;, WTF::HashTraits&lt;IPC::ScopedActiveMessageReceiveQueue&lt;WebKit::RemoteRenderingBackend, WTF::RefPtr&lt;WebKit::RemoteRenderingBackend, WTF::RawPtrTraits&lt;WebKit::RemoteRenderingBackend&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::RemoteRenderingBackend&gt; &gt; &gt; &gt;, WTF::HashTableTraits&gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt; &gt; &gt;::remove(WTF::KeyValuePair&lt;WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt;, IPC::ScopedActiveMessageReceiveQueue&lt;WebKit::RemoteRenderingBackend, WTF::RefPtr&lt;WebKit::RemoteRenderingBackend, WTF::RawPtrTraits&lt;WebKit::RemoteRenderingBackend&gt;, WTF::DefaultRefDerefTraits&lt;WebKit::RemoteRenderingBackend&gt; &gt; &gt; &gt;*) + 25
8   com.apple.WebKit              	0x0000000107ccd495 WebKit::GPUConnectionToWebProcess::releaseRenderingBackend(WTF::ObjectIdentifier&lt;WebKit::RenderingBackendIdentifierType&gt;) + 105
9   com.apple.WebKit              	0x0000000107c9c0dd WebKit::GPUConnectionToWebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 567
10  com.apple.WebKit              	0x0000000107b951f1 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 221
11  com.apple.WebKit              	0x0000000107b91b42 IPC::Connection::SyncMessageState::ConnectionAndIncomingMessage::dispatch() + 42
12  com.apple.WebKit              	0x0000000107b91eb8 IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection(IPC::Connection&amp;) + 848
13  com.apple.JavaScriptCore      	0x0000000110289e01 WTF::RunLoop::performWork() + 513
14  com.apple.JavaScriptCore      	0x000000011028a712 WTF::RunLoop::performWork(void*) + 34
15  com.apple.CoreFoundation      	0x00007fff35e5e884 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16  com.apple.CoreFoundation      	0x00007fff35e5e823 __CFRunLoopDoSource0 + 103
17  com.apple.CoreFoundation      	0x00007fff35e5e63d __CFRunLoopDoSources0 + 209
18  com.apple.CoreFoundation      	0x00007fff35e5d359 __CFRunLoopRun + 937
19  com.apple.CoreFoundation      	0x00007fff35e5c953 CFRunLoopRunSpecific + 466
20  com.apple.Foundation          	0x00007fff3851a1c8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
21  com.apple.Foundation          	0x00007fff385ccc6f -[NSRunLoop(NSRunLoop) run] + 76
22  libxpc.dylib                  	0x00007fff701d24ea _xpc_objc_main.cold.4 + 49
23  libxpc.dylib                  	0x00007fff701d2430 _xpc_objc_main + 559
24  libxpc.dylib                  	0x00007fff701d1f63 xpc_main + 377
25  com.apple.WebKit              	0x0000000107d74b77 WebKit::XPCServiceMain(int, char const**) + 266
26  libdyld.dylib                 	0x00007fff6ff80cc9 start + 1

Rendering backend thread:

Thread 9 Crashed:: RemoteRenderingBackend work queue
0   com.apple.WebKit              	0x0000000107cd1f30 WebKit::RemoteRenderingBackend::didFlush(WTF::ObjectIdentifier&lt;WebCore::GraphicsContextFlushIdentifierType&gt;, WebCore::ProcessQualified&lt;WTF::ObjectIdentifier&lt;WebCore::RenderingResourceIdentifierType&gt; &gt;) + 30
1   com.apple.WebKit              	0x0000000107c6847a IPC::StreamServerConnection::dispatchStreamMessage(IPC::Decoder&amp;&amp;, IPC::StreamMessageReceiver&amp;) + 32
2   com.apple.WebKit              	0x0000000107c680d8 IPC::StreamServerConnection::dispatchStreamMessages(unsigned long) + 374
3   com.apple.WebKit              	0x0000000107c66ed3 IPC::StreamConnectionWorkQueue::processStreams() + 355
4   com.apple.WebKit              	0x0000000107c676b6 WTF::Detail::CallableWrapper&lt;IPC::StreamConnectionWorkQueue::startProcessingThread()::$_0, void&gt;::call() + 46
5   com.apple.JavaScriptCore      	0x00000001102a407c WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 124
6   com.apple.JavaScriptCore      	0x00000001102a6909 WTF::wtfThreadEntryPoint(void*) + 9
7   libsystem_pthread.dylib       	0x00007fff70189109 _pthread_start + 148
8   libsystem_pthread.dylib       	0x00007fff70184b8b thread_start + 15</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807922</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-22 16:00:46 -0700</bug_when>
    <thetext>The issue here is that while we&apos;re tearing down the stream connection (and running through the remaining IPC stream messages as a result), if one of those stream messages is `RemoteRenderingBackend::didFlush()`, we&apos;ll end up trying to send an IPC message (and call into IPC::MessageSender methods) during destruction of RemoteRenderingBackend.

This work needs to happen earlier — probably right after we&apos;ve torn down the IPC stream connection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807976</commentid>
    <comment_count>2</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-22 17:27:06 -0700</bug_when>
    <thetext>*** Bug 232183 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808003</commentid>
    <comment_count>3</comment_count>
      <attachid>442240</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-22 18:35:22 -0700</bug_when>
    <thetext>Created attachment 442240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808174</commentid>
    <comment_count>4</comment_count>
      <attachid>442240</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-23 22:31:31 -0700</bug_when>
    <thetext>Comment on attachment 442240
Patch

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

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:147
&gt; +            m_remoteDisplayLists.set(renderingResourceIdentifier, remoteDisplayList);

When we know the key is not already in the map, set is just a slower slightly larger version of add. The difference is that after doing an add, set overwrites the value if the key is already in the map. Given that, I would have used add here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808247</commentid>
    <comment_count>5</comment_count>
      <attachid>442240</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-24 13:12:48 -0700</bug_when>
    <thetext>Comment on attachment 442240
Patch

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

Thanks for the review!

&gt;&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:147
&gt;&gt; +            m_remoteDisplayLists.set(renderingResourceIdentifier, remoteDisplayList);
&gt; 
&gt; When we know the key is not already in the map, set is just a slower slightly larger version of add. The difference is that after doing an add, set overwrites the value if the key is already in the map. Given that, I would have used add here.

Makes sense, since we should only be adding new entries here — I&apos;ll change this to use `add()`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808248</commentid>
    <comment_count>6</comment_count>
      <attachid>442317</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-24 13:13:42 -0700</bug_when>
    <thetext>Created attachment 442317
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808257</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-24 13:57:51 -0700</bug_when>
    <thetext>Committed r284768 (243477@main): &lt;https://commits.webkit.org/243477@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442317.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808258</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-24 13:58:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/84596594&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442240</attachid>
            <date>2021-10-22 18:35:22 -0700</date>
            <delta_ts>2021-10-23 22:31:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232179-20211022183522.patch</filename>
            <type>text/plain</type>
            <size>8070</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZmNDVmMDgxN2QxMjU1NDEy
NmI1YTJhNzk0MGQ0NDkxZDdiNzVlOTYuLmNlNzhlMGNlNzZmYTQ1NTUwMjFjYWIxNmM4MDU0Yzg1
N2QyODczZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMTAtMjIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3RlUmVuZGVyaW5n
QmFja2VuZCBzaG91bGQgbm90IHNlbmQgSVBDIGluIHRoZSBtaWRkbGUgb2YgZGVzdHJ1Y3Rpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjE3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgYSBj
b3VwbGUgb2YgbWlub3IgYWRqdXN0bWVudHMgdG8gUmVtb3RlUmVuZGVyaW5nQmFja2VuZCAoc2Vl
IGJlbG93IGZvciBtb3JlIGRldGFpbHMpLiBUaGlzIGlzIG5lY2Vzc2FyeSBpbgorICAgICAgICBv
cmRlciB0byBhdm9pZCBmbGFreSBjcmFzaGVzIGFmdGVyIGZpeGluZyBidWcgIzIzMjExMywgYWZ0
ZXIgd2hpY2ggdGhlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgd2lsbCBubyBsb25nZXIgYmUKKyAg
ICAgICAgbGVha2VkIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnN0YXJ0TGlzdGVuaW5nRm9ySVBDKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6c3RvcExpc3RlbmluZ0ZvcklQQyk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZENyZWF0ZUltYWdlQnVmZmVy
QmFja2VuZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnJlbGVh
c2VSZW1vdGVSZXNvdXJjZVdpdGhRdWFsaWZpZWRJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6flJlbW90ZVJlbmRlcmluZ0JhY2tlbmQpOiBEZWxl
dGVkLgorCisgICAgICAgIE1vdmUgbG9naWMgdG8gZmx1c2ggcmVtYWluaW5nIGluY29taW5nIElQ
QyBtZXNzYWdlcyBpbiB0aGUgR1BVIHByb2Nlc3Mgb3V0IG9mIHRoZSBkZXN0cnVjdG9yLCBhbmQg
aW50bworICAgICAgICBgc3RvcExpc3RlbmluZ0ZvcklQQygpYCBpbnN0ZWFkLiBUaGlzIGlzIGJl
Y2F1c2UgdGhlIGFjdCBvZiBwcm9jZXNzaW5nIGNlcnRhaW4gc3RyZWFtIElQQyBtZXNzYWdlcyAo
c3VjaCBhcworICAgICAgICBDcmVhdGVJbWFnZUJ1ZmZlciBvciBGbHVzaENvbnRleHQpIG1heSBj
YXVzZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kIHRvIHRyeSBhbmQgc2VuZCBJUEMgYmFjayB0byB0
aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIEhvd2V2ZXIsIGlmIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQgaXMgaW4gdGhlIG1pZGRsZSBvZiBkZXN0cnVjdGlvbiwgaXQgd2lsbCBjcmFzaCB3aGVuIGF0
dGVtcHRpbmcgdG8gZG8gc28gKHdoZW4KKyAgICAgICAgYXR0ZW1wdGluZyB0byBjYWxsIGludG8g
SVBDOjpNZXNzYWdlU2VuZGVyKS4KKworICAgICAgICBUbyBhdm9pZCB0aGlzLCB3ZSBuZWVkIHRv
IGRvIHRoaXMgd29yayBlYXJsaWVyLCBhZnRlciB3ZSd2ZSBhbHJlYWR5IHN0b3BwZWQgbGlzdGVu
aW5nIGZvciBmdXJ0aGVyIElQQyBtZXNzYWdlcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oOgorCisgICAgICAgIFR1cm4gYG1fcmVtb3Rl
RGlzcGxheUxpc3RzYCBpbnRvIGEgcmVndWxhciBoYXNoIG1hcCBjb250YWluaW5nIFJlbW90ZURp
c3BsYXlMaXN0UmVjb3JkZXJzIGJ5IHRoZWlyIHByb2Nlc3MtCisgICAgICAgIHF1YWxpZmllZCBy
ZW5kZXJpbmcgcmVzb3VyY2UgaWRlbnRpZmllcnMuIFNpbmNlIHRoaXMgbWFwIG1heSBiZSBtb2Rp
ZmllZCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzLCB3ZSAoMSkgZG9uJ3QKKyAgICAgICAgd2FudCB0
byBiZSB1c2luZyB3ZWFrIHBvaW50ZXJzIGhlcmUsIGFuZCAoMikgbmVlZCB0byBlbnN1cmUgdGhh
dCBhY2Nlc3MgdG8gdGhpcyB0YWJsZSBpcyBndWFyZGVkIGJlaGluZCBhIGxvY2suCisgICAgICAg
IFRvIGF2b2lkIHJlZmVyZW5jZSBjeWNsZXMsIGVudHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgY2xl
YXJlZCBvdXQgd2hlbiB0aGUgcmVtb3RlIGltYWdlIGJ1ZmZlciBjb3JyZXNwb25kaW5nIHRvCisg
ICAgICAgIGVhY2ggUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlciBpcyByZWxlYXNlZCBpbiB0aGUg
R1BVIHByb2Nlc3MuCisKIDIwMjEtMTAtMjIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCByZXF1aXJlZCBzeXNjYWxsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5jcHAKaW5kZXggNWM4ODE5MzA4NzUwNjkzNjQ2YjY3YTVjNGNlNzE3MWYzYmUxZGM3
NS4uZDJjYmE4MTcxMzRmYzc4YjUxYTgzOWRhNzU3YWRiZmVjNzFjMjYxZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJp
bmdCYWNrZW5kLmNwcApAQCAtODksOCArODksMTUgQEAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6
UmVtb3RlUmVuZGVyaW5nQmFja2VuZChHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb24K
ICAgICBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OkRpZENyZWF0
ZVdha2VVcFNlbWFwaG9yZUZvckRpc3BsYXlMaXN0U3RyZWFtKG1fd29ya1F1ZXVlLT53YWtlVXBT
ZW1hcGhvcmUoKSksIG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpOwogfQogCitSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kOjp+UmVtb3RlUmVuZGVyaW5nQmFja2VuZCgpID0gZGVmYXVsdDsKKwog
dm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzdGFydExpc3RlbmluZ0ZvcklQQygpCiB7Cisg
ICAgeworICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9yZW1vdGVEaXNwbGF5TGlzdHNMb2NrIH07
CisgICAgICAgIG1fY2FuUmVnaXN0ZXJSZW1vdGVEaXNwbGF5TGlzdHMgPSB0cnVlOworICAgIH0K
KwogICAgIG1fc3RyZWFtQ29ubmVjdGlvbi0+c3RhcnRSZWNlaXZpbmdNZXNzYWdlcygqdGhpcywg
TWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwg
bV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAvLyBSZW1vdGVE
aXNwbGF5TGlzdFJlY29yZGVyIG1lc3NhZ2VzIGRlcGVuZCBvbiBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLCBiZWNhdXNlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgY3JlYXRlcyBSZW1vdGVEaXNwbGF5
TGlzdFJlY29yZGVyIGFuZAogICAgIC8vIG1ha2VzIGEgcmVjZWl2ZSBxdWV1ZSBmb3IgaXQuIElu
IG9yZGVyIHRvIGd1YXJhbnRlZSBjb3JyZWN0IG9yZGVyaW5nLCBlbnN1cmUgdGhhdCBhbGwgUmVt
b3RlRGlzcGxheUxpc3RSZWNvcmRlciBtZXNzYWdlcyBhcmUgcHJvY2Vzc2VkIGluCkBAIC05OCwy
MSArMTA1LDIzIEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6c3RhcnRMaXN0ZW5pbmdG
b3JJUEMoKQogICAgIG1fc3RyZWFtQ29ubmVjdGlvbi0+c3RhcnRSZWNlaXZpbmdNZXNzYWdlcyhN
ZXNzYWdlczo6UmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
KTsKIH0KIAotUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6flJlbW90ZVJlbmRlcmluZ0JhY2tlbmQo
KQotewotICAgIC8vIE1ha2Ugc3VyZSB3ZSBkZXN0cm95IHRoZSBSZXNvdXJjZUNhY2hlIG9uIHRo
ZSBXb3JrUXVldWUgc2luY2UgaXQgZ2V0cyBwb3B1bGF0ZWQgb24gdGhlIFdvcmtRdWV1ZS4KLSAg
ICAvLyBNYWtlIHN1cmUgcmVuZGVyaW5nIHJlc291cmNlIHJlcXVlc3QgaXMgcmVsZWFzZWQgYWZ0
ZXIgZGVzdHJveWluZyB0aGUgY2FjaGUuCi0gICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKFtyZW5k
ZXJpbmdSZXNvdXJjZXNSZXF1ZXN0ID0gV1RGTW92ZShtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVl
c3QpLCByZW1vdGVSZXNvdXJjZUNhY2hlID0gV1RGTW92ZShtX3JlbW90ZVJlc291cmNlQ2FjaGUp
XSB7IH0pOwotICAgIG1fd29ya1F1ZXVlLT5zdG9wQW5kV2FpdEZvckNvbXBsZXRpb24oKTsKLX0K
LQogdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzdG9wTGlzdGVuaW5nRm9ySVBDKCkKIHsK
ICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgIG1fc3RyZWFtQ29ubmVjdGlvbi0+
c3RvcFJlY2VpdmluZ01lc3NhZ2VzKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIudG9VSW50
NjQoKSk7CiAgICAgbV9zdHJlYW1Db25uZWN0aW9uLT5zdG9wUmVjZWl2aW5nTWVzc2FnZXMoTWVz
c2FnZXM6OlJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7
Ci0gICAgZm9yIChhdXRvJiByZW1vdGVDb250ZXh0IDogc3RkOjpleGNoYW5nZShtX3JlbW90ZURp
c3BsYXlMaXN0cywgeyB9KSkKLSAgICAgICAgcmVtb3RlQ29udGV4dC5zdG9wTGlzdGVuaW5nRm9y
SVBDKCk7CisKKyAgICB7CisgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3JlbW90ZURpc3BsYXlM
aXN0c0xvY2sgfTsKKyAgICAgICAgbV9jYW5SZWdpc3RlclJlbW90ZURpc3BsYXlMaXN0cyA9IGZh
bHNlOworICAgICAgICBmb3IgKGF1dG8mIHJlbW90ZUNvbnRleHQgOiBzdGQ6OmV4Y2hhbmdlKG1f
cmVtb3RlRGlzcGxheUxpc3RzLCB7IH0pKQorICAgICAgICAgICAgcmVtb3RlQ29udGV4dC52YWx1
ZS0+c3RvcExpc3RlbmluZ0ZvcklQQygpOworICAgIH0KKworICAgIC8vIE1ha2Ugc3VyZSB3ZSBk
ZXN0cm95IHRoZSBSZXNvdXJjZUNhY2hlIG9uIHRoZSBXb3JrUXVldWUgc2luY2UgaXQgZ2V0cyBw
b3B1bGF0ZWQgb24gdGhlIFdvcmtRdWV1ZS4KKyAgICAvLyBNYWtlIHN1cmUgcmVuZGVyaW5nIHJl
c291cmNlIHJlcXVlc3QgaXMgcmVsZWFzZWQgYWZ0ZXIgZGVzdHJveWluZyB0aGUgY2FjaGUuCisg
ICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKFtyZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0ID0gV1RG
TW92ZShtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QpLCByZW1vdGVSZXNvdXJjZUNhY2hlID0g
V1RGTW92ZShtX3JlbW90ZVJlc291cmNlQ2FjaGUpXSB7IH0pOworICAgIG1fd29ya1F1ZXVlLT5z
dG9wQW5kV2FpdEZvckNvbXBsZXRpb24oKTsKIH0KIAogdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kOjpkaXNwYXRjaChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykKQEAgLTEzMiw3ICsxNDEsMTEg
QEAgdWludDY0X3QgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6bWVzc2FnZVNlbmRlckRlc3RpbmF0
aW9uSUQoKSBjb25zdAogCiB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZENyZWF0ZUlt
YWdlQnVmZmVyQmFja2VuZChJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgaGFuZGxlLCBRdWFsaWZp
ZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
LCBSZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyJiByZW1vdGVEaXNwbGF5TGlzdCkKIHsKLSAgICBt
X3JlbW90ZURpc3BsYXlMaXN0cy5hZGQocmVtb3RlRGlzcGxheUxpc3QpOworICAgIHsKKyAgICAg
ICAgTG9ja2VyIGxvY2tlciB7IG1fcmVtb3RlRGlzcGxheUxpc3RzTG9jayB9OworICAgICAgICBp
ZiAobV9jYW5SZWdpc3RlclJlbW90ZURpc3BsYXlMaXN0cykKKyAgICAgICAgICAgIG1fcmVtb3Rl
RGlzcGxheUxpc3RzLnNldChyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIsIHJlbW90ZURpc3Bs
YXlMaXN0KTsKKyAgICB9CiAgICAgTUVTU0FHRV9DSEVDSyhyZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIucHJvY2Vzc0lkZW50aWZpZXIoKSA9PSBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mt
PndlYlByb2Nlc3NJZGVudGlmaWVyKCksICJTZW5kaW5nIGRpZENyZWF0ZUltYWdlQnVmZmVyQmFj
a2VuZCgpIG1lc3NhZ2UgdG8gdGhlIHdyb25nIHdlYiBwcm9jZXNzLiIpOwogICAgIHNlbmQoTWVz
c2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6RGlkQ3JlYXRlSW1hZ2VCdWZmZXJC
YWNrZW5kKFdURk1vdmUoaGFuZGxlKSwgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLm9iamVj
dCgpKSwgbV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcik7CiB9CkBAIC0zNjMsNiArMzc2LDkg
QEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpyZWxlYXNlUmVtb3RlUmVzb3VyY2VXaXRo
UXVhbGlmaWVkSWRlbnRpZmllcihRdWFsaWYKICAgICBhdXRvIHN1Y2Nlc3MgPSBtX3JlbW90ZVJl
c291cmNlQ2FjaGUucmVsZWFzZVJlbW90ZVJlc291cmNlKHJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
ZmllciwgdXNlQ291bnQpOwogICAgIE1FU1NBR0VfQ0hFQ0soc3VjY2VzcywgIlJlc291cmNlIGlz
IGJlaW5nIHJlbGVhc2VkIGJlZm9yZSBiZWluZyBjYWNoZWQuIik7CiAgICAgdXBkYXRlUmVuZGVy
aW5nUmVzb3VyY2VSZXF1ZXN0KCk7CisKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV9yZW1vdGVEaXNw
bGF5TGlzdHNMb2NrIH07CisgICAgbV9yZW1vdGVEaXNwbGF5TGlzdHMucmVtb3ZlKHJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcik7CiB9CiAKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6
ZmluYWxpemVSZW5kZXJpbmdVcGRhdGUoUmVuZGVyaW5nVXBkYXRlSUQgcmVuZGVyaW5nVXBkYXRl
SUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCA5NWRmOGVhNTU1NmY5MjNjZjQxZjY3NmEzZWRj
ZGNlYmY5NzAzZjBkLi4xOWZiMTdmMDI1ZmIyYzY1ZjFkZGUyNzJjMzBiYjBkZTk0NWNhZjlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTEzMyw3ICsxMzMsMTAgQEAgcHJpdmF0ZToKICAgICBJ
UEM6OlNlbWFwaG9yZSBtX2dldFBpeGVsQnVmZmVyU2VtYXBob3JlOwogICAgIFJlZlB0cjxTaGFy
ZWRNZW1vcnk+IG1fZ2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnk7CiAgICAgU2NvcGVkUmVuZGVy
aW5nUmVzb3VyY2VzUmVxdWVzdCBtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3Q7Ci0gICAgV2Vh
a0hhc2hTZXQ8UmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlcj4gbV9yZW1vdGVEaXNwbGF5TGlzdHM7
CisKKyAgICBMb2NrIG1fcmVtb3RlRGlzcGxheUxpc3RzTG9jazsKKyAgICBib29sIG1fY2FuUmVn
aXN0ZXJSZW1vdGVEaXNwbGF5TGlzdHMgV1RGX0dVQVJERURfQllfTE9DSyhtX3JlbW90ZURpc3Bs
YXlMaXN0c0xvY2spIHsgZmFsc2UgfTsKKyAgICBIYXNoTWFwPFF1YWxpZmllZFJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllciwgUmVmPFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXI+PiBtX3JlbW90
ZURpc3BsYXlMaXN0cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVtb3RlRGlzcGxheUxpc3RzTG9j
ayk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="466696"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442317</attachid>
            <date>2021-10-24 13:13:42 -0700</date>
            <delta_ts>2021-10-24 13:57:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-232179-20211024131341.patch</filename>
            <type>text/plain</type>
            <size>8067</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NzA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZmNDVmMDgxN2QxMjU1NDEy
NmI1YTJhNzk0MGQ0NDkxZDdiNzVlOTYuLmEyZGJmYmE1YTY1MGYyZGIzOTUwMWM1YjRlNDU5OTZm
YzYyNzFiMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMTAtMjIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3RlUmVuZGVyaW5n
QmFja2VuZCBzaG91bGQgbm90IHNlbmQgSVBDIGluIHRoZSBtaWRkbGUgb2YgZGVzdHJ1Y3Rpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjE3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIE1ha2UgYSBjb3Vw
bGUgb2YgbWlub3IgYWRqdXN0bWVudHMgdG8gUmVtb3RlUmVuZGVyaW5nQmFja2VuZCAoc2VlIGJl
bG93IGZvciBtb3JlIGRldGFpbHMpLiBUaGlzIGlzIG5lY2Vzc2FyeSBpbgorICAgICAgICBvcmRl
ciB0byBhdm9pZCBmbGFreSBjcmFzaGVzIGFmdGVyIGZpeGluZyBidWcgIzIzMjExMywgYWZ0ZXIg
d2hpY2ggdGhlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgd2lsbCBubyBsb25nZXIgYmUKKyAgICAg
ICAgbGVha2VkIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6OnN0YXJ0TGlzdGVuaW5nRm9ySVBDKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6c3RvcExpc3RlbmluZ0ZvcklQQyk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZENyZWF0ZUltYWdlQnVmZmVyQmFj
a2VuZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnJlbGVhc2VS
ZW1vdGVSZXNvdXJjZVdpdGhRdWFsaWZpZWRJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6flJlbW90ZVJlbmRlcmluZ0JhY2tlbmQpOiBEZWxldGVk
LgorCisgICAgICAgIE1vdmUgbG9naWMgdG8gZmx1c2ggcmVtYWluaW5nIGluY29taW5nIElQQyBt
ZXNzYWdlcyBpbiB0aGUgR1BVIHByb2Nlc3Mgb3V0IG9mIHRoZSBkZXN0cnVjdG9yLCBhbmQgaW50
bworICAgICAgICBgc3RvcExpc3RlbmluZ0ZvcklQQygpYCBpbnN0ZWFkLiBUaGlzIGlzIGJlY2F1
c2UgdGhlIGFjdCBvZiBwcm9jZXNzaW5nIGNlcnRhaW4gc3RyZWFtIElQQyBtZXNzYWdlcyAoc3Vj
aCBhcworICAgICAgICBDcmVhdGVJbWFnZUJ1ZmZlciBvciBGbHVzaENvbnRleHQpIG1heSBjYXVz
ZSBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kIHRvIHRyeSBhbmQgc2VuZCBJUEMgYmFjayB0byB0aGUg
d2ViIHByb2Nlc3MuCisgICAgICAgIEhvd2V2ZXIsIGlmIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQg
aXMgaW4gdGhlIG1pZGRsZSBvZiBkZXN0cnVjdGlvbiwgaXQgd2lsbCBjcmFzaCB3aGVuIGF0dGVt
cHRpbmcgdG8gZG8gc28gKHdoZW4KKyAgICAgICAgYXR0ZW1wdGluZyB0byBjYWxsIGludG8gSVBD
OjpNZXNzYWdlU2VuZGVyKS4KKworICAgICAgICBUbyBhdm9pZCB0aGlzLCB3ZSBuZWVkIHRvIGRv
IHRoaXMgd29yayBlYXJsaWVyLCBhZnRlciB3ZSd2ZSBhbHJlYWR5IHN0b3BwZWQgbGlzdGVuaW5n
IGZvciBmdXJ0aGVyIElQQyBtZXNzYWdlcy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oOgorCisgICAgICAgIFR1cm4gYG1fcmVtb3RlRGlz
cGxheUxpc3RzYCBpbnRvIGEgcmVndWxhciBoYXNoIG1hcCBjb250YWluaW5nIFJlbW90ZURpc3Bs
YXlMaXN0UmVjb3JkZXJzIGJ5IHRoZWlyIHByb2Nlc3MtCisgICAgICAgIHF1YWxpZmllZCByZW5k
ZXJpbmcgcmVzb3VyY2UgaWRlbnRpZmllcnMuIFNpbmNlIHRoaXMgbWFwIG1heSBiZSBtb2RpZmll
ZCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzLCB3ZSAoMSkgZG9uJ3QKKyAgICAgICAgd2FudCB0byBi
ZSB1c2luZyB3ZWFrIHBvaW50ZXJzIGhlcmUsIGFuZCAoMikgbmVlZCB0byBlbnN1cmUgdGhhdCBh
Y2Nlc3MgdG8gdGhpcyB0YWJsZSBpcyBndWFyZGVkIGJlaGluZCBhIGxvY2suCisgICAgICAgIFRv
IGF2b2lkIHJlZmVyZW5jZSBjeWNsZXMsIGVudHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgY2xlYXJl
ZCBvdXQgd2hlbiB0aGUgcmVtb3RlIGltYWdlIGJ1ZmZlciBjb3JyZXNwb25kaW5nIHRvCisgICAg
ICAgIGVhY2ggUmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlciBpcyByZWxlYXNlZCBpbiB0aGUgR1BV
IHByb2Nlc3MuCisKIDIwMjEtMTAtMjIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtpT1NdIEFkZCByZXF1aXJlZCBzeXNjYWxsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZC5jcHAKaW5kZXggNWM4ODE5MzA4NzUwNjkzNjQ2YjY3YTVjNGNlNzE3MWYzYmUxZGM3NS4u
YzI5YWE4NmM0ZWFlZDIyZTA3NGI2ZTU3MmE4MmFiYjA3NmVhNTAzNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdC
YWNrZW5kLmNwcApAQCAtODksOCArODksMTUgQEAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6UmVt
b3RlUmVuZGVyaW5nQmFja2VuZChHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb24KICAg
ICBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OkRpZENyZWF0ZVdh
a2VVcFNlbWFwaG9yZUZvckRpc3BsYXlMaXN0U3RyZWFtKG1fd29ya1F1ZXVlLT53YWtlVXBTZW1h
cGhvcmUoKSksIG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpOwogfQogCitSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kOjp+UmVtb3RlUmVuZGVyaW5nQmFja2VuZCgpID0gZGVmYXVsdDsKKwogdm9p
ZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzdGFydExpc3RlbmluZ0ZvcklQQygpCiB7CisgICAg
eworICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9yZW1vdGVEaXNwbGF5TGlzdHNMb2NrIH07Cisg
ICAgICAgIG1fY2FuUmVnaXN0ZXJSZW1vdGVEaXNwbGF5TGlzdHMgPSB0cnVlOworICAgIH0KKwog
ICAgIG1fc3RyZWFtQ29ubmVjdGlvbi0+c3RhcnRSZWNlaXZpbmdNZXNzYWdlcygqdGhpcywgTWVz
c2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9y
ZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAvLyBSZW1vdGVEaXNw
bGF5TGlzdFJlY29yZGVyIG1lc3NhZ2VzIGRlcGVuZCBvbiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LCBiZWNhdXNlIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgY3JlYXRlcyBSZW1vdGVEaXNwbGF5TGlz
dFJlY29yZGVyIGFuZAogICAgIC8vIG1ha2VzIGEgcmVjZWl2ZSBxdWV1ZSBmb3IgaXQuIEluIG9y
ZGVyIHRvIGd1YXJhbnRlZSBjb3JyZWN0IG9yZGVyaW5nLCBlbnN1cmUgdGhhdCBhbGwgUmVtb3Rl
RGlzcGxheUxpc3RSZWNvcmRlciBtZXNzYWdlcyBhcmUgcHJvY2Vzc2VkIGluCkBAIC05OCwyMSAr
MTA1LDIzIEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6c3RhcnRMaXN0ZW5pbmdGb3JJ
UEMoKQogICAgIG1fc3RyZWFtQ29ubmVjdGlvbi0+c3RhcnRSZWNlaXZpbmdNZXNzYWdlcyhNZXNz
YWdlczo6UmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKTsK
IH0KIAotUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6flJlbW90ZVJlbmRlcmluZ0JhY2tlbmQoKQot
ewotICAgIC8vIE1ha2Ugc3VyZSB3ZSBkZXN0cm95IHRoZSBSZXNvdXJjZUNhY2hlIG9uIHRoZSBX
b3JrUXVldWUgc2luY2UgaXQgZ2V0cyBwb3B1bGF0ZWQgb24gdGhlIFdvcmtRdWV1ZS4KLSAgICAv
LyBNYWtlIHN1cmUgcmVuZGVyaW5nIHJlc291cmNlIHJlcXVlc3QgaXMgcmVsZWFzZWQgYWZ0ZXIg
ZGVzdHJveWluZyB0aGUgY2FjaGUuCi0gICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKFtyZW5kZXJp
bmdSZXNvdXJjZXNSZXF1ZXN0ID0gV1RGTW92ZShtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3Qp
LCByZW1vdGVSZXNvdXJjZUNhY2hlID0gV1RGTW92ZShtX3JlbW90ZVJlc291cmNlQ2FjaGUpXSB7
IH0pOwotICAgIG1fd29ya1F1ZXVlLT5zdG9wQW5kV2FpdEZvckNvbXBsZXRpb24oKTsKLX0KLQog
dm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzdG9wTGlzdGVuaW5nRm9ySVBDKCkKIHsKICAg
ICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogICAgIG1fc3RyZWFtQ29ubmVjdGlvbi0+c3Rv
cFJlY2VpdmluZ01lc3NhZ2VzKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksIG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIudG9VSW50NjQo
KSk7CiAgICAgbV9zdHJlYW1Db25uZWN0aW9uLT5zdG9wUmVjZWl2aW5nTWVzc2FnZXMoTWVzc2Fn
ZXM6OlJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSk7Ci0g
ICAgZm9yIChhdXRvJiByZW1vdGVDb250ZXh0IDogc3RkOjpleGNoYW5nZShtX3JlbW90ZURpc3Bs
YXlMaXN0cywgeyB9KSkKLSAgICAgICAgcmVtb3RlQ29udGV4dC5zdG9wTGlzdGVuaW5nRm9ySVBD
KCk7CisKKyAgICB7CisgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3JlbW90ZURpc3BsYXlMaXN0
c0xvY2sgfTsKKyAgICAgICAgbV9jYW5SZWdpc3RlclJlbW90ZURpc3BsYXlMaXN0cyA9IGZhbHNl
OworICAgICAgICBmb3IgKGF1dG8mIHJlbW90ZUNvbnRleHQgOiBzdGQ6OmV4Y2hhbmdlKG1fcmVt
b3RlRGlzcGxheUxpc3RzLCB7IH0pKQorICAgICAgICAgICAgcmVtb3RlQ29udGV4dC52YWx1ZS0+
c3RvcExpc3RlbmluZ0ZvcklQQygpOworICAgIH0KKworICAgIC8vIE1ha2Ugc3VyZSB3ZSBkZXN0
cm95IHRoZSBSZXNvdXJjZUNhY2hlIG9uIHRoZSBXb3JrUXVldWUgc2luY2UgaXQgZ2V0cyBwb3B1
bGF0ZWQgb24gdGhlIFdvcmtRdWV1ZS4KKyAgICAvLyBNYWtlIHN1cmUgcmVuZGVyaW5nIHJlc291
cmNlIHJlcXVlc3QgaXMgcmVsZWFzZWQgYWZ0ZXIgZGVzdHJveWluZyB0aGUgY2FjaGUuCisgICAg
bV93b3JrUXVldWUtPmRpc3BhdGNoKFtyZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0ID0gV1RGTW92
ZShtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QpLCByZW1vdGVSZXNvdXJjZUNhY2hlID0gV1RG
TW92ZShtX3JlbW90ZVJlc291cmNlQ2FjaGUpXSB7IH0pOworICAgIG1fd29ya1F1ZXVlLT5zdG9w
QW5kV2FpdEZvckNvbXBsZXRpb24oKTsKIH0KIAogdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpkaXNwYXRjaChGdW5jdGlvbjx2b2lkKCk+JiYgdGFzaykKQEAgLTEzMiw3ICsxNDEsMTEgQEAg
dWludDY0X3QgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9u
SUQoKSBjb25zdAogCiB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZENyZWF0ZUltYWdl
QnVmZmVyQmFja2VuZChJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgaGFuZGxlLCBRdWFsaWZpZWRS
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBS
ZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyJiByZW1vdGVEaXNwbGF5TGlzdCkKIHsKLSAgICBtX3Jl
bW90ZURpc3BsYXlMaXN0cy5hZGQocmVtb3RlRGlzcGxheUxpc3QpOworICAgIHsKKyAgICAgICAg
TG9ja2VyIGxvY2tlciB7IG1fcmVtb3RlRGlzcGxheUxpc3RzTG9jayB9OworICAgICAgICBpZiAo
bV9jYW5SZWdpc3RlclJlbW90ZURpc3BsYXlMaXN0cykKKyAgICAgICAgICAgIG1fcmVtb3RlRGlz
cGxheUxpc3RzLmFkZChyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIsIHJlbW90ZURpc3BsYXlM
aXN0KTsKKyAgICB9CiAgICAgTUVTU0FHRV9DSEVDSyhyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIucHJvY2Vzc0lkZW50aWZpZXIoKSA9PSBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPndl
YlByb2Nlc3NJZGVudGlmaWVyKCksICJTZW5kaW5nIGRpZENyZWF0ZUltYWdlQnVmZmVyQmFja2Vu
ZCgpIG1lc3NhZ2UgdG8gdGhlIHdyb25nIHdlYiBwcm9jZXNzLiIpOwogICAgIHNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6RGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNr
ZW5kKFdURk1vdmUoaGFuZGxlKSwgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLm9iamVjdCgp
KSwgbV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcik7CiB9CkBAIC0zNjMsNiArMzc2LDkgQEAg
dm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpyZWxlYXNlUmVtb3RlUmVzb3VyY2VXaXRoUXVh
bGlmaWVkSWRlbnRpZmllcihRdWFsaWYKICAgICBhdXRvIHN1Y2Nlc3MgPSBtX3JlbW90ZVJlc291
cmNlQ2FjaGUucmVsZWFzZVJlbW90ZVJlc291cmNlKHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmll
ciwgdXNlQ291bnQpOwogICAgIE1FU1NBR0VfQ0hFQ0soc3VjY2VzcywgIlJlc291cmNlIGlzIGJl
aW5nIHJlbGVhc2VkIGJlZm9yZSBiZWluZyBjYWNoZWQuIik7CiAgICAgdXBkYXRlUmVuZGVyaW5n
UmVzb3VyY2VSZXF1ZXN0KCk7CisKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV9yZW1vdGVEaXNwbGF5
TGlzdHNMb2NrIH07CisgICAgbV9yZW1vdGVEaXNwbGF5TGlzdHMucmVtb3ZlKHJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllcik7CiB9CiAKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Zmlu
YWxpemVSZW5kZXJpbmdVcGRhdGUoUmVuZGVyaW5nVXBkYXRlSUQgcmVuZGVyaW5nVXBkYXRlSUQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90
ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCA5NWRmOGVhNTU1NmY5MjNjZjQxZjY3NmEzZWRjZGNl
YmY5NzAzZjBkLi4xOWZiMTdmMDI1ZmIyYzY1ZjFkZGUyNzJjMzBiYjBkZTk0NWNhZjlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTEzMyw3ICsxMzMsMTAgQEAgcHJpdmF0ZToKICAgICBJUEM6
OlNlbWFwaG9yZSBtX2dldFBpeGVsQnVmZmVyU2VtYXBob3JlOwogICAgIFJlZlB0cjxTaGFyZWRN
ZW1vcnk+IG1fZ2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnk7CiAgICAgU2NvcGVkUmVuZGVyaW5n
UmVzb3VyY2VzUmVxdWVzdCBtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3Q7Ci0gICAgV2Vha0hh
c2hTZXQ8UmVtb3RlRGlzcGxheUxpc3RSZWNvcmRlcj4gbV9yZW1vdGVEaXNwbGF5TGlzdHM7CisK
KyAgICBMb2NrIG1fcmVtb3RlRGlzcGxheUxpc3RzTG9jazsKKyAgICBib29sIG1fY2FuUmVnaXN0
ZXJSZW1vdGVEaXNwbGF5TGlzdHMgV1RGX0dVQVJERURfQllfTE9DSyhtX3JlbW90ZURpc3BsYXlM
aXN0c0xvY2spIHsgZmFsc2UgfTsKKyAgICBIYXNoTWFwPFF1YWxpZmllZFJlbmRlcmluZ1Jlc291
cmNlSWRlbnRpZmllciwgUmVmPFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXI+PiBtX3JlbW90ZURp
c3BsYXlMaXN0cyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fcmVtb3RlRGlzcGxheUxpc3RzTG9jayk7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>