<?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>172775</bug_id>
          
          <creation_ts>2017-05-31 13:58:15 -0700</creation_ts>
          <short_desc>Use dispatch queues for mach exceptions</short_desc>
          <delta_ts>2017-06-01 10:31:43 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>172785</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1314308</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-05-31 13:58:15 -0700</bug_when>
    <thetext>Use dispatch queues for mach exceptions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314314</commentid>
    <comment_count>1</comment_count>
      <attachid>311631</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-05-31 14:15:16 -0700</bug_when>
    <thetext>Created attachment 311631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314317</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-05-31 14:20:27 -0700</bug_when>
    <thetext>*** Bug 172003 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314319</commentid>
    <comment_count>3</comment_count>
      <attachid>311631</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-05-31 14:23:20 -0700</bug_when>
    <thetext>Comment on attachment 311631
Patch

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

&gt; Source/WTF/wtf/threads/Signals.cpp:84
&gt; +        // It&apos;s not clear that this needs to be the high priority queue but it should be rare and it might be
&gt; +        // handling exceptions from high priority threads. Anyway, our handlers should be very fast anyway so it&apos;s
&gt; +        // probably not the end of the world if we handle a low priority exception on a high priority queue.

I think it should be high priority because this is the mechanism for interrupting the main thread.  Otherwise, it may never interrupt the main thread if the main thread has a higher priority.

&gt; Source/WTF/wtf/threads/Signals.cpp:111
&gt; +            // We should never cancel our handler since it&apos;s a perminant thing.

typo: /perminant/permanent/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314320</commentid>
    <comment_count>4</comment_count>
      <attachid>311631</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-05-31 14:27:11 -0700</bug_when>
    <thetext>Comment on attachment 311631
Patch

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

&gt;&gt; Source/WTF/wtf/threads/Signals.cpp:84
&gt;&gt; +        // probably not the end of the world if we handle a low priority exception on a high priority queue.
&gt; 
&gt; I think it should be high priority because this is the mechanism for interrupting the main thread.  Otherwise, it may never interrupt the main thread if the main thread has a higher priority.

I&apos;m assuming you&apos;re talking about the thread messaging API. We don&apos;t interrupt the main thread with mach exceptions. We use mach_thread_suspend/resume.

&gt;&gt; Source/WTF/wtf/threads/Signals.cpp:111
&gt;&gt; +            // We should never cancel our handler since it&apos;s a perminant thing.
&gt; 
&gt; typo: /perminant/permanent/

fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314325</commentid>
    <comment_count>5</comment_count>
      <attachid>311634</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-05-31 14:31:56 -0700</bug_when>
    <thetext>Created attachment 311634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314345</commentid>
    <comment_count>6</comment_count>
      <attachid>311634</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-05-31 14:44:34 -0700</bug_when>
    <thetext>Comment on attachment 311634
Patch

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

r=me

&gt; Source/WTF/wtf/threads/Signals.cpp:87
&gt; +        RELEASE_ASSERT_WITH_MESSAGE(source, &quot;We need to ensure our source was created&quot;);

dispatch_source_create doesn&apos;t use null as an error condition return value. So you should remove this assert.

&gt; Source/WTF/wtf/threads/Signals.cpp:89
&gt; +        dispatch_source_set_event_handler(source, ^{

You need to keep a pointer to your dispatch_source_t or it will appear to the leaks tool that it has leaked. I&apos;d suggest capturing a pointer in your block:

static dispatch_source_t s_source = source;

It might also work just to do this:

UNUSED_PARAM(source);

&gt; Source/WTF/wtf/threads/Signals.cpp:113
&gt; +        dispatch_source_set_cancel_handler(source, ^{
&gt; +            // We should never cancel our handler since it&apos;s a permanent thing.
&gt; +            RELEASE_ASSERT_NOT_REACHED();
&gt; +        });

No need for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314351</commentid>
    <comment_count>7</comment_count>
      <attachid>311640</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-05-31 14:53:04 -0700</bug_when>
    <thetext>Created attachment 311640
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314353</commentid>
    <comment_count>8</comment_count>
      <attachid>311634</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-05-31 14:54:51 -0700</bug_when>
    <thetext>Comment on attachment 311634
Patch

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

&gt;&gt; Source/WTF/wtf/threads/Signals.cpp:87
&gt;&gt; +        RELEASE_ASSERT_WITH_MESSAGE(source, &quot;We need to ensure our source was created&quot;);
&gt; 
&gt; dispatch_source_create doesn&apos;t use null as an error condition return value. So you should remove this assert.

https://developer.apple.com/reference/dispatch/1385630-dispatch_source_create seems to disagree with you:

Return Value
A new dispatch source object or NULL if the dispatch source could not be created.

&gt;&gt; Source/WTF/wtf/threads/Signals.cpp:89
&gt;&gt; +        dispatch_source_set_event_handler(source, ^{
&gt; 
&gt; You need to keep a pointer to your dispatch_source_t or it will appear to the leaks tool that it has leaked. I&apos;d suggest capturing a pointer in your block:
&gt; 
&gt; static dispatch_source_t s_source = source;
&gt; 
&gt; It might also work just to do this:
&gt; 
&gt; UNUSED_PARAM(source);

I&apos;ll try &quot;UNUSED_PARAM(source);&quot;

&gt;&gt; Source/WTF/wtf/threads/Signals.cpp:113
&gt;&gt; +        });
&gt; 
&gt; No need for this.

OK, I removed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314377</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-31 15:44:43 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 311640:

workers/wasm-hashset-many.html bug 172781 (author: sbarati@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314380</commentid>
    <comment_count>10</comment_count>
      <attachid>311640</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-31 15:45:11 -0700</bug_when>
    <thetext>Comment on attachment 311640
Patch for landing

Clearing flags on attachment: 311640

Committed r217631: &lt;http://trac.webkit.org/changeset/217631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314381</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-31 15:45:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314414</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-31 16:22:05 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 172785</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314684</commentid>
    <comment_count>13</comment_count>
      <attachid>311717</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-06-01 10:22:17 -0700</bug_when>
    <thetext>Created attachment 311717
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314692</commentid>
    <comment_count>14</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-06-01 10:29:18 -0700</bug_when>
    <thetext>I think I figured out the issue. I think it was that we were calling set_state, while inside CFRunLoop which made things sad...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314693</commentid>
    <comment_count>15</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-06-01 10:29:49 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #14)
&gt; I think I figured out the issue. I think it was that we were calling
&gt; set_state, while inside CFRunLoop which made things sad...

I just removed the set-state code since that was not used anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314697</commentid>
    <comment_count>16</comment_count>
      <attachid>311717</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-01 10:31:43 -0700</bug_when>
    <thetext>Comment on attachment 311717
Patch for landing

Rejecting attachment 311717 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 311717, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
 with fuzz 3.
patching file Source/WTF/wtf/ThreadMessage.cpp
Hunk #1 FAILED at 169.
1 out of 1 hunk FAILED -- saving rejects to file Source/WTF/wtf/ThreadMessage.cpp.rej
patching file Source/WTF/wtf/threads/Signals.cpp
Hunk #1 FAILED at 39.
Hunk #2 FAILED at 73.
Hunk #3 FAILED at 194.
3 out of 3 hunks FAILED -- saving rejects to file Source/WTF/wtf/threads/Signals.cpp.rej

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/3854480</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311631</attachid>
            <date>2017-05-31 14:15:16 -0700</date>
            <delta_ts>2017-05-31 14:31:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172775-20170531141516.patch</filename>
            <type>text/plain</type>
            <size>5168</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3MTJkYzBhMDlkYTE0MDQyZDc5NTZl
MWE1NTRlMjBjYTQ3YzMxMmIuLjY1MDliMTUxN2RjZDEyOTIwY2RmYTg1MDQ4ZmU0NDczZWFiYTQy
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CiAKKyAgICAgICAgVXNlIGRpc3BhdGNoIHF1ZXVlcyBmb3IgbWFj
aCBleGNlcHRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzI3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdXNpbmcgYSBkaXNwYXRjaCBxdWV1ZSB0
byBoYW5kbGUgb3VyCisgICAgICAgIG1hY2ggZXhjZXB0aW9ucy4gV2UgdXNlIGEgaGlnaCBwcmlv
cml0eSBjb25jdXJyZW50IGRpc3BhdGNoIHF1ZXVlCisgICAgICAgIHRvIGhhbmRsZSBvdXIgbWFj
aCBleGNlcHRpb25zLiBXZSBkb24ndCBrbm93IHRoZSBwcmlvcml0eSBvZiB0aGUKKyAgICAgICAg
dGhyZWFkIHdob3NlIGV4Y2VwdGlvbiB3ZSBhcmUgaGFuZGxpbmcgc28gdGhlIG1vc3QgY29uc2Vy
dmF0aXZlCisgICAgICAgIGFuc3dlciBpcyB0byByZXNwb25kIHdpdGggYSBoaWdoIHByaW9yaXR5
LiBUaGVzZSBldmVudHMgYXJlIGJvdGgKKyAgICAgICAgcmFyZSBhbmQgdXN1YWxseSBxdWl0ZSBm
YXN0IHNvIGl0IGlzIGxpa2VseSBub3QgYSBzaWduaWZpY2FudCBjb3N0CisgICAgICAgIHdoZW4g
dGhlIHRocmVhZCB3aXRoIGFuIGV4Y2VwdGlvbiBoYXMgYSBsb3cgcHJpb3JpdHkuCisKKyAgICAg
ICAgKiB3dGYvdGhyZWFkcy9TaWduYWxzLmNwcDoKKyAgICAgICAgKFdURjo6c3RhcnRNYWNoRXhj
ZXB0aW9uSGFuZGxlclRocmVhZCk6CisKKzIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CisKICAgICAgICAgUmVsYW5kIHIyMTY4MDgsIHVuZGVybHlpbmcg
bGxkYiBidWcgaGFzIGJlZW4gZml4ZWQuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI3NTkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGhy
ZWFkcy9TaWduYWxzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5jcHAKaW5k
ZXggNzA3Y2E5YzJkMzJhNzY4MGEzOTgzYTgyZWNmMGI3ZDZiZmVlZWVjYS4uY2Y3YTg2NDdjMzIy
OGZkNzk3YTBmNDNiYWNlNjE2NTU1Y2Y1YmNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGhyZWFkcy9TaWduYWxzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMu
Y3BwCkBAIC0zOSw2ICszOSw3IEBAIGV4dGVybiAiQyIgewogI2luY2x1ZGUgPHNpZ25hbC5oPgog
CiAjaWYgSEFWRShNQUNIX0VYQ0VQVElPTlMpCisjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2gu
aD4KICNpbmNsdWRlIDxtYWNoL21hY2guaD4KICNpbmNsdWRlIDxtYWNoL3RocmVhZF9hY3QuaD4K
ICNlbmRpZgpAQCAtNzgsMzEgKzc5LDQwIEBAIHN0YXRpYyB2b2lkIHN0YXJ0TWFjaEV4Y2VwdGlv
bkhhbmRsZXJUaHJlYWQoKQogICAgICAgICBpZiAobWFjaF9wb3J0X2luc2VydF9yaWdodChtYWNo
X3Rhc2tfc2VsZigpLCBleGNlcHRpb25Qb3J0LCBleGNlcHRpb25Qb3J0LCBNQUNIX01TR19UWVBF
X01BS0VfU0VORCkgIT0gS0VSTl9TVUNDRVNTKQogICAgICAgICAgICAgQ1JBU0goKTsKIAotICAg
ICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIGEgZGlzcGF0Y2ggcXVldWUuCi0gICAgICAg
IC8vIFNlZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjAwMwot
ICAgICAgICAodm9pZClUaHJlYWQ6OmNyZWF0ZSgKLSAgICAgICAgICAgICJXVEYgTWFjaCBFeGNl
cHRpb24gVGhyZWFkIiwgW10gKCkgewotICAgICAgICAgICAgICAgIHVuaW9uIE1lc3NhZ2Ugewot
ICAgICAgICAgICAgICAgICAgICBtYWNoX21zZ19oZWFkZXJfdCBoZWFkZXI7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoYXIgZGF0YVttYXhNZXNzYWdlU2l6ZV07Ci0gICAgICAgICAgICAgICAgfTsK
LSAgICAgICAgICAgICAgICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJJbjsKLSAgICAgICAgICAgICAg
ICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJPdXQ7Ci0KLSAgICAgICAgICAgICAgICB3aGlsZSAodHJ1
ZSkgewotICAgICAgICAgICAgICAgICAgICBrZXJuX3JldHVybl90IG1lc3NhZ2VSZXN1bHQgPSBt
YWNoX21zZygmbWVzc2FnZUhlYWRlckluLmhlYWRlciwgTUFDSF9SQ1ZfTVNHLCAwLCBtYXhNZXNz
YWdlU2l6ZSwgZXhjZXB0aW9uUG9ydCwgTUFDSF9NU0dfVElNRU9VVF9OT05FLCBNQUNIX1BPUlRf
TlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlUmVzdWx0ID09IEtFUk5fU1VD
Q0VTUykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYWNoX2V4Y19zZXJ2ZXIoJm1l
c3NhZ2VIZWFkZXJJbi5oZWFkZXIsICZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlcikpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQ1JBU0goKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAg
bWVzc2FnZVJlc3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlciwgTUFDSF9T
RU5EX01TRywgbWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9zaXplLCAwLCBtZXNzYWdlSGVh
ZGVyT3V0LmhlYWRlci5tc2doX2xvY2FsX3BvcnQsIDAsIE1BQ0hfUE9SVF9OVUxMKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1lc3NhZ2VSZXN1bHQgPT0gS0VSTl9T
VUNDRVNTKTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGRhdGFMb2dMbigiRmFpbGVkIHRvIHJlY2VpdmUgbWFjaCBtZXNzYWdlIGR1ZSB0byAi
LCBtYWNoX2Vycm9yX3N0cmluZyhtZXNzYWdlUmVzdWx0KSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICB9KS5sZWFrUmVmKCk7CisgICAgICAgIC8vIEl0
J3Mgbm90IGNsZWFyIHRoYXQgdGhpcyBuZWVkcyB0byBiZSB0aGUgaGlnaCBwcmlvcml0eSBxdWV1
ZSBidXQgaXQgc2hvdWxkIGJlIHJhcmUgYW5kIGl0IG1pZ2h0IGJlCisgICAgICAgIC8vIGhhbmRs
aW5nIGV4Y2VwdGlvbnMgZnJvbSBoaWdoIHByaW9yaXR5IHRocmVhZHMuIEFueXdheSwgb3VyIGhh
bmRsZXJzIHNob3VsZCBiZSB2ZXJ5IGZhc3QgYW55d2F5IHNvIGl0J3MKKyAgICAgICAgLy8gcHJv
YmFibHkgbm90IHRoZSBlbmQgb2YgdGhlIHdvcmxkIGlmIHdlIGhhbmRsZSBhIGxvdyBwcmlvcml0
eSBleGNlcHRpb24gb24gYSBoaWdoIHByaW9yaXR5IHF1ZXVlLgorICAgICAgICBkaXNwYXRjaF9x
dWV1ZV90IHF1ZXVlID0gZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9Q
UklPUklUWV9ISUdILCAwKTsKKyAgICAgICAgZGlzcGF0Y2hfc291cmNlX3Qgc291cmNlID0gZGlz
cGF0Y2hfc291cmNlX2NyZWF0ZShESVNQQVRDSF9TT1VSQ0VfVFlQRV9NQUNIX1JFQ1YsIGV4Y2Vw
dGlvblBvcnQsIDAsIHF1ZXVlKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNTQUdF
KHNvdXJjZSwgIldlIG5lZWQgdG8gZW5zdXJlIG91ciBzb3VyY2Ugd2FzIGNyZWF0ZWQiKTsKKwor
ICAgICAgICBkaXNwYXRjaF9zb3VyY2Vfc2V0X2V2ZW50X2hhbmRsZXIoc291cmNlLCBeeworICAg
ICAgICAgICAgdW5pb24gTWVzc2FnZSB7CisgICAgICAgICAgICAgICAgbWFjaF9tc2dfaGVhZGVy
X3QgaGVhZGVyOworICAgICAgICAgICAgICAgIGNoYXIgZGF0YVttYXhNZXNzYWdlU2l6ZV07Cisg
ICAgICAgICAgICB9OworICAgICAgICAgICAgTWVzc2FnZSBtZXNzYWdlSGVhZGVySW47CisgICAg
ICAgICAgICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJPdXQ7CisKKyAgICAgICAgICAgIGtlcm5fcmV0
dXJuX3QgbWVzc2FnZVJlc3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVySW4uaGVhZGVyLCBN
QUNIX1JDVl9NU0csIDAsIG1heE1lc3NhZ2VTaXplLCBleGNlcHRpb25Qb3J0LCBNQUNIX01TR19U
SU1FT1VUX05PTkUsIE1BQ0hfUE9SVF9OVUxMKTsKKyAgICAgICAgICAgIGlmIChtZXNzYWdlUmVz
dWx0ID09IEtFUk5fU1VDQ0VTUykgeworICAgICAgICAgICAgICAgIGlmICghbWFjaF9leGNfc2Vy
dmVyKCZtZXNzYWdlSGVhZGVySW4uaGVhZGVyLCAmbWVzc2FnZUhlYWRlck91dC5oZWFkZXIpKQor
ICAgICAgICAgICAgICAgICAgICBDUkFTSCgpOworCisgICAgICAgICAgICAgICAgbWVzc2FnZVJl
c3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlciwgTUFDSF9TRU5EX01TRywg
bWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9zaXplLCAwLCBtZXNzYWdlSGVhZGVyT3V0Lmhl
YWRlci5tc2doX2xvY2FsX3BvcnQsIDAsIE1BQ0hfUE9SVF9OVUxMKTsKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChtZXNzYWdlUmVzdWx0ID09IEtFUk5fU1VDQ0VTUyk7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGRhdGFMb2dMbigiRmFpbGVkIHRvIHJlY2Vp
dmUgbWFjaCBtZXNzYWdlIGR1ZSB0byAiLCBtYWNoX2Vycm9yX3N0cmluZyhtZXNzYWdlUmVzdWx0
KSk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfSk7CisKKyAgICAgICAgZGlzcGF0Y2hfc291cmNlX3NldF9jYW5j
ZWxfaGFuZGxlcihzb3VyY2UsIF57CisgICAgICAgICAgICAvLyBXZSBzaG91bGQgbmV2ZXIgY2Fu
Y2VsIG91ciBoYW5kbGVyIHNpbmNlIGl0J3MgYSBwZXJtaW5hbnQgdGhpbmcuCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9KTsKKworICAgICAgICBk
aXNwYXRjaF9yZXN1bWUoc291cmNlKTsKICAgICB9KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311634</attachid>
            <date>2017-05-31 14:31:56 -0700</date>
            <delta_ts>2017-05-31 14:53:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172775-20170531143155.patch</filename>
            <type>text/plain</type>
            <size>5168</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3MTJkYzBhMDlkYTE0MDQyZDc5NTZl
MWE1NTRlMjBjYTQ3YzMxMmIuLjY1MDliMTUxN2RjZDEyOTIwY2RmYTg1MDQ4ZmU0NDczZWFiYTQy
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CiAKKyAgICAgICAgVXNlIGRpc3BhdGNoIHF1ZXVlcyBmb3IgbWFj
aCBleGNlcHRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzI3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdXNpbmcgYSBkaXNwYXRjaCBxdWV1ZSB0
byBoYW5kbGUgb3VyCisgICAgICAgIG1hY2ggZXhjZXB0aW9ucy4gV2UgdXNlIGEgaGlnaCBwcmlv
cml0eSBjb25jdXJyZW50IGRpc3BhdGNoIHF1ZXVlCisgICAgICAgIHRvIGhhbmRsZSBvdXIgbWFj
aCBleGNlcHRpb25zLiBXZSBkb24ndCBrbm93IHRoZSBwcmlvcml0eSBvZiB0aGUKKyAgICAgICAg
dGhyZWFkIHdob3NlIGV4Y2VwdGlvbiB3ZSBhcmUgaGFuZGxpbmcgc28gdGhlIG1vc3QgY29uc2Vy
dmF0aXZlCisgICAgICAgIGFuc3dlciBpcyB0byByZXNwb25kIHdpdGggYSBoaWdoIHByaW9yaXR5
LiBUaGVzZSBldmVudHMgYXJlIGJvdGgKKyAgICAgICAgcmFyZSBhbmQgdXN1YWxseSBxdWl0ZSBm
YXN0IHNvIGl0IGlzIGxpa2VseSBub3QgYSBzaWduaWZpY2FudCBjb3N0CisgICAgICAgIHdoZW4g
dGhlIHRocmVhZCB3aXRoIGFuIGV4Y2VwdGlvbiBoYXMgYSBsb3cgcHJpb3JpdHkuCisKKyAgICAg
ICAgKiB3dGYvdGhyZWFkcy9TaWduYWxzLmNwcDoKKyAgICAgICAgKFdURjo6c3RhcnRNYWNoRXhj
ZXB0aW9uSGFuZGxlclRocmVhZCk6CisKKzIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CisKICAgICAgICAgUmVsYW5kIHIyMTY4MDgsIHVuZGVybHlpbmcg
bGxkYiBidWcgaGFzIGJlZW4gZml4ZWQuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI3NTkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGhy
ZWFkcy9TaWduYWxzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5jcHAKaW5k
ZXggNzA3Y2E5YzJkMzJhNzY4MGEzOTgzYTgyZWNmMGI3ZDZiZmVlZWVjYS4uYWE3NzAyZjc1Yzc5
MGYwZWJkZmRmYmZiYWE3OTQzNWYzNmJiNmZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGhyZWFkcy9TaWduYWxzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMu
Y3BwCkBAIC0zOSw2ICszOSw3IEBAIGV4dGVybiAiQyIgewogI2luY2x1ZGUgPHNpZ25hbC5oPgog
CiAjaWYgSEFWRShNQUNIX0VYQ0VQVElPTlMpCisjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2gu
aD4KICNpbmNsdWRlIDxtYWNoL21hY2guaD4KICNpbmNsdWRlIDxtYWNoL3RocmVhZF9hY3QuaD4K
ICNlbmRpZgpAQCAtNzgsMzEgKzc5LDQwIEBAIHN0YXRpYyB2b2lkIHN0YXJ0TWFjaEV4Y2VwdGlv
bkhhbmRsZXJUaHJlYWQoKQogICAgICAgICBpZiAobWFjaF9wb3J0X2luc2VydF9yaWdodChtYWNo
X3Rhc2tfc2VsZigpLCBleGNlcHRpb25Qb3J0LCBleGNlcHRpb25Qb3J0LCBNQUNIX01TR19UWVBF
X01BS0VfU0VORCkgIT0gS0VSTl9TVUNDRVNTKQogICAgICAgICAgICAgQ1JBU0goKTsKIAotICAg
ICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIGEgZGlzcGF0Y2ggcXVldWUuCi0gICAgICAg
IC8vIFNlZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjAwMwot
ICAgICAgICAodm9pZClUaHJlYWQ6OmNyZWF0ZSgKLSAgICAgICAgICAgICJXVEYgTWFjaCBFeGNl
cHRpb24gVGhyZWFkIiwgW10gKCkgewotICAgICAgICAgICAgICAgIHVuaW9uIE1lc3NhZ2Ugewot
ICAgICAgICAgICAgICAgICAgICBtYWNoX21zZ19oZWFkZXJfdCBoZWFkZXI7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoYXIgZGF0YVttYXhNZXNzYWdlU2l6ZV07Ci0gICAgICAgICAgICAgICAgfTsK
LSAgICAgICAgICAgICAgICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJJbjsKLSAgICAgICAgICAgICAg
ICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJPdXQ7Ci0KLSAgICAgICAgICAgICAgICB3aGlsZSAodHJ1
ZSkgewotICAgICAgICAgICAgICAgICAgICBrZXJuX3JldHVybl90IG1lc3NhZ2VSZXN1bHQgPSBt
YWNoX21zZygmbWVzc2FnZUhlYWRlckluLmhlYWRlciwgTUFDSF9SQ1ZfTVNHLCAwLCBtYXhNZXNz
YWdlU2l6ZSwgZXhjZXB0aW9uUG9ydCwgTUFDSF9NU0dfVElNRU9VVF9OT05FLCBNQUNIX1BPUlRf
TlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlUmVzdWx0ID09IEtFUk5fU1VD
Q0VTUykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYWNoX2V4Y19zZXJ2ZXIoJm1l
c3NhZ2VIZWFkZXJJbi5oZWFkZXIsICZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlcikpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQ1JBU0goKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAg
bWVzc2FnZVJlc3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlciwgTUFDSF9T
RU5EX01TRywgbWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9zaXplLCAwLCBtZXNzYWdlSGVh
ZGVyT3V0LmhlYWRlci5tc2doX2xvY2FsX3BvcnQsIDAsIE1BQ0hfUE9SVF9OVUxMKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1lc3NhZ2VSZXN1bHQgPT0gS0VSTl9T
VUNDRVNTKTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGRhdGFMb2dMbigiRmFpbGVkIHRvIHJlY2VpdmUgbWFjaCBtZXNzYWdlIGR1ZSB0byAi
LCBtYWNoX2Vycm9yX3N0cmluZyhtZXNzYWdlUmVzdWx0KSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICB9KS5sZWFrUmVmKCk7CisgICAgICAgIC8vIEl0
J3Mgbm90IGNsZWFyIHRoYXQgdGhpcyBuZWVkcyB0byBiZSB0aGUgaGlnaCBwcmlvcml0eSBxdWV1
ZSBidXQgaXQgc2hvdWxkIGJlIHJhcmUgYW5kIGl0IG1pZ2h0IGJlCisgICAgICAgIC8vIGhhbmRs
aW5nIGV4Y2VwdGlvbnMgZnJvbSBoaWdoIHByaW9yaXR5IHRocmVhZHMuIEFueXdheSwgb3VyIGhh
bmRsZXJzIHNob3VsZCBiZSB2ZXJ5IGZhc3QgYW55d2F5IHNvIGl0J3MKKyAgICAgICAgLy8gcHJv
YmFibHkgbm90IHRoZSBlbmQgb2YgdGhlIHdvcmxkIGlmIHdlIGhhbmRsZSBhIGxvdyBwcmlvcml0
eSBleGNlcHRpb24gb24gYSBoaWdoIHByaW9yaXR5IHF1ZXVlLgorICAgICAgICBkaXNwYXRjaF9x
dWV1ZV90IHF1ZXVlID0gZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9Q
UklPUklUWV9ISUdILCAwKTsKKyAgICAgICAgZGlzcGF0Y2hfc291cmNlX3Qgc291cmNlID0gZGlz
cGF0Y2hfc291cmNlX2NyZWF0ZShESVNQQVRDSF9TT1VSQ0VfVFlQRV9NQUNIX1JFQ1YsIGV4Y2Vw
dGlvblBvcnQsIDAsIHF1ZXVlKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNTQUdF
KHNvdXJjZSwgIldlIG5lZWQgdG8gZW5zdXJlIG91ciBzb3VyY2Ugd2FzIGNyZWF0ZWQiKTsKKwor
ICAgICAgICBkaXNwYXRjaF9zb3VyY2Vfc2V0X2V2ZW50X2hhbmRsZXIoc291cmNlLCBeeworICAg
ICAgICAgICAgdW5pb24gTWVzc2FnZSB7CisgICAgICAgICAgICAgICAgbWFjaF9tc2dfaGVhZGVy
X3QgaGVhZGVyOworICAgICAgICAgICAgICAgIGNoYXIgZGF0YVttYXhNZXNzYWdlU2l6ZV07Cisg
ICAgICAgICAgICB9OworICAgICAgICAgICAgTWVzc2FnZSBtZXNzYWdlSGVhZGVySW47CisgICAg
ICAgICAgICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJPdXQ7CisKKyAgICAgICAgICAgIGtlcm5fcmV0
dXJuX3QgbWVzc2FnZVJlc3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVySW4uaGVhZGVyLCBN
QUNIX1JDVl9NU0csIDAsIG1heE1lc3NhZ2VTaXplLCBleGNlcHRpb25Qb3J0LCBNQUNIX01TR19U
SU1FT1VUX05PTkUsIE1BQ0hfUE9SVF9OVUxMKTsKKyAgICAgICAgICAgIGlmIChtZXNzYWdlUmVz
dWx0ID09IEtFUk5fU1VDQ0VTUykgeworICAgICAgICAgICAgICAgIGlmICghbWFjaF9leGNfc2Vy
dmVyKCZtZXNzYWdlSGVhZGVySW4uaGVhZGVyLCAmbWVzc2FnZUhlYWRlck91dC5oZWFkZXIpKQor
ICAgICAgICAgICAgICAgICAgICBDUkFTSCgpOworCisgICAgICAgICAgICAgICAgbWVzc2FnZVJl
c3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlciwgTUFDSF9TRU5EX01TRywg
bWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9zaXplLCAwLCBtZXNzYWdlSGVhZGVyT3V0Lmhl
YWRlci5tc2doX2xvY2FsX3BvcnQsIDAsIE1BQ0hfUE9SVF9OVUxMKTsKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChtZXNzYWdlUmVzdWx0ID09IEtFUk5fU1VDQ0VTUyk7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGRhdGFMb2dMbigiRmFpbGVkIHRvIHJlY2Vp
dmUgbWFjaCBtZXNzYWdlIGR1ZSB0byAiLCBtYWNoX2Vycm9yX3N0cmluZyhtZXNzYWdlUmVzdWx0
KSk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfSk7CisKKyAgICAgICAgZGlzcGF0Y2hfc291cmNlX3NldF9jYW5j
ZWxfaGFuZGxlcihzb3VyY2UsIF57CisgICAgICAgICAgICAvLyBXZSBzaG91bGQgbmV2ZXIgY2Fu
Y2VsIG91ciBoYW5kbGVyIHNpbmNlIGl0J3MgYSBwZXJtYW5lbnQgdGhpbmcuCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9KTsKKworICAgICAgICBk
aXNwYXRjaF9yZXN1bWUoc291cmNlKTsKICAgICB9KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311640</attachid>
            <date>2017-05-31 14:53:04 -0700</date>
            <delta_ts>2017-06-01 10:22:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-172775-20170531145303.patch</filename>
            <type>text/plain</type>
            <size>5211</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3MTJkYzBhMDlkYTE0MDQyZDc5NTZl
MWE1NTRlMjBjYTQ3YzMxMmIuLjdhYmU2NGQ5YTI1YjZkODZhNWFiMDgzNGY1MDU0YmFkYmZkYThm
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CiAKKyAgICAgICAgVXNlIGRpc3BhdGNoIHF1ZXVlcyBmb3IgbWFj
aCBleGNlcHRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzI3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdXNpbmcgYSBkaXNwYXRjaCBxdWV1ZSB0
byBoYW5kbGUgb3VyCisgICAgICAgIG1hY2ggZXhjZXB0aW9ucy4gV2UgdXNlIGEgaGlnaCBwcmlv
cml0eSBjb25jdXJyZW50IGRpc3BhdGNoIHF1ZXVlCisgICAgICAgIHRvIGhhbmRsZSBvdXIgbWFj
aCBleGNlcHRpb25zLiBXZSBkb24ndCBrbm93IHRoZSBwcmlvcml0eSBvZiB0aGUKKyAgICAgICAg
dGhyZWFkIHdob3NlIGV4Y2VwdGlvbiB3ZSBhcmUgaGFuZGxpbmcgc28gdGhlIG1vc3QgY29uc2Vy
dmF0aXZlCisgICAgICAgIGFuc3dlciBpcyB0byByZXNwb25kIHdpdGggYSBoaWdoIHByaW9yaXR5
LiBUaGVzZSBldmVudHMgYXJlIGJvdGgKKyAgICAgICAgcmFyZSBhbmQgdXN1YWxseSBxdWl0ZSBm
YXN0IHNvIGl0IGlzIGxpa2VseSBub3QgYSBzaWduaWZpY2FudCBjb3N0CisgICAgICAgIHdoZW4g
dGhlIHRocmVhZCB3aXRoIGFuIGV4Y2VwdGlvbiBoYXMgYSBsb3cgcHJpb3JpdHkuCisKKyAgICAg
ICAgKiB3dGYvdGhyZWFkcy9TaWduYWxzLmNwcDoKKyAgICAgICAgKFdURjo6c3RhcnRNYWNoRXhj
ZXB0aW9uSGFuZGxlclRocmVhZCk6CisKKzIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CisKICAgICAgICAgUmVsYW5kIHIyMTY4MDgsIHVuZGVybHlpbmcg
bGxkYiBidWcgaGFzIGJlZW4gZml4ZWQuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI3NTkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGhy
ZWFkcy9TaWduYWxzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5jcHAKaW5k
ZXggNzA3Y2E5YzJkMzJhNzY4MGEzOTgzYTgyZWNmMGI3ZDZiZmVlZWVjYS4uN2YyNDcwNjVlZWQ1
YzFmMGIwMzUzOGEzODFiNTg5MzA1MDVlMjIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGhyZWFkcy9TaWduYWxzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMu
Y3BwCkBAIC0zOSw2ICszOSw3IEBAIGV4dGVybiAiQyIgewogI2luY2x1ZGUgPHNpZ25hbC5oPgog
CiAjaWYgSEFWRShNQUNIX0VYQ0VQVElPTlMpCisjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2gu
aD4KICNpbmNsdWRlIDxtYWNoL21hY2guaD4KICNpbmNsdWRlIDxtYWNoL3RocmVhZF9hY3QuaD4K
ICNlbmRpZgpAQCAtNzgsMzEgKzc5LDM4IEBAIHN0YXRpYyB2b2lkIHN0YXJ0TWFjaEV4Y2VwdGlv
bkhhbmRsZXJUaHJlYWQoKQogICAgICAgICBpZiAobWFjaF9wb3J0X2luc2VydF9yaWdodChtYWNo
X3Rhc2tfc2VsZigpLCBleGNlcHRpb25Qb3J0LCBleGNlcHRpb25Qb3J0LCBNQUNIX01TR19UWVBF
X01BS0VfU0VORCkgIT0gS0VSTl9TVUNDRVNTKQogICAgICAgICAgICAgQ1JBU0goKTsKIAotICAg
ICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIGEgZGlzcGF0Y2ggcXVldWUuCi0gICAgICAg
IC8vIFNlZTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjAwMwot
ICAgICAgICAodm9pZClUaHJlYWQ6OmNyZWF0ZSgKLSAgICAgICAgICAgICJXVEYgTWFjaCBFeGNl
cHRpb24gVGhyZWFkIiwgW10gKCkgewotICAgICAgICAgICAgICAgIHVuaW9uIE1lc3NhZ2Ugewot
ICAgICAgICAgICAgICAgICAgICBtYWNoX21zZ19oZWFkZXJfdCBoZWFkZXI7Ci0gICAgICAgICAg
ICAgICAgICAgIGNoYXIgZGF0YVttYXhNZXNzYWdlU2l6ZV07Ci0gICAgICAgICAgICAgICAgfTsK
LSAgICAgICAgICAgICAgICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJJbjsKLSAgICAgICAgICAgICAg
ICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJPdXQ7Ci0KLSAgICAgICAgICAgICAgICB3aGlsZSAodHJ1
ZSkgewotICAgICAgICAgICAgICAgICAgICBrZXJuX3JldHVybl90IG1lc3NhZ2VSZXN1bHQgPSBt
YWNoX21zZygmbWVzc2FnZUhlYWRlckluLmhlYWRlciwgTUFDSF9SQ1ZfTVNHLCAwLCBtYXhNZXNz
YWdlU2l6ZSwgZXhjZXB0aW9uUG9ydCwgTUFDSF9NU0dfVElNRU9VVF9OT05FLCBNQUNIX1BPUlRf
TlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlUmVzdWx0ID09IEtFUk5fU1VD
Q0VTUykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtYWNoX2V4Y19zZXJ2ZXIoJm1l
c3NhZ2VIZWFkZXJJbi5oZWFkZXIsICZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlcikpCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgQ1JBU0goKTsKLQotICAgICAgICAgICAgICAgICAgICAgICAg
bWVzc2FnZVJlc3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlciwgTUFDSF9T
RU5EX01TRywgbWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9zaXplLCAwLCBtZXNzYWdlSGVh
ZGVyT3V0LmhlYWRlci5tc2doX2xvY2FsX3BvcnQsIDAsIE1BQ0hfUE9SVF9OVUxMKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1lc3NhZ2VSZXN1bHQgPT0gS0VSTl9T
VUNDRVNTKTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGRhdGFMb2dMbigiRmFpbGVkIHRvIHJlY2VpdmUgbWFjaCBtZXNzYWdlIGR1ZSB0byAi
LCBtYWNoX2Vycm9yX3N0cmluZyhtZXNzYWdlUmVzdWx0KSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICB9KS5sZWFrUmVmKCk7CisgICAgICAgIC8vIEl0
J3Mgbm90IGNsZWFyIHRoYXQgdGhpcyBuZWVkcyB0byBiZSB0aGUgaGlnaCBwcmlvcml0eSBxdWV1
ZSBidXQgaXQgc2hvdWxkIGJlIHJhcmUgYW5kIGl0IG1pZ2h0IGJlCisgICAgICAgIC8vIGhhbmRs
aW5nIGV4Y2VwdGlvbnMgZnJvbSBoaWdoIHByaW9yaXR5IHRocmVhZHMuIEFueXdheSwgb3VyIGhh
bmRsZXJzIHNob3VsZCBiZSB2ZXJ5IGZhc3QgYW55d2F5IHNvIGl0J3MKKyAgICAgICAgLy8gcHJv
YmFibHkgbm90IHRoZSBlbmQgb2YgdGhlIHdvcmxkIGlmIHdlIGhhbmRsZSBhIGxvdyBwcmlvcml0
eSBleGNlcHRpb24gb24gYSBoaWdoIHByaW9yaXR5IHF1ZXVlLgorICAgICAgICBkaXNwYXRjaF9x
dWV1ZV90IHF1ZXVlID0gZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9Q
UklPUklUWV9ISUdILCAwKTsKKyAgICAgICAgZGlzcGF0Y2hfc291cmNlX3Qgc291cmNlID0gZGlz
cGF0Y2hfc291cmNlX2NyZWF0ZShESVNQQVRDSF9TT1VSQ0VfVFlQRV9NQUNIX1JFQ1YsIGV4Y2Vw
dGlvblBvcnQsIDAsIHF1ZXVlKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNTQUdF
KHNvdXJjZSwgIldlIG5lZWQgdG8gZW5zdXJlIG91ciBzb3VyY2Ugd2FzIGNyZWF0ZWQuIik7CisK
KyAgICAgICAgLy8gV2Ugc2hvdWxkIG5ldmVyIGNhbmNlbCBvdXIgaGFuZGxlciBzaW5jZSBpdCdz
IGEgcGVybWFuZW50IHRoaW5nIHNvIHdlIGRvbid0IGFkZCBhIGNhbmNlbCBoYW5kbGVyLgorICAg
ICAgICBkaXNwYXRjaF9zb3VyY2Vfc2V0X2V2ZW50X2hhbmRsZXIoc291cmNlLCBeeworICAgICAg
ICAgICAgLy8gdGhlIGxlYWtzIHRvb2wgd2lsbCBnZXQgbWFkIGF0IHVzIGlmIHdlIGRvbid0IHBy
ZXRlbmQgdG8gd2F0Y2ggdGhlIHNvdXJjZS4KKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShzb3Vy
Y2UpOworICAgICAgICAgICAgdW5pb24gTWVzc2FnZSB7CisgICAgICAgICAgICAgICAgbWFjaF9t
c2dfaGVhZGVyX3QgaGVhZGVyOworICAgICAgICAgICAgICAgIGNoYXIgZGF0YVttYXhNZXNzYWdl
U2l6ZV07CisgICAgICAgICAgICB9OworICAgICAgICAgICAgTWVzc2FnZSBtZXNzYWdlSGVhZGVy
SW47CisgICAgICAgICAgICBNZXNzYWdlIG1lc3NhZ2VIZWFkZXJPdXQ7CisKKyAgICAgICAgICAg
IGtlcm5fcmV0dXJuX3QgbWVzc2FnZVJlc3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVySW4u
aGVhZGVyLCBNQUNIX1JDVl9NU0csIDAsIG1heE1lc3NhZ2VTaXplLCBleGNlcHRpb25Qb3J0LCBN
QUNIX01TR19USU1FT1VUX05PTkUsIE1BQ0hfUE9SVF9OVUxMKTsKKyAgICAgICAgICAgIGlmICht
ZXNzYWdlUmVzdWx0ID09IEtFUk5fU1VDQ0VTUykgeworICAgICAgICAgICAgICAgIGlmICghbWFj
aF9leGNfc2VydmVyKCZtZXNzYWdlSGVhZGVySW4uaGVhZGVyLCAmbWVzc2FnZUhlYWRlck91dC5o
ZWFkZXIpKQorICAgICAgICAgICAgICAgICAgICBDUkFTSCgpOworCisgICAgICAgICAgICAgICAg
bWVzc2FnZVJlc3VsdCA9IG1hY2hfbXNnKCZtZXNzYWdlSGVhZGVyT3V0LmhlYWRlciwgTUFDSF9T
RU5EX01TRywgbWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9zaXplLCAwLCBtZXNzYWdlSGVh
ZGVyT3V0LmhlYWRlci5tc2doX2xvY2FsX3BvcnQsIDAsIE1BQ0hfUE9SVF9OVUxMKTsKKyAgICAg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtZXNzYWdlUmVzdWx0ID09IEtFUk5fU1VDQ0VTUyk7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGRhdGFMb2dMbigiRmFpbGVk
IHRvIHJlY2VpdmUgbWFjaCBtZXNzYWdlIGR1ZSB0byAiLCBtYWNoX2Vycm9yX3N0cmluZyhtZXNz
YWdlUmVzdWx0KSk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisKKyAgICAgICAgZGlzcGF0Y2hfcmVzdW1l
KHNvdXJjZSk7CiAgICAgfSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311717</attachid>
            <date>2017-06-01 10:22:17 -0700</date>
            <delta_ts>2017-06-01 10:31:43 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-172775-20170601102217.patch</filename>
            <type>text/plain</type>
            <size>7344</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU3MTJkYzBhMDlkYTE0MDQyZDc5NTZl
MWE1NTRlMjBjYTQ3YzMxMmIuLjdhYmU2NGQ5YTI1YjZkODZhNWFiMDgzNGY1MDU0YmFkYmZkYThm
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CiAKKyAgICAgICAgVXNlIGRpc3BhdGNoIHF1ZXVlcyBmb3IgbWFj
aCBleGNlcHRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzI3NzUKKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdXNpbmcgYSBkaXNwYXRjaCBxdWV1ZSB0
byBoYW5kbGUgb3VyCisgICAgICAgIG1hY2ggZXhjZXB0aW9ucy4gV2UgdXNlIGEgaGlnaCBwcmlv
cml0eSBjb25jdXJyZW50IGRpc3BhdGNoIHF1ZXVlCisgICAgICAgIHRvIGhhbmRsZSBvdXIgbWFj
aCBleGNlcHRpb25zLiBXZSBkb24ndCBrbm93IHRoZSBwcmlvcml0eSBvZiB0aGUKKyAgICAgICAg
dGhyZWFkIHdob3NlIGV4Y2VwdGlvbiB3ZSBhcmUgaGFuZGxpbmcgc28gdGhlIG1vc3QgY29uc2Vy
dmF0aXZlCisgICAgICAgIGFuc3dlciBpcyB0byByZXNwb25kIHdpdGggYSBoaWdoIHByaW9yaXR5
LiBUaGVzZSBldmVudHMgYXJlIGJvdGgKKyAgICAgICAgcmFyZSBhbmQgdXN1YWxseSBxdWl0ZSBm
YXN0IHNvIGl0IGlzIGxpa2VseSBub3QgYSBzaWduaWZpY2FudCBjb3N0CisgICAgICAgIHdoZW4g
dGhlIHRocmVhZCB3aXRoIGFuIGV4Y2VwdGlvbiBoYXMgYSBsb3cgcHJpb3JpdHkuCisKKyAgICAg
ICAgKiB3dGYvdGhyZWFkcy9TaWduYWxzLmNwcDoKKyAgICAgICAgKFdURjo6c3RhcnRNYWNoRXhj
ZXB0aW9uSGFuZGxlclRocmVhZCk6CisKKzIwMTctMDUtMzEgIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CisKICAgICAgICAgUmVsYW5kIHIyMTY4MDgsIHVuZGVybHlpbmcg
bGxkYiBidWcgaGFzIGJlZW4gZml4ZWQuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzI3NTkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhy
ZWFkTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRNZXNzYWdlLmNwcAppbmRleCBi
OTk0Y2FjZDYyNmQ0YzZjZmQ1YzE2ODEwOWI1NWI2OWRkMjNiOTk2Li42NGU3NzVlNzVkMDJiMTQz
ODIyZGE3MTdkZGU0ODM2YjIzMDgwMjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9UaHJl
YWRNZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRNZXNzYWdlLmNwcApAQCAt
MTY5LDMwICsxNjksMTEgQEAgc3RhdGljIE1lc3NhZ2VTdGF0dXMgc2VuZE1lc3NhZ2VVc2luZ01h
Y2goVGhyZWFkJiB0aHJlYWQsIGNvbnN0IFRocmVhZE1lc3NhZ2UmIG0KICAgICBpZiAoIXJlc3Vs
dCkKICAgICAgICAgcmV0dXJuIE1lc3NhZ2VTdGF0dXM6OlRocmVhZEV4aXRlZDsKIAotI2lmIENQ
VShYODYpCi0gICAgdW5zaWduZWQgdXNlckNvdW50ID0gc2l6ZW9mKFBsYXRmb3JtUmVnaXN0ZXJz
KSAvIHNpemVvZihpbnQpOwotICAgIHRocmVhZF9zdGF0ZV9mbGF2b3JfdCBmbGF2b3IgPSBpMzg2
X1RIUkVBRF9TVEFURTsKLSNlbGlmIENQVShYODZfNjQpCi0gICAgdW5zaWduZWQgdXNlckNvdW50
ID0geDg2X1RIUkVBRF9TVEFURTY0X0NPVU5UOwotICAgIHRocmVhZF9zdGF0ZV9mbGF2b3JfdCBm
bGF2b3IgPSB4ODZfVEhSRUFEX1NUQVRFNjQ7Ci0jZWxpZiBDUFUoQVJNKQotICAgIHVuc2lnbmVk
IHVzZXJDb3VudCA9IEFSTV9USFJFQURfU1RBVEVfQ09VTlQ7Ci0gICAgdGhyZWFkX3N0YXRlX2Zs
YXZvcl90IGZsYXZvciA9IEFSTV9USFJFQURfU1RBVEU7Ci0jZWxpZiBDUFUoQVJNNjQpCi0gICAg
dW5zaWduZWQgdXNlckNvdW50ID0gQVJNX1RIUkVBRF9TVEFURTY0X0NPVU5UOwotICAgIHRocmVh
ZF9zdGF0ZV9mbGF2b3JfdCBmbGF2b3IgPSBBUk1fVEhSRUFEX1NUQVRFNjQ7Ci0jZWxzZQotI2Vy
cm9yIFVua25vd24gQXJjaGl0ZWN0dXJlCi0jZW5kaWYKLQogICAgIFBsYXRmb3JtUmVnaXN0ZXJz
IHJlZ2lzdGVyczsKLSAgICB0aHJlYWRfc3RhdGVfdCBzdGF0ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dGhyZWFkX3N0YXRlX3Q+KCZyZWdpc3RlcnMpOwotICAgIHRocmVhZF9nZXRfc3RhdGUodGhyZWFk
Lm1hY2hUaHJlYWQoKSwgZmxhdm9yLCBzdGF0ZSwgJnVzZXJDb3VudCk7CisgICAgdGhyZWFkLmdl
dFJlZ2lzdGVycyhyZWdpc3RlcnMpOwogCiAgICAgbWVzc2FnZShyZWdpc3RlcnMpOwogCi0gICAg
dGhyZWFkX3NldF9zdGF0ZSh0aHJlYWQubWFjaFRocmVhZCgpLCBmbGF2b3IsIHN0YXRlLCB1c2Vy
Q291bnQpOwotCiAgICAgdGhyZWFkLnJlc3VtZSgpOwogICAgIHJldHVybiBNZXNzYWdlU3RhdHVz
OjpNZXNzYWdlUmFuOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWdu
YWxzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5jcHAKaW5kZXggNzA3Y2E5
YzJkMzJhNzY4MGEzOTgzYTgyZWNmMGI3ZDZiZmVlZWVjYS4uODhiYzJiM2NjYWU3NzI2NDAwMjAx
NjQzOGYyYTBlNDg5YzU4NmUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGhyZWFkcy9T
aWduYWxzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuY3BwCkBAIC0z
OSw2ICszOSw3IEBAIGV4dGVybiAiQyIgewogI2luY2x1ZGUgPHNpZ25hbC5oPgogCiAjaWYgSEFW
RShNQUNIX0VYQ0VQVElPTlMpCisjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbmNs
dWRlIDxtYWNoL21hY2guaD4KICNpbmNsdWRlIDxtYWNoL3RocmVhZF9hY3QuaD4KICNlbmRpZgpA
QCAtNzIsMzcgKzczLDQ1IEBAIHN0YXRpYyB2b2lkIHN0YXJ0TWFjaEV4Y2VwdGlvbkhhbmRsZXJU
aHJlYWQoKQogewogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlOwogICAgIHN0ZDo6Y2Fs
bF9vbmNlKG9uY2UsIFtdIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJTdGFydGluZyBtYWNoIGV4Y2Vw
dGlvbiB0aHJlYWQiKTsKICAgICAgICAgaWYgKG1hY2hfcG9ydF9hbGxvY2F0ZShtYWNoX3Rhc2tf
c2VsZigpLCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmV4Y2VwdGlvblBvcnQpICE9IEtFUk5f
U1VDQ0VTUykKICAgICAgICAgICAgIENSQVNIKCk7CiAKICAgICAgICAgaWYgKG1hY2hfcG9ydF9p
bnNlcnRfcmlnaHQobWFjaF90YXNrX3NlbGYoKSwgZXhjZXB0aW9uUG9ydCwgZXhjZXB0aW9uUG9y
dCwgTUFDSF9NU0dfVFlQRV9NQUtFX1NFTkQpICE9IEtFUk5fU1VDQ0VTUykKICAgICAgICAgICAg
IENSQVNIKCk7CiAKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBhIGRpc3BhdGNo
IHF1ZXVlLgotICAgICAgICAvLyBTZWU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzIwMDMKLSAgICAgICAgKHZvaWQpVGhyZWFkOjpjcmVhdGUoCi0gICAgICAgICAg
ICAiV1RGIE1hY2ggRXhjZXB0aW9uIFRocmVhZCIsIFtdICgpIHsKLSAgICAgICAgICAgICAgICB1
bmlvbiBNZXNzYWdlIHsKLSAgICAgICAgICAgICAgICAgICAgbWFjaF9tc2dfaGVhZGVyX3QgaGVh
ZGVyOwotICAgICAgICAgICAgICAgICAgICBjaGFyIGRhdGFbbWF4TWVzc2FnZVNpemVdOwotICAg
ICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICAgICAgTWVzc2FnZSBtZXNzYWdlSGVhZGVySW47
Ci0gICAgICAgICAgICAgICAgTWVzc2FnZSBtZXNzYWdlSGVhZGVyT3V0OwotCi0gICAgICAgICAg
ICAgICAgd2hpbGUgKHRydWUpIHsKLSAgICAgICAgICAgICAgICAgICAga2Vybl9yZXR1cm5fdCBt
ZXNzYWdlUmVzdWx0ID0gbWFjaF9tc2coJm1lc3NhZ2VIZWFkZXJJbi5oZWFkZXIsIE1BQ0hfUkNW
X01TRywgMCwgbWF4TWVzc2FnZVNpemUsIGV4Y2VwdGlvblBvcnQsIE1BQ0hfTVNHX1RJTUVPVVRf
Tk9ORSwgTUFDSF9QT1JUX05VTEwpOwotICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZVJl
c3VsdCA9PSBLRVJOX1NVQ0NFU1MpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbWFj
aF9leGNfc2VydmVyKCZtZXNzYWdlSGVhZGVySW4uaGVhZGVyLCAmbWVzc2FnZUhlYWRlck91dC5o
ZWFkZXIpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIENSQVNIKCk7Ci0KLSAgICAgICAg
ICAgICAgICAgICAgICAgIG1lc3NhZ2VSZXN1bHQgPSBtYWNoX21zZygmbWVzc2FnZUhlYWRlck91
dC5oZWFkZXIsIE1BQ0hfU0VORF9NU0csIG1lc3NhZ2VIZWFkZXJPdXQuaGVhZGVyLm1zZ2hfc2l6
ZSwgMCwgbWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9sb2NhbF9wb3J0LCAwLCBNQUNIX1BP
UlRfTlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtZXNzYWdl
UmVzdWx0ID09IEtFUk5fU1VDQ0VTUyk7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nTG4oIkZhaWxlZCB0byByZWNlaXZlIG1hY2gg
bWVzc2FnZSBkdWUgdG8gIiwgbWFjaF9lcnJvcl9zdHJpbmcobWVzc2FnZVJlc3VsdCkpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgfSkubGVha1JlZigp
OworICAgICAgICAvLyBJdCdzIG5vdCBjbGVhciB0aGF0IHRoaXMgbmVlZHMgdG8gYmUgdGhlIGhp
Z2ggcHJpb3JpdHkgcXVldWUgYnV0IGl0IHNob3VsZCBiZSByYXJlIGFuZCBpdCBtaWdodCBiZQor
ICAgICAgICAvLyBoYW5kbGluZyBleGNlcHRpb25zIGZyb20gaGlnaCBwcmlvcml0eSB0aHJlYWRz
LiBBbnl3YXksIG91ciBoYW5kbGVycyBzaG91bGQgYmUgdmVyeSBmYXN0IGFueXdheSBzbyBpdCdz
CisgICAgICAgIC8vIHByb2JhYmx5IG5vdCB0aGUgZW5kIG9mIHRoZSB3b3JsZCBpZiB3ZSBoYW5k
bGUgYSBsb3cgcHJpb3JpdHkgZXhjZXB0aW9uIG9uIGEgaGlnaCBwcmlvcml0eSBxdWV1ZS4KKyAg
ICAgICAgZGlzcGF0Y2hfcXVldWVfdCBxdWV1ZSA9IGRpc3BhdGNoX2dldF9nbG9iYWxfcXVldWUo
RElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfSElHSCwgMCk7CisgICAgICAgIGRpc3BhdGNoX3NvdXJj
ZV90IHNvdXJjZSA9IGRpc3BhdGNoX3NvdXJjZV9jcmVhdGUoRElTUEFUQ0hfU09VUkNFX1RZUEVf
TUFDSF9SRUNWLCBleGNlcHRpb25Qb3J0LCAwLCBxdWV1ZSk7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUX1dJVEhfTUVTU0FHRShzb3VyY2UsICJXZSBuZWVkIHRvIGVuc3VyZSBvdXIgc291cmNlIHdh
cyBjcmVhdGVkLiIpOworCisgICAgICAgIC8vIFdlIHNob3VsZCBuZXZlciBjYW5jZWwgb3VyIGhh
bmRsZXIgc2luY2UgaXQncyBhIHBlcm1hbmVudCB0aGluZyBzbyB3ZSBkb24ndCBhZGQgYSBjYW5j
ZWwgaGFuZGxlci4KKyAgICAgICAgZGlzcGF0Y2hfc291cmNlX3NldF9ldmVudF9oYW5kbGVyKHNv
dXJjZSwgXnsKKyAgICAgICAgICAgIC8vIHRoZSBsZWFrcyB0b29sIHdpbGwgZ2V0IG1hZCBhdCB1
cyBpZiB3ZSBkb24ndCBwcmV0ZW5kIHRvIHdhdGNoIHRoZSBzb3VyY2UuCisgICAgICAgICAgICBV
TlVTRURfUEFSQU0oc291cmNlKTsKKyAgICAgICAgICAgIHVuaW9uIE1lc3NhZ2UgeworICAgICAg
ICAgICAgICAgIG1hY2hfbXNnX2hlYWRlcl90IGhlYWRlcjsKKyAgICAgICAgICAgICAgICBjaGFy
IGRhdGFbbWF4TWVzc2FnZVNpemVdOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIE1lc3Nh
Z2UgbWVzc2FnZUhlYWRlckluOworICAgICAgICAgICAgTWVzc2FnZSBtZXNzYWdlSGVhZGVyT3V0
OworCisgICAgICAgICAgICBrZXJuX3JldHVybl90IG1lc3NhZ2VSZXN1bHQgPSBtYWNoX21zZygm
bWVzc2FnZUhlYWRlckluLmhlYWRlciwgTUFDSF9SQ1ZfTVNHLCAwLCBtYXhNZXNzYWdlU2l6ZSwg
ZXhjZXB0aW9uUG9ydCwgTUFDSF9NU0dfVElNRU9VVF9OT05FLCBNQUNIX1BPUlRfTlVMTCk7Cisg
ICAgICAgICAgICBpZiAobWVzc2FnZVJlc3VsdCA9PSBLRVJOX1NVQ0NFU1MpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoIW1hY2hfZXhjX3NlcnZlcigmbWVzc2FnZUhlYWRlckluLmhlYWRlciwgJm1l
c3NhZ2VIZWFkZXJPdXQuaGVhZGVyKSkKKyAgICAgICAgICAgICAgICAgICAgQ1JBU0goKTsKKwor
ICAgICAgICAgICAgICAgIG1lc3NhZ2VSZXN1bHQgPSBtYWNoX21zZygmbWVzc2FnZUhlYWRlck91
dC5oZWFkZXIsIE1BQ0hfU0VORF9NU0csIG1lc3NhZ2VIZWFkZXJPdXQuaGVhZGVyLm1zZ2hfc2l6
ZSwgMCwgbWVzc2FnZUhlYWRlck91dC5oZWFkZXIubXNnaF9sb2NhbF9wb3J0LCAwLCBNQUNIX1BP
UlRfTlVMTCk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobWVzc2FnZVJlc3VsdCA9
PSBLRVJOX1NVQ0NFU1MpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBk
YXRhTG9nTG4oIkZhaWxlZCB0byByZWNlaXZlIG1hY2ggbWVzc2FnZSBkdWUgdG8gIiwgbWFjaF9l
cnJvcl9zdHJpbmcobWVzc2FnZVJlc3VsdCkpOworICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0pOworCisgICAgICAg
IGRpc3BhdGNoX3Jlc3VtZShzb3VyY2UpOwogICAgIH0pOwogfQogCkBAIC0xODUsMTMgKzE5NCwx
NyBAQCBrZXJuX3JldHVybl90IGNhdGNoX21hY2hfZXhjZXB0aW9uX3JhaXNlX3N0YXRlKAogICAg
IH0KIAogICAgIGJvb2wgZGlkSGFuZGxlID0gZmFsc2U7CisgICAgaW50IGNvdW50ID0gMDsKICAg
ICBoYW5kbGVyc1tzdGF0aWNfY2FzdDxzaXplX3Q+KHNpZ25hbCldLT5pdGVyYXRlKFsmXSAoY29u
c3QgU2lnbmFsSGFuZGxlciYgaGFuZGxlcikgeworICAgICAgICBkYXRhTG9nTG4oInJ1bm5pbmcg
aGFuZGxlciAiLCBjb3VudCsrKTsKICAgICAgICAgU2lnbmFsQWN0aW9uIGhhbmRsZXJSZXN1bHQg
PSBoYW5kbGVyKHNpZ25hbCwgaW5mbywgcmVnaXN0ZXJzKTsKICAgICAgICAgZGlkSGFuZGxlIHw9
IGhhbmRsZXJSZXN1bHQgPT0gU2lnbmFsQWN0aW9uOjpIYW5kbGVkOwogICAgIH0pOwogCiAgICAg
aWYgKGRpZEhhbmRsZSkKICAgICAgICAgcmV0dXJuIEtFUk5fU1VDQ0VTUzsKKworICAgIGRhdGFM
b2dMbigiZmFpbGluZyIpOwogICAgIHJldHVybiBLRVJOX0ZBSUxVUkU7CiB9CiAK
</data>
<flag name="commit-queue"
          id="332674"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>