<?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>236454</bug_id>
          
          <creation_ts>2022-02-10 10:46:12 -0800</creation_ts>
          <short_desc>Keep promise in scope when calling DeferredPromise::reject</short_desc>
          <delta_ts>2022-02-18 12:28:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gabriel Nava Marino">gnavamarino</reporter>
          <assigned_to name="Gabriel Nava Marino">gnavamarino</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1839797</commentid>
    <comment_count>0</comment_count>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-10 10:46:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/88327814&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839800</commentid>
    <comment_count>1</comment_count>
      <attachid>451567</attachid>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-10 10:47:52 -0800</bug_when>
    <thetext>Created attachment 451567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839806</commentid>
    <comment_count>2</comment_count>
      <attachid>451567</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-02-10 10:50:11 -0800</bug_when>
    <thetext>Comment on attachment 451567
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        could go through a path that invokes GC on its owner and it.

&apos;and it&apos; is probably missing a word.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839947</commentid>
    <comment_count>3</comment_count>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-10 14:23:48 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Comment on attachment 451567 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451567&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        could go through a path that invokes GC on its owner and it.
&gt; 
&gt; &apos;and it&apos; is probably missing a word.

Here, I am referring to the promise (i.e. &quot;Keep promise in scope as ... invokes GC on its owner and it.&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840413</commentid>
    <comment_count>4</comment_count>
      <attachid>451714</attachid>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-11 09:49:50 -0800</bug_when>
    <thetext>Created attachment 451714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840474</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-11 11:38:00 -0800</bug_when>
    <thetext>Committed r289640 (247145@main): &lt;https://commits.webkit.org/247145@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451714.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840475</commentid>
    <comment_count>6</comment_count>
      <attachid>451714</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-11 11:38:59 -0800</bug_when>
    <thetext>Comment on attachment 451714
Patch

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

&gt; Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp:135
&gt; +    Ref protectedThis(*this);

This is not the correct fix given our overall approach to reference counting. The burden of protecting &quot;this&quot; is on the caller, not the reject function. I suppose that consistently protecting the wrapped object in every DOM function might be prohibitive, but we chose that approach a while back, and I am worried about mixing approaches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841322</commentid>
    <comment_count>7</comment_count>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-14 10:58:02 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 451714 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451714&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/JSDOMPromiseDeferred.cpp:135
&gt; &gt; +    Ref protectedThis(*this);
&gt; 
&gt; This is not the correct fix given our overall approach to reference
&gt; counting. The burden of protecting &quot;this&quot; is on the caller, not the reject
&gt; function. I suppose that consistently protecting the wrapped object in every
&gt; DOM function might be prohibitive, but we chose that approach a while back,
&gt; and I am worried about mixing approaches.

Thank you for the context on the convention. I have updated the patch so that the caller protects the deferred promise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841323</commentid>
    <comment_count>8</comment_count>
      <attachid>451924</attachid>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-14 10:58:37 -0800</bug_when>
    <thetext>Created attachment 451924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841331</commentid>
    <comment_count>9</comment_count>
      <attachid>451924</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-14 11:18:20 -0800</bug_when>
    <thetext>Comment on attachment 451924
Patch

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

&gt; Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:274
&gt; +            Ref protectedPromise { promise };

Seems this doesn’t make sense. The &quot;promise&quot; captured is already protected, so this wouldn’t have any effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841338</commentid>
    <comment_count>10</comment_count>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-14 11:26:34 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 451924 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451924&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:274
&gt; &gt; +            Ref protectedPromise { promise };
&gt; 
&gt; Seems this doesn’t make sense. The &quot;promise&quot; captured is already protected,
&gt; so this wouldn’t have any effect.

The lambda owns the promise, but during execution, the lambda and its owner hierarchy (i.e. FetchBodyConsumer, FormDataConsumer, ...) are deallocated during garbage collection while calling DeferredPromise::reject.

This can be see in the backtrace attached to the radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841340</commentid>
    <comment_count>11</comment_count>
      <attachid>451924</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-14 11:30:35 -0800</bug_when>
    <thetext>Comment on attachment 451924
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:274
&gt;&gt;&gt; +            Ref protectedPromise { promise };
&gt;&gt; 
&gt;&gt; Seems this doesn’t make sense. The &quot;promise&quot; captured is already protected, so this wouldn’t have any effect.
&gt; 
&gt; The lambda owns the promise, but during execution, the lambda and its owner hierarchy (i.e. FetchBodyConsumer, FormDataConsumer, ...) are deallocated during garbage collection while calling DeferredPromise::reject.
&gt; 
&gt; This can be see in the backtrace attached to the radar.

Given this maybe we should have a local variable at the top of the entire function:

    [..., capturedPromise = WTFMove(promise), ...]

    auto promise = WTFMove(capturedPromise);

This might be a good idiom for situations like this, not just this one case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841409</commentid>
    <comment_count>12</comment_count>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-14 14:09:21 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #11)
&gt; Comment on attachment 451924 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451924&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:274
&gt; &gt;&gt;&gt; +            Ref protectedPromise { promise };
&gt; &gt;&gt; 
&gt; &gt;&gt; Seems this doesn’t make sense. The &quot;promise&quot; captured is already protected, so this wouldn’t have any effect.
&gt; &gt; 
&gt; &gt; The lambda owns the promise, but during execution, the lambda and its owner hierarchy (i.e. FetchBodyConsumer, FormDataConsumer, ...) are deallocated during garbage collection while calling DeferredPromise::reject.
&gt; &gt; 
&gt; &gt; This can be see in the backtrace attached to the radar.
&gt; 
&gt; Given this maybe we should have a local variable at the top of the entire
&gt; function:
&gt; 
&gt;     [..., capturedPromise = WTFMove(promise), ...]
&gt; 
&gt;     auto promise = WTFMove(capturedPromise);
&gt; 
&gt; This might be a good idiom for situations like this, not just this one case.

Thank you for the recommendation, I will update the patch and add this idiom to my notes to add in similar situations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841410</commentid>
    <comment_count>13</comment_count>
      <attachid>451943</attachid>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-14 14:10:20 -0800</bug_when>
    <thetext>Created attachment 451943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842467</commentid>
    <comment_count>14</comment_count>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-16 12:55:31 -0800</bug_when>
    <thetext>The updated patch is resulting in a crash that I am now investigating:

stderr:
ASSERTION FAILED: m_ptr
/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/usr/local/include/wtf/Ref.h(129) : T &amp;WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt;&gt;::leakRef() [T = WebCore::DeferredPromise, Traits = WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt;]
1   0x13db56258 WTFCrash
2   0x118b0a7b0 WebCore::JSDOMGlobalObject* JSC::jsCast&lt;WebCore::JSDOMGlobalObject*, JSC::JSGlobalObject&gt;(JSC::JSGlobalObject*)
3   0x11a3dfbe8 WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;::leakRef()
4   0x11a3dfb18 WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;::Ref(WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;)
5   0x118e01438 WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;::Ref(WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;)
6   0x11a672844 auto WebCore::FetchBodyConsumer::resolveWithFormData(WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;, WTF::String const&amp;, WebCore::FormData const&amp;, WebCore::ScriptExecutionContext*)::$_0::operator()&lt;WebCore::ExceptionOr&lt;WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt; &gt; &gt;(WebCore::ExceptionOr&lt;WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt; &gt;&amp;&amp;)
7   0x11a6726a8 WTF::Detail::CallableWrapper&lt;WebCore::FetchBodyConsumer::resolveWithFormData(WTF::Ref&lt;WebCore::DeferredPromise, WTF::RawPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;, WTF::String const&amp;, WebCore::FormData const&amp;, WebCore::ScriptExecutionContext*)::$_0, void, WebCore::ExceptionOr&lt;WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt; &gt; &gt;::call(WebCore::ExceptionOr&lt;WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt; &gt;)
8   0x11a66bd6c WTF::Function&lt;void (WebCore::ExceptionOr&lt;WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt; &gt;)&gt;::operator()(WebCore::ExceptionOr&lt;WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt; &gt;) const
9   0x11a66bf9c WebCore::FormDataConsumer::consume(WTF::Span&lt;unsigned char const, 18446744073709551615ul&gt;)
10  0x11a6960e4 auto WebCore::FormDataConsumer::consumeFile(WTF::String const&amp;)::$_24::operator()()::&apos;lambda&apos;(auto&amp;)::operator()&lt;WebCore::ScriptExecutionContext&gt;(auto&amp;) const
11  0x11a695b94 WTF::Detail::CallableWrapper&lt;WebCore::FormDataConsumer::consumeFile(WTF::String const&amp;)::$_24::operator()()::&apos;lambda&apos;(auto&amp;), void, WebCore::ScriptExecutionContext&amp;&gt;::call(WebCore::ScriptExecutionContext&amp;)
12  0x11aec45e0 WTF::Function&lt;void (WebCore::ScriptExecutionContext&amp;)&gt;::operator()(WebCore::ScriptExecutionContext&amp;) const
13  0x11aeae160 WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&amp;)
14  0x11de8dac8 WebCore::WorkerDedicatedRunLoop::Task::performTask(WebCore::WorkerOrWorkletGlobalScope*)
15  0x11de8cfd8 WebCore::WorkerDedicatedRunLoop::runInMode(WebCore::WorkerOrWorkletGlobalScope*, WebCore::ModePredicate const&amp;)
16  0x11de8cc44 WebCore::WorkerDedicatedRunLoop::run(WebCore::WorkerOrWorkletGlobalScope*)
17  0x11de569b0 WebCore::WorkerOrWorkletThread::runEventLoop()
18  0x11df289ac WebCore::ServiceWorkerThread::runEventLoop()
19  0x11de56d28 WebCore::WorkerOrWorkletThread::workerOrWorkletThread()
20  0x11deaca14 WebCore::WorkerThread::createThread()::$_4::operator()() const
21  0x11deac990 WTF::Detail::CallableWrapper&lt;WebCore::WorkerThread::createThread()::$_4, void&gt;::call()
22  0x13db81018 WTF::Function&lt;void ()&gt;::operator()() const
23  0x13dc5c1e8 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
24  0x13dc6a860 WTF::wtfThreadEntryPoint(void*)
25  0x19a2db878 _pthread_start
26  0x19a2d65e0 thread_start
LEAK: 1 WebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843088</commentid>
    <comment_count>15</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2022-02-17 13:13:40 -0800</bug_when>
    <thetext>(In reply to Gabriel Nava Marino from comment #14)
&gt; The updated patch is resulting in a crash that I am now investigating:

I chatted with Garbiel about this on slack.

This lambda is called more than once, so it&apos;s wrong to WTFMove the promise out unconditionally - It should only be moved out when it&apos;s needed for the call to reject()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843104</commentid>
    <comment_count>16</comment_count>
      <attachid>452425</attachid>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-17 13:32:44 -0800</bug_when>
    <thetext>Created attachment 452425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843497</commentid>
    <comment_count>17</comment_count>
      <attachid>452425</attachid>
    <who name="Gabriel Nava Marino">gnavamarino</who>
    <bug_when>2022-02-18 10:47:15 -0800</bug_when>
    <thetext>Comment on attachment 452425
Patch

Moving to cq? as I noticed the iOS-wk2 test that failed is also having issues in at least one unrelated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1843559</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-18 12:28:38 -0800</bug_when>
    <thetext>Committed r290152 (247491@main): &lt;https://commits.webkit.org/247491@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452425.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451567</attachid>
            <date>2022-02-10 10:47:52 -0800</date>
            <delta_ts>2022-02-11 09:49:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236454-20220210104751.patch</filename>
            <type>text/plain</type>
            <size>1780</size>
            <attacher name="Gabriel Nava Marino">gnavamarino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ2MzRiNWVmNjBjZjUx
NjI1ZTU5ZDQ4MmY3MDc1YjVkYmZiYzhmZi4uMmM1M2JmZWYyODE0YTUzOTkwNTUyZThhNWIyNDJi
NGQwY2NkZGE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTEwICBHYWJy
aWVsIE5hdmEgTWFyaW5vICA8Z25hdmFtYXJpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAg
cHJvbWlzZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQ1NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgcHJvbWlz
ZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QsIGFzIGNyZWF0
ZURPTUV4Y2VwdGlvbgorICAgICAgICBjb3VsZCBnbyB0aHJvdWdoIGEgcGF0aCB0aGF0IGludm9r
ZXMgR0Mgb24gaXRzIG93bmVyIGFuZCBpdC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9N
UHJvbWlzZURlZmVycmVkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVkUHJvbWlzZTo6
cmVqZWN0KToKKwogMjAyMi0wMi0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFdvcmtlciBzY3JpcHRzIHNob3VsZCBhbHdheXMgYmUgZGVjb2RlZCBhcyBVVEYt
OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVm
ZXJyZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJy
ZWQuY3BwCmluZGV4IDMzMGI2YTc2ZTk2MDllZDYxMjE3NGRmOWYxMWEzNjQ3Yzc2MmM3MmQuLjkw
MjBlYmVmNDdiZGYyZTBkOWY0M2Y2YWM1YzU3MTNjZjA5OTUyZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJlZC5jcHAKQEAgLTEzMiw2
ICsxMzIsNyBAQCB2b2lkIERlZmVycmVkUHJvbWlzZTo6cmVqZWN0KEV4Y2VwdGlvbiBleGNlcHRp
b24sIFJlamVjdEFzSGFuZGxlZCByZWplY3RBc0hhbmRsZQogICAgIGlmIChzaG91bGRJZ25vcmVS
ZXF1ZXN0VG9GdWxmaWxsKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIFJlZiBwcm90ZWN0ZWRU
aGlzKCp0aGlzKTsKICAgICBBU1NFUlQoZGVmZXJyZWQoKSk7CiAgICAgQVNTRVJUKG1fZ2xvYmFs
T2JqZWN0KTsKICAgICBhdXRvJiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gKm1fZ2xvYmFsT2JqZWN0
OwpAQCAtMTY2LDYgKzE2Nyw3IEBAIHZvaWQgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QoRXhjZXB0
aW9uQ29kZSBlYywgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBSZWplY3RBc0hhCiAgICAgaWYgKHNo
b3VsZElnbm9yZVJlcXVlc3RUb0Z1bGZpbGwoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgUmVm
IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogICAgIEFTU0VSVChkZWZlcnJlZCgpKTsKICAgICBBU1NF
UlQobV9nbG9iYWxPYmplY3QpOwogICAgIGF1dG8mIGxleGljYWxHbG9iYWxPYmplY3QgPSAqbV9n
bG9iYWxPYmplY3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451714</attachid>
            <date>2022-02-11 09:49:50 -0800</date>
            <delta_ts>2022-02-14 10:58:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236454-20220211094949.patch</filename>
            <type>text/plain</type>
            <size>1795</size>
            <attacher name="Gabriel Nava Marino">gnavamarino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjc5N2YwYWRiZDIxMGRh
ODdlMjM4ZjQxMjA4NTZkYTg0NGQwNDU5Mi4uNWVhZjE3OTRiZDQxYWY2NTM1YzU5OTMzZGQ5OTVm
Y2MzZmUwMWE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTExICBHYWJy
aWVsIE5hdmEgTWFyaW5vICA8Z25hdmFtYXJpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAg
cHJvbWlzZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQ1NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgcHJvbWlz
ZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QsIGFzIGNyZWF0
ZURPTUV4Y2VwdGlvbgorICAgICAgICBjb3VsZCBnbyB0aHJvdWdoIGEgcGF0aCB0aGF0IGludm9r
ZXMgR0Mgb24gaXRzIG93bmVyIGFuZCB0aGUgcHJvbWlzZS4KKworICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NUHJvbWlzZURlZmVycmVkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVk
UHJvbWlzZTo6cmVqZWN0KToKKwogMjAyMi0wMi0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCByZW1vdGUgdmlkZW8gZnJhbWVzIGluIFdlYlJU
QyB2aWRlbyBwaXBlbGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01Qcm9taXNlRGVmZXJyZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlRGVmZXJyZWQuY3BwCmluZGV4IDMzMGI2YTc2ZTk2MDllZDYxMjE3NGRmOWYxMWEz
NjQ3Yzc2MmM3MmQuLjkwMjBlYmVmNDdiZGYyZTBkOWY0M2Y2YWM1YzU3MTNjZjA5OTUyZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZURlZmVycmVk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJl
ZC5jcHAKQEAgLTEzMiw2ICsxMzIsNyBAQCB2b2lkIERlZmVycmVkUHJvbWlzZTo6cmVqZWN0KEV4
Y2VwdGlvbiBleGNlcHRpb24sIFJlamVjdEFzSGFuZGxlZCByZWplY3RBc0hhbmRsZQogICAgIGlm
IChzaG91bGRJZ25vcmVSZXF1ZXN0VG9GdWxmaWxsKCkpCiAgICAgICAgIHJldHVybjsKIAorICAg
IFJlZiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICBBU1NFUlQoZGVmZXJyZWQoKSk7CiAgICAg
QVNTRVJUKG1fZ2xvYmFsT2JqZWN0KTsKICAgICBhdXRvJiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0g
Km1fZ2xvYmFsT2JqZWN0OwpAQCAtMTY2LDYgKzE2Nyw3IEBAIHZvaWQgRGVmZXJyZWRQcm9taXNl
OjpyZWplY3QoRXhjZXB0aW9uQ29kZSBlYywgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBSZWplY3RB
c0hhCiAgICAgaWYgKHNob3VsZElnbm9yZVJlcXVlc3RUb0Z1bGZpbGwoKSkKICAgICAgICAgcmV0
dXJuOwogCisgICAgUmVmIHByb3RlY3RlZFRoaXMoKnRoaXMpOwogICAgIEFTU0VSVChkZWZlcnJl
ZCgpKTsKICAgICBBU1NFUlQobV9nbG9iYWxPYmplY3QpOwogICAgIGF1dG8mIGxleGljYWxHbG9i
YWxPYmplY3QgPSAqbV9nbG9iYWxPYmplY3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451924</attachid>
            <date>2022-02-14 10:58:37 -0800</date>
            <delta_ts>2022-02-14 14:10:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236454-20220214105836.patch</filename>
            <type>text/plain</type>
            <size>1722</size>
            <attacher name="Gabriel Nava Marino">gnavamarino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhlNzY1MzFlZjkzZWIw
YzlmMWIxNmM1MzUwOTlkMWUwNzUxNjU4Zi4uZjE5YjM2MWZkMWE1MThhNWMyYTEzNTkyZGUyY2Rj
OTgwYzFkYjRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTE0ICBHYWJy
aWVsIE5hdmEgTWFyaW5vICA8Z25hdmFtYXJpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAg
cHJvbWlzZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQ1NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgcHJvbWlz
ZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QsIGFzIGNyZWF0
ZURPTUV4Y2VwdGlvbgorICAgICAgICBjb3VsZCBnbyB0aHJvdWdoIGEgcGF0aCB0aGF0IGludm9r
ZXMgR0Mgb24gaXRzIG93bmVyIGFuZCB0aGUgcHJvbWlzZS4KKworICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5
Q29uc3VtZXI6OnJlc29sdmVXaXRoRm9ybURhdGEpOgorCiAyMDIyLTAyLTE0ICBGcsOpZMOpcmlj
IFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4gQ29t
cG9zaXRlRWRpdENvbW1hbmQ6OnNwbGl0VHJlZVRvTm9kZSB2aWEgSW5zZXJ0UGFyYWdyYXBoU2Vw
YXJhdG9yQ29tbWFuZDo6ZG9BcHBseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keUNvbnN1bWVyLmNwcAppbmRleCA3ODc1ZDdhMjFiNGE1Mzc0ZTk3NWNmZjg5
ODZhMDBkMWI2YTNjZmM5Li44Zjk1ZjdkNmE2YWZmNjU1ZTBhZjE5YmE0MGQ0NTBhMDk4MjkzZTc3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1
bWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1
bWVyLmNwcApAQCAtMjcxLDYgKzI3MSw3IEBAIHZvaWQgRmV0Y2hCb2R5Q29uc3VtZXI6OnJlc29s
dmVXaXRoRm9ybURhdGEoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBjb25zCiAKICAg
ICBtX2Zvcm1EYXRhQ29uc3VtZXIgPSBtYWtlVW5pcXVlPEZvcm1EYXRhQ29uc3VtZXI+KGZvcm1E
YXRhLCAqY29udGV4dCwgW3RoaXMsIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBjb250ZW50
VHlwZSwgYnVpbGRlciA9IFNoYXJlZEJ1ZmZlckJ1aWxkZXIgeyB9XShhdXRvJiYgcmVzdWx0KSBt
dXRhYmxlIHsKICAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICAg
ICAgUmVmIHByb3RlY3RlZFByb21pc2UgeyBwcm9taXNlIH07CiAgICAgICAgICAgICBwcm9taXNl
LT5yZWplY3QocmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKSk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451943</attachid>
            <date>2022-02-14 14:10:20 -0800</date>
            <delta_ts>2022-02-17 13:32:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236454-20220214141018.patch</filename>
            <type>text/plain</type>
            <size>1941</size>
            <attacher name="Gabriel Nava Marino">gnavamarino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhlNzY1MzFlZjkzZWIw
YzlmMWIxNmM1MzUwOTlkMWUwNzUxNjU4Zi4uZjE5YjM2MWZkMWE1MThhNWMyYTEzNTkyZGUyY2Rj
OTgwYzFkYjRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTE0ICBHYWJy
aWVsIE5hdmEgTWFyaW5vICA8Z25hdmFtYXJpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAg
cHJvbWlzZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQ1NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgcHJvbWlz
ZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QsIGFzIGNyZWF0
ZURPTUV4Y2VwdGlvbgorICAgICAgICBjb3VsZCBnbyB0aHJvdWdoIGEgcGF0aCB0aGF0IGludm9r
ZXMgR0Mgb24gaXRzIG93bmVyIGFuZCB0aGUgcHJvbWlzZS4KKworICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5
Q29uc3VtZXI6OnJlc29sdmVXaXRoRm9ybURhdGEpOgorCiAyMDIyLTAyLTE0ICBGcsOpZMOpcmlj
IFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4gQ29t
cG9zaXRlRWRpdENvbW1hbmQ6OnNwbGl0VHJlZVRvTm9kZSB2aWEgSW5zZXJ0UGFyYWdyYXBoU2Vw
YXJhdG9yQ29tbWFuZDo6ZG9BcHBseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keUNvbnN1bWVyLmNwcAppbmRleCA3ODc1ZDdhMjFiNGE1Mzc0ZTk3NWNmZjg5
ODZhMDBkMWI2YTNjZmM5Li5mYzhiMTAwMTFjMGUyYzM3NWZjMmM0NmI1MzliODY3MTIzMzE4NmU1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1
bWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1
bWVyLmNwcApAQCAtMjY5LDcgKzI2OSw4IEBAIHZvaWQgRmV0Y2hCb2R5Q29uc3VtZXI6OnJlc29s
dmVXaXRoRm9ybURhdGEoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBjb25zCiAgICAg
aWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Zvcm1EYXRhQ29uc3VtZXIg
PSBtYWtlVW5pcXVlPEZvcm1EYXRhQ29uc3VtZXI+KGZvcm1EYXRhLCAqY29udGV4dCwgW3RoaXMs
IHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpLCBjb250ZW50VHlwZSwgYnVpbGRlciA9IFNoYXJl
ZEJ1ZmZlckJ1aWxkZXIgeyB9XShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICBtX2Zvcm1E
YXRhQ29uc3VtZXIgPSBtYWtlVW5pcXVlPEZvcm1EYXRhQ29uc3VtZXI+KGZvcm1EYXRhLCAqY29u
dGV4dCwgW3RoaXMsIGNhcHR1cmVkUHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGNvbnRlbnRU
eXBlLCBidWlsZGVyID0gU2hhcmVkQnVmZmVyQnVpbGRlciB7IH1dKGF1dG8mJiByZXN1bHQpIG11
dGFibGUgeworICAgICAgICBhdXRvIHByb21pc2UgPSBXVEZNb3ZlKGNhcHR1cmVkUHJvbWlzZSk7
CiAgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAgICAgICAgICAgIHByb21p
c2UtPnJlamVjdChyZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpKTsKICAgICAgICAgICAgIHJldHVy
bjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452425</attachid>
            <date>2022-02-17 13:32:44 -0800</date>
            <delta_ts>2022-02-18 12:28:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236454-20220217133243.patch</filename>
            <type>text/plain</type>
            <size>2357</size>
            <attacher name="Gabriel Nava Marino">gnavamarino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5ODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZjZjkzZGY4ZjA3YTkz
OTBjN2IyMWRlYjZiNjVjOWIzMjBkNzM2My4uZTZlMmZkODI1MWJiMzdiNjEzNjdhZTUzY2EzZWQ2
MWJlMjhhMWY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTE3ICBHYWJy
aWVsIE5hdmEgTWFyaW5vICA8Z25hdmFtYXJpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEtlZXAg
cHJvbWlzZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQ1NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgcHJvbWlz
ZSBpbiBzY29wZSB3aGVuIGNhbGxpbmcgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QsIGFzIGNyZWF0
ZURPTUV4Y2VwdGlvbgorICAgICAgICBjb3VsZCBnbyB0aHJvdWdoIGEgcGF0aCB0aGF0IGludm9r
ZXMgR0Mgb24gaXRzIG93bmVyIGFuZCB0aGUgcHJvbWlzZS4KKworICAgICAgICAqIE1vZHVsZXMv
ZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5
Q29uc3VtZXI6OnJlc29sdmVXaXRoRm9ybURhdGEpOgorCiAyMDIyLTAyLTE1ICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGFkZGl0
aW9uYWwgUmV2ZWFsIG1ldGhvZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoQm9keUNvbnN1bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuY3BwCmluZGV4IDc4NzVkN2EyMWI0YTUzNzRlOTc1Y2ZmODk4
NmEwMGQxYjZhM2NmYzkuLjZjZGY1NjhlOTRjNjUxMjNjNTU3ODk2Mjk3NjMwZmRjMTk2NTI4MDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3Vt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3Vt
ZXIuY3BwCkBAIC0yNjksOCArMjY5LDkgQEAgdm9pZCBGZXRjaEJvZHlDb25zdW1lcjo6cmVzb2x2
ZVdpdGhGb3JtRGF0YShSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UsIGNvbnMKICAgICBp
ZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZm9ybURhdGFDb25zdW1lciA9
IG1ha2VVbmlxdWU8Rm9ybURhdGFDb25zdW1lcj4oZm9ybURhdGEsICpjb250ZXh0LCBbdGhpcywg
cHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSksIGNvbnRlbnRUeXBlLCBidWlsZGVyID0gU2hhcmVk
QnVmZmVyQnVpbGRlciB7IH1dKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgIG1fZm9ybURh
dGFDb25zdW1lciA9IG1ha2VVbmlxdWU8Rm9ybURhdGFDb25zdW1lcj4oZm9ybURhdGEsICpjb250
ZXh0LCBbdGhpcywgY2FwdHVyZWRQcm9taXNlID0gV1RGTW92ZShwcm9taXNlKSwgY29udGVudFR5
cGUsIGJ1aWxkZXIgPSBTaGFyZWRCdWZmZXJCdWlsZGVyIHsgfV0oYXV0byYmIHJlc3VsdCkgbXV0
YWJsZSB7CiAgICAgICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAg
IGF1dG8gcHJvbWlzZSA9IFdURk1vdmUoY2FwdHVyZWRQcm9taXNlKTsKICAgICAgICAgICAgIHBy
b21pc2UtPnJlamVjdChyZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQpAQCAtMjc4LDcgKzI3OSw3IEBAIHZvaWQgRmV0Y2hCb2R5Q29uc3Vt
ZXI6OnJlc29sdmVXaXRoRm9ybURhdGEoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlLCBj
b25zCiAgICAgICAgIGF1dG8mIHZhbHVlID0gcmVzdWx0LnJldHVyblZhbHVlKCk7CiAgICAgICAg
IGlmICh2YWx1ZS5lbXB0eSgpKSB7CiAgICAgICAgICAgICBhdXRvIGJ1ZmZlciA9IGJ1aWxkZXIu
dGFrZUFzQ29udGlndW91cygpOwotICAgICAgICAgICAgcmVzb2x2ZVdpdGhEYXRhKFdURk1vdmUo
cHJvbWlzZSksIGNvbnRlbnRUeXBlLCBidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkpOwor
ICAgICAgICAgICAgcmVzb2x2ZVdpdGhEYXRhKFdURk1vdmUoY2FwdHVyZWRQcm9taXNlKSwgY29u
dGVudFR5cGUsIGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>