<?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>185995</bug_id>
          
          <creation_ts>2018-05-25 14:45:00 -0700</creation_ts>
          <short_desc>for-in loops should preserve and restore the TDZ stack for each of its internal loops.</short_desc>
          <delta_ts>2018-05-25 17:24:04 -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>JavaScriptCore</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1427472</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-05-25 14:45:00 -0700</bug_when>
    <thetext>This is because there&apos;s not guarantee that any of the loop bodies will have executed.  Hence, there&apos;s no guarantee that the TDZ variables will have beeb initialized after each loop body.

&lt;rdar://problem/40173142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427519</commentid>
    <comment_count>1</comment_count>
      <attachid>341342</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-05-25 16:00:43 -0700</bug_when>
    <thetext>Created attachment 341342
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427521</commentid>
    <comment_count>2</comment_count>
      <attachid>341342</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-05-25 16:04:05 -0700</bug_when>
    <thetext>Comment on attachment 341342
proposed patch.

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

r=me

&gt; JSTests/stress/regress-185995.js:5
&gt; +        &quot;var list = { &apos;a&apos; : 5 };&quot; + &quot;\n&quot; +
&gt; +        &quot;for(const { x = x } in list)&quot; + &quot;\n&quot; +
&gt; +        &quot;    x();&quot;;

Why not just write this code out in the try instead of eval?

&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:3079
&gt; +    BytecodeGenerator::PreservedTDZStack preservedTDZStack;
&gt; +    generator.preserveTDZStack(preservedTDZStack);

Not a big deal, but I think it&apos;d make sense if this just were an RAII. Could just be a SetForScope&lt;....&gt; and you can use it in each scope below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427526</commentid>
    <comment_count>3</comment_count>
      <attachid>341342</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-05-25 16:11:13 -0700</bug_when>
    <thetext>Comment on attachment 341342
proposed patch.

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

&gt;&gt; JSTests/stress/regress-185995.js:5
&gt;&gt; +        &quot;    x();&quot;;
&gt; 
&gt; Why not just write this code out in the try instead of eval?

Because in my mind, I conflated ReferenceError with SyntaxError.  I&apos;ll switch to doing it in the try block.

&gt;&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:3079
&gt;&gt; +    generator.preserveTDZStack(preservedTDZStack);
&gt; 
&gt; Not a big deal, but I think it&apos;d make sense if this just were an RAII. Could just be a SetForScope&lt;....&gt; and you can use it in each scope below.

I&apos;ll re-write it as an RAII BytecodeGenerator::TDZStackPreservationScope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427528</commentid>
    <comment_count>4</comment_count>
      <attachid>341342</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-05-25 16:12:51 -0700</bug_when>
    <thetext>Comment on attachment 341342
proposed patch.

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

&gt;&gt;&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:3079
&gt;&gt;&gt; +    generator.preserveTDZStack(preservedTDZStack);
&gt;&gt; 
&gt;&gt; Not a big deal, but I think it&apos;d make sense if this just were an RAII. Could just be a SetForScope&lt;....&gt; and you can use it in each scope below.
&gt; 
&gt; I&apos;ll re-write it as an RAII BytecodeGenerator::TDZStackPreservationScope.

On second thought, I&apos;ll keep it as is.  This saves on the amount of mallocs and copying of the TDZ stack ... not that the stack should be all that big.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427531</commentid>
    <comment_count>5</comment_count>
      <attachid>341345</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-05-25 16:16:48 -0700</bug_when>
    <thetext>Created attachment 341345
patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427532</commentid>
    <comment_count>6</comment_count>
      <attachid>341346</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-05-25 16:17:55 -0700</bug_when>
    <thetext>Created attachment 341346
patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427596</commentid>
    <comment_count>7</comment_count>
      <attachid>341346</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-05-25 17:12:11 -0700</bug_when>
    <thetext>Comment on attachment 341346
patch for landing.

Thanks for the review.  Landing this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427607</commentid>
    <comment_count>8</comment_count>
      <attachid>341346</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-25 17:24:02 -0700</bug_when>
    <thetext>Comment on attachment 341346
patch for landing.

Clearing flags on attachment: 341346

Committed r232219: &lt;https://trac.webkit.org/changeset/232219&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1427608</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-25 17:24:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341342</attachid>
            <date>2018-05-25 16:00:43 -0700</date>
            <delta_ts>2018-05-25 16:16:48 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-185995.patch</filename>
            <type>text/plain</type>
            <size>6749</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzIyMTApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE4LTA1LTI1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBmb3ItaW4gbG9vcHMgc2hvdWxkIHByZXNlcnZlIGFuZCByZXN0b3JlIHRo
ZSBURFogc3RhY2sgZm9yIGVhY2ggb2YgaXRzIGludGVybmFsIGxvb3BzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1OTk1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80MDE3MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHN0cmVzcy9yZWdyZXNzLTE4NTk5NS5qczogQWRkZWQuCisKIDIwMTgt
MDUtMjMgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAg
RGVmaW5lIGxlbmd0aCBvbiBDb1cgYXJyYXkgc2hvdWxkIHByb3Blcmx5IGNvbnZlcnQgdG8gd3Jp
dGFibGUKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTYgQEAKKyhmdW5jdGlvbigpIHsKKyAgICBzY3JpcHQgPQorICAgICAgICAidmFyIGxpc3QgPSB7
ICdhJyA6IDUgfTsiICsgIlxuIiArCisgICAgICAgICJmb3IoY29uc3QgeyB4ID0geCB9IGluIGxp
c3QpIiArICJcbiIgKworICAgICAgICAiICAgIHgoKTsiOworCisgICAgdmFyIGV4Y2VwdGlvbjsK
KyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICBleGNlcHRpb24gPSBlOworICAgIH0KKworICAgIGlmIChleGNlcHRpb24gIT0gIlJlZmVy
ZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIikKKyAgICAg
ICAgdGhyb3cgIkZBSUxFRCI7Cit9KSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMzIxMDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDUtMjUgIE1hcmsgTGFtICA8bWFyay5s
YW1AYXBwbGUuY29tPgorCisgICAgICAgIGZvci1pbiBsb29wcyBzaG91bGQgcHJlc2VydmUgYW5k
IHJlc3RvcmUgdGhlIFREWiBzdGFjayBmb3IgZWFjaCBvZiBpdHMgaW50ZXJuYWwgbG9vcHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU5OTUKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQwMTczMTQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGVyZSdzIG5vIGd1YXJh
bnRlZSB0aGF0IGFueSBvZiB0aGUgbG9vcCBib2RpZXMgd2lsbCBiZQorICAgICAgICBleGVjdXRl
ZC4gIEhlbmNlLCB0aGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZSBURFogdmFyaWFibGVzIHdp
bGwgaGF2ZSBiZWVuCisgICAgICAgIGluaXRpYWxpemVkIGFmdGVyIGVhY2ggbG9vcCBib2R5Lgor
CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnByZXNlcnZlVERaU3RhY2spOgorICAgICAgICAoSlND
OjpCeXRlY29kZUdlbmVyYXRvcjo6cmVzdG9yZVREWlN0YWNrKToKKyAgICAgICAgKiBieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6Rm9ySW5Ob2RlOjplbWl0Qnl0ZWNvZGUpOgorCiAy
MDE4LTA1LTIyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBCeXRl
Y29kZUdlbmVyYXRvcmlmaWNhdGlvbiBzaG91bGRuJ3QgYWRkIGEgVmFsdWVQcm9maWxlIGlmIHRo
ZSBKSVQgaXMgZGlzYWJsZWQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMjMyMDk5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA4LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA4LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDA4IENhbWVyb24gWndhcmljaCA8Y3d6d2FyaWNoQHV3YXRlcmxvby5jYT4KICAq
IENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEsIFMuTC4KICAqCkBAIC0zMTM5LDYgKzMxMzksMTYg
QEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6Z2V0VmFyaWFibGVzVW5kZQogICAgIH0KIH0KIAor
dm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6cHJlc2VydmVURFpTdGFjayhCeXRlY29kZUdlbmVyYXRv
cjo6UHJlc2VydmVkVERaU3RhY2smIHByZXNlcnZlZFN0YWNrKQoreworICAgIHByZXNlcnZlZFN0
YWNrLm1fcHJlc2VydmVkVERaU3RhY2sgPSBtX1REWlN0YWNrOworfQorCit2b2lkIEJ5dGVjb2Rl
R2VuZXJhdG9yOjpyZXN0b3JlVERaU3RhY2soY29uc3QgQnl0ZWNvZGVHZW5lcmF0b3I6OlByZXNl
cnZlZFREWlN0YWNrJiBwcmVzZXJ2ZWRTdGFjaykKK3sKKyAgICBtX1REWlN0YWNrID0gcHJlc2Vy
dmVkU3RhY2subV9wcmVzZXJ2ZWRURFpTdGFjazsKK30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXROZXdPYmplY3QoUmVnaXN0ZXJJRCogZHN0KQogewogICAgIHNpemVfdCBi
ZWdpbiA9IGluc3RydWN0aW9ucygpLnNpemUoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgJKHJldmlzaW9u
IDIzMjA5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDgtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDgtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDggQ2FtZXJvbiBad2FyaWNoIDxjd3p3YXJpY2hAdXdhdGVybG9vLmNh
PgogICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSwgUy5MLgogICoKQEAgLTExMTMsNiArMTEx
MywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBpbml0aWFsaXplQXJyb3dGdW5j
dGlvbkNvbnRleHRTY29wZUlmTmVlZGVkKFN5bWJvbFRhYmxlKiBmdW5jdGlvblN5bWJvbFRhYmxl
ID0gbnVsbHB0ciwgYm9vbCBjYW5SZXVzZUxleGljYWxFbnZpcm9ubWVudCA9IGZhbHNlKTsKICAg
ICAgICAgYm9vbCBuZWVkc0Rlcml2ZWRDb25zdHJ1Y3RvckluQXJyb3dGdW5jdGlvbkxleGljYWxF
bnZpcm9ubWVudCgpOwogCisgICAgICAgIGVudW0gY2xhc3MgVERaTmVjZXNzaXR5TGV2ZWwgewor
ICAgICAgICAgICAgTm90TmVlZGVkLAorICAgICAgICAgICAgT3B0aW1pemUsCisgICAgICAgICAg
ICBEb05vdE9wdGltaXplCisgICAgICAgIH07CisgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBURFpOZWNlc3NpdHlMZXZlbCwgSWRlbnRpZmllclJlcEhh
c2g+IFREWk1hcDsKKwogICAgIHB1YmxpYzoKICAgICAgICAgSlNTdHJpbmcqIGFkZFN0cmluZ0Nv
bnN0YW50KGNvbnN0IElkZW50aWZpZXImKTsKICAgICAgICAgSlNWYWx1ZSBhZGRCaWdJbnRDb25z
dGFudChjb25zdCBJZGVudGlmaWVyJiwgdWludDhfdCByYWRpeCk7CkBAIC0xMTIyLDYgKzExMjks
MTUgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRocm93RXhw
cmVzc2lvblRvb0RlZXBFeGNlcHRpb24oKTsKIAorICAgICAgICBjbGFzcyBQcmVzZXJ2ZWRURFpT
dGFjayB7CisgICAgICAgIHByaXZhdGU6CisgICAgICAgICAgICBWZWN0b3I8VERaTWFwPiBtX3By
ZXNlcnZlZFREWlN0YWNrOworICAgICAgICAgICAgZnJpZW5kIGNsYXNzIEJ5dGVjb2RlR2VuZXJh
dG9yOworICAgICAgICB9OworCisgICAgICAgIHZvaWQgcHJlc2VydmVURFpTdGFjayhQcmVzZXJ2
ZWRURFpTdGFjayYpOworICAgICAgICB2b2lkIHJlc3RvcmVURFpTdGFjayhjb25zdCBQcmVzZXJ2
ZWRURFpTdGFjayYpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgVmVjdG9yPFVubGlua2VkSW5z
dHJ1Y3Rpb24sIDAsIFVuc2FmZVZlY3Rvck92ZXJmbG93PiBtX2luc3RydWN0aW9uczsKIApAQCAt
MTEzNCwxMiArMTE1MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgaW50IG1fc3lt
Ym9sVGFibGVDb25zdGFudEluZGV4OwogICAgICAgICB9OwogICAgICAgICBWZWN0b3I8TGV4aWNh
bFNjb3BlU3RhY2tFbnRyeT4gbV9sZXhpY2FsU2NvcGVTdGFjazsKLSAgICAgICAgZW51bSBjbGFz
cyBURFpOZWNlc3NpdHlMZXZlbCB7Ci0gICAgICAgICAgICBOb3ROZWVkZWQsCi0gICAgICAgICAg
ICBPcHRpbWl6ZSwKLSAgICAgICAgICAgIERvTm90T3B0aW1pemUKLSAgICAgICAgfTsKLSAgICAg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIFREWk5lY2Vzc2l0
eUxldmVsLCBJZGVudGlmaWVyUmVwSGFzaD4gVERaTWFwOworCiAgICAgICAgIFZlY3RvcjxURFpN
YXA+IG1fVERaU3RhY2s7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBtX3ZhclNjb3Bl
TGV4aWNhbFNjb3BlU3RhY2tJbmRleDsKICAgICAgICAgdm9pZCBwdXNoVERaVmFyaWFibGVzKGNv
bnN0IFZhcmlhYmxlRW52aXJvbm1lbnQmLCBURFpDaGVja09wdGltaXphdGlvbiwgVERaUmVxdWly
ZW1lbnQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcAkocmV2aXNpb24gMjMyMDk5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MDc1LDYgKzMwNzUsOSBAQCB2b2lkIEZvckluTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2Vu
CiAKICAgICBlbnVtZXJhdG9yID0gZ2VuZXJhdG9yLmVtaXRHZXRQcm9wZXJ0eUVudW1lcmF0b3Io
Z2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBiYXNlLmdldCgpKTsKIAorICAgIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjpQcmVzZXJ2ZWRURFpTdGFjayBwcmVzZXJ2ZWRURFpTdGFjazsKKyAgICBnZW5lcmF0
b3IucHJlc2VydmVURFpTdGFjayhwcmVzZXJ2ZWRURFpTdGFjayk7CisKICAgICAvLyBJbmRleGVk
IHByb3BlcnR5IGxvb3AuCiAgICAgewogICAgICAgICBSZWY8TGFiZWxTY29wZT4gc2NvcGUgPSBn
ZW5lcmF0b3IubmV3TGFiZWxTY29wZShMYWJlbFNjb3BlOjpMb29wKTsKQEAgLTMxMTQsNiArMzEx
Nyw3IEBAIHZvaWQgRm9ySW5Ob2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW4KICAgICAgICAg
Z2VuZXJhdG9yLmVtaXRKdW1wKGVuZC5nZXQoKSk7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0TGFi
ZWwobG9vcEVuZC5nZXQoKSk7CiAgICAgfQorICAgIGdlbmVyYXRvci5yZXN0b3JlVERaU3RhY2so
cHJlc2VydmVkVERaU3RhY2spOwogCiAgICAgLy8gU3RydWN0dXJlIHByb3BlcnR5IGxvb3AuCiAg
ICAgewpAQCAtMzE1NCw2ICszMTU4LDcgQEAgdm9pZCBGb3JJbk5vZGU6OmVtaXRCeXRlY29kZShC
eXRlY29kZUdlbgogICAgICAgICBnZW5lcmF0b3IuZW1pdEp1bXAoZW5kLmdldCgpKTsKICAgICAg
ICAgZ2VuZXJhdG9yLmVtaXRMYWJlbChsb29wRW5kLmdldCgpKTsKICAgICB9CisgICAgZ2VuZXJh
dG9yLnJlc3RvcmVURFpTdGFjayhwcmVzZXJ2ZWRURFpTdGFjayk7CiAKICAgICAvLyBHZW5lcmlj
IHByb3BlcnR5IGxvb3AuCiAgICAgewo=
</data>
<flag name="review"
          id="359535"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341345</attachid>
            <date>2018-05-25 16:16:48 -0700</date>
            <delta_ts>2018-05-25 16:17:55 -0700</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-185995.patch</filename>
            <type>text/plain</type>
            <size>6749</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzIyMTApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE4LTA1LTI1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBmb3ItaW4gbG9vcHMgc2hvdWxkIHByZXNlcnZlIGFuZCByZXN0b3JlIHRo
ZSBURFogc3RhY2sgZm9yIGVhY2ggb2YgaXRzIGludGVybmFsIGxvb3BzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1OTk1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80MDE3MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHN0cmVzcy9yZWdyZXNzLTE4NTk5NS5qczogQWRkZWQuCisKIDIwMTgt
MDUtMjMgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAg
RGVmaW5lIGxlbmd0aCBvbiBDb1cgYXJyYXkgc2hvdWxkIHByb3Blcmx5IGNvbnZlcnQgdG8gd3Jp
dGFibGUKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTYgQEAKKyhmdW5jdGlvbigpIHsKKyAgICBzY3JpcHQgPQorICAgICAgICAidmFyIGxpc3QgPSB7
ICdhJyA6IDUgfTsiICsgIlxuIiArCisgICAgICAgICJmb3IoY29uc3QgeyB4ID0geCB9IGluIGxp
c3QpIiArICJcbiIgKworICAgICAgICAiICAgIHgoKTsiOworCisgICAgdmFyIGV4Y2VwdGlvbjsK
KyAgICB0cnkgeworICAgICAgICBldmFsKHNjcmlwdCk7CisgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICBleGNlcHRpb24gPSBlOworICAgIH0KKworICAgIGlmIChleGNlcHRpb24gIT0gIlJlZmVy
ZW5jZUVycm9yOiBDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuIikKKyAgICAg
ICAgdGhyb3cgIkZBSUxFRCI7Cit9KSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyMzIxMDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDUtMjUgIE1hcmsgTGFtICA8bWFyay5s
YW1AYXBwbGUuY29tPgorCisgICAgICAgIGZvci1pbiBsb29wcyBzaG91bGQgcHJlc2VydmUgYW5k
IHJlc3RvcmUgdGhlIFREWiBzdGFjayBmb3IgZWFjaCBvZiBpdHMgaW50ZXJuYWwgbG9vcHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU5OTUKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQwMTczMTQyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSB0aGVyZSdzIG5vIGd1YXJh
bnRlZSB0aGF0IGFueSBvZiB0aGUgbG9vcCBib2RpZXMgd2lsbCBiZQorICAgICAgICBleGVjdXRl
ZC4gIEhlbmNlLCB0aGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZSBURFogdmFyaWFibGVzIHdp
bGwgaGF2ZSBiZWVuCisgICAgICAgIGluaXRpYWxpemVkIGFmdGVyIGVhY2ggbG9vcCBib2R5Lgor
CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAg
KEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnByZXNlcnZlVERaU3RhY2spOgorICAgICAgICAoSlND
OjpCeXRlY29kZUdlbmVyYXRvcjo6cmVzdG9yZVREWlN0YWNrKToKKyAgICAgICAgKiBieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6Rm9ySW5Ob2RlOjplbWl0Qnl0ZWNvZGUpOgorCiAy
MDE4LTA1LTIyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBCeXRl
Y29kZUdlbmVyYXRvcmlmaWNhdGlvbiBzaG91bGRuJ3QgYWRkIGEgVmFsdWVQcm9maWxlIGlmIHRo
ZSBKSVQgaXMgZGlzYWJsZWQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMjMyMDk5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA4LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA4LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDA4IENhbWVyb24gWndhcmljaCA8Y3d6d2FyaWNoQHV3YXRlcmxvby5jYT4KICAq
IENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEsIFMuTC4KICAqCkBAIC0zMTM5LDYgKzMxMzksMTYg
QEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6Z2V0VmFyaWFibGVzVW5kZQogICAgIH0KIH0KIAor
dm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6cHJlc2VydmVURFpTdGFjayhCeXRlY29kZUdlbmVyYXRv
cjo6UHJlc2VydmVkVERaU3RhY2smIHByZXNlcnZlZFN0YWNrKQoreworICAgIHByZXNlcnZlZFN0
YWNrLm1fcHJlc2VydmVkVERaU3RhY2sgPSBtX1REWlN0YWNrOworfQorCit2b2lkIEJ5dGVjb2Rl
R2VuZXJhdG9yOjpyZXN0b3JlVERaU3RhY2soY29uc3QgQnl0ZWNvZGVHZW5lcmF0b3I6OlByZXNl
cnZlZFREWlN0YWNrJiBwcmVzZXJ2ZWRTdGFjaykKK3sKKyAgICBtX1REWlN0YWNrID0gcHJlc2Vy
dmVkU3RhY2subV9wcmVzZXJ2ZWRURFpTdGFjazsKK30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXROZXdPYmplY3QoUmVnaXN0ZXJJRCogZHN0KQogewogICAgIHNpemVfdCBi
ZWdpbiA9IGluc3RydWN0aW9ucygpLnNpemUoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgJKHJldmlzaW9u
IDIzMjA5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDgtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDgtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDggQ2FtZXJvbiBad2FyaWNoIDxjd3p3YXJpY2hAdXdhdGVybG9vLmNh
PgogICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSwgUy5MLgogICoKQEAgLTExMTMsNiArMTEx
MywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBpbml0aWFsaXplQXJyb3dGdW5j
dGlvbkNvbnRleHRTY29wZUlmTmVlZGVkKFN5bWJvbFRhYmxlKiBmdW5jdGlvblN5bWJvbFRhYmxl
ID0gbnVsbHB0ciwgYm9vbCBjYW5SZXVzZUxleGljYWxFbnZpcm9ubWVudCA9IGZhbHNlKTsKICAg
ICAgICAgYm9vbCBuZWVkc0Rlcml2ZWRDb25zdHJ1Y3RvckluQXJyb3dGdW5jdGlvbkxleGljYWxF
bnZpcm9ubWVudCgpOwogCisgICAgICAgIGVudW0gY2xhc3MgVERaTmVjZXNzaXR5TGV2ZWwgewor
ICAgICAgICAgICAgTm90TmVlZGVkLAorICAgICAgICAgICAgT3B0aW1pemUsCisgICAgICAgICAg
ICBEb05vdE9wdGltaXplCisgICAgICAgIH07CisgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBURFpOZWNlc3NpdHlMZXZlbCwgSWRlbnRpZmllclJlcEhh
c2g+IFREWk1hcDsKKwogICAgIHB1YmxpYzoKICAgICAgICAgSlNTdHJpbmcqIGFkZFN0cmluZ0Nv
bnN0YW50KGNvbnN0IElkZW50aWZpZXImKTsKICAgICAgICAgSlNWYWx1ZSBhZGRCaWdJbnRDb25z
dGFudChjb25zdCBJZGVudGlmaWVyJiwgdWludDhfdCByYWRpeCk7CkBAIC0xMTIyLDYgKzExMjks
MTUgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRocm93RXhw
cmVzc2lvblRvb0RlZXBFeGNlcHRpb24oKTsKIAorICAgICAgICBjbGFzcyBQcmVzZXJ2ZWRURFpT
dGFjayB7CisgICAgICAgIHByaXZhdGU6CisgICAgICAgICAgICBWZWN0b3I8VERaTWFwPiBtX3By
ZXNlcnZlZFREWlN0YWNrOworICAgICAgICAgICAgZnJpZW5kIGNsYXNzIEJ5dGVjb2RlR2VuZXJh
dG9yOworICAgICAgICB9OworCisgICAgICAgIHZvaWQgcHJlc2VydmVURFpTdGFjayhQcmVzZXJ2
ZWRURFpTdGFjayYpOworICAgICAgICB2b2lkIHJlc3RvcmVURFpTdGFjayhjb25zdCBQcmVzZXJ2
ZWRURFpTdGFjayYpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgVmVjdG9yPFVubGlua2VkSW5z
dHJ1Y3Rpb24sIDAsIFVuc2FmZVZlY3Rvck92ZXJmbG93PiBtX2luc3RydWN0aW9uczsKIApAQCAt
MTEzNCwxMiArMTE1MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgaW50IG1fc3lt
Ym9sVGFibGVDb25zdGFudEluZGV4OwogICAgICAgICB9OwogICAgICAgICBWZWN0b3I8TGV4aWNh
bFNjb3BlU3RhY2tFbnRyeT4gbV9sZXhpY2FsU2NvcGVTdGFjazsKLSAgICAgICAgZW51bSBjbGFz
cyBURFpOZWNlc3NpdHlMZXZlbCB7Ci0gICAgICAgICAgICBOb3ROZWVkZWQsCi0gICAgICAgICAg
ICBPcHRpbWl6ZSwKLSAgICAgICAgICAgIERvTm90T3B0aW1pemUKLSAgICAgICAgfTsKLSAgICAg
ICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIFREWk5lY2Vzc2l0
eUxldmVsLCBJZGVudGlmaWVyUmVwSGFzaD4gVERaTWFwOworCiAgICAgICAgIFZlY3RvcjxURFpN
YXA+IG1fVERaU3RhY2s7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBtX3ZhclNjb3Bl
TGV4aWNhbFNjb3BlU3RhY2tJbmRleDsKICAgICAgICAgdm9pZCBwdXNoVERaVmFyaWFibGVzKGNv
bnN0IFZhcmlhYmxlRW52aXJvbm1lbnQmLCBURFpDaGVja09wdGltaXphdGlvbiwgVERaUmVxdWly
ZW1lbnQpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcAkocmV2aXNpb24gMjMyMDk5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MDc1LDYgKzMwNzUsOSBAQCB2b2lkIEZvckluTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2Vu
CiAKICAgICBlbnVtZXJhdG9yID0gZ2VuZXJhdG9yLmVtaXRHZXRQcm9wZXJ0eUVudW1lcmF0b3Io
Z2VuZXJhdG9yLm5ld1RlbXBvcmFyeSgpLCBiYXNlLmdldCgpKTsKIAorICAgIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjpQcmVzZXJ2ZWRURFpTdGFjayBwcmVzZXJ2ZWRURFpTdGFjazsKKyAgICBnZW5lcmF0
b3IucHJlc2VydmVURFpTdGFjayhwcmVzZXJ2ZWRURFpTdGFjayk7CisKICAgICAvLyBJbmRleGVk
IHByb3BlcnR5IGxvb3AuCiAgICAgewogICAgICAgICBSZWY8TGFiZWxTY29wZT4gc2NvcGUgPSBn
ZW5lcmF0b3IubmV3TGFiZWxTY29wZShMYWJlbFNjb3BlOjpMb29wKTsKQEAgLTMxMTQsNiArMzEx
Nyw3IEBAIHZvaWQgRm9ySW5Ob2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW4KICAgICAgICAg
Z2VuZXJhdG9yLmVtaXRKdW1wKGVuZC5nZXQoKSk7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0TGFi
ZWwobG9vcEVuZC5nZXQoKSk7CiAgICAgfQorICAgIGdlbmVyYXRvci5yZXN0b3JlVERaU3RhY2so
cHJlc2VydmVkVERaU3RhY2spOwogCiAgICAgLy8gU3RydWN0dXJlIHByb3BlcnR5IGxvb3AuCiAg
ICAgewpAQCAtMzE1NCw2ICszMTU4LDcgQEAgdm9pZCBGb3JJbk5vZGU6OmVtaXRCeXRlY29kZShC
eXRlY29kZUdlbgogICAgICAgICBnZW5lcmF0b3IuZW1pdEp1bXAoZW5kLmdldCgpKTsKICAgICAg
ICAgZ2VuZXJhdG9yLmVtaXRMYWJlbChsb29wRW5kLmdldCgpKTsKICAgICB9CisgICAgZ2VuZXJh
dG9yLnJlc3RvcmVURFpTdGFjayhwcmVzZXJ2ZWRURFpTdGFjayk7CiAKICAgICAvLyBHZW5lcmlj
IHByb3BlcnR5IGxvb3AuCiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341346</attachid>
            <date>2018-05-25 16:17:55 -0700</date>
            <delta_ts>2018-05-25 17:24:02 -0700</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-185995.patch</filename>
            <type>text/plain</type>
            <size>6666</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzIyMTApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE4LTA1LTI1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBmb3ItaW4gbG9vcHMgc2hvdWxkIHByZXNlcnZlIGFuZCByZXN0b3JlIHRo
ZSBURFogc3RhY2sgZm9yIGVhY2ggb2YgaXRzIGludGVybmFsIGxvb3BzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1OTk1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80MDE3MzE0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4K
KworICAgICAgICAqIHN0cmVzcy9yZWdyZXNzLTE4NTk5NS5qczogQWRkZWQuCisKIDIwMTgtMDUt
MjMgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgRGVm
aW5lIGxlbmd0aCBvbiBDb1cgYXJyYXkgc2hvdWxkIHByb3Blcmx5IGNvbnZlcnQgdG8gd3JpdGFi
bGUKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvc3RyZXNzL3JlZ3Jlc3MtMTg1OTk1LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTMg
QEAKKyhmdW5jdGlvbigpIHsKKyAgICB2YXIgZXhjZXB0aW9uOworICAgIHRyeSB7CisgICAgICAg
IHZhciBsaXN0ID0geyAnYScgOiA1IH07CisgICAgICAgIGZvcihjb25zdCB7IHggPSB4IH0gaW4g
bGlzdCkKKyAgICAgICAgICAgIHgoKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIGV4Y2Vw
dGlvbiA9IGU7CisgICAgfQorCisgICAgaWYgKGV4Y2VwdGlvbiAhPSAiUmVmZXJlbmNlRXJyb3I6
IENhbm5vdCBhY2Nlc3MgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4iKQorICAgICAgICB0aHJvdyAi
RkFJTEVEIjsKK30pKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIz
MjIxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMiBAQAorMjAxOC0wNS0yNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CisKKyAgICAgICAgZm9yLWluIGxvb3BzIHNob3VsZCBwcmVzZXJ2ZSBhbmQgcmVzdG9yZSB0
aGUgVERaIHN0YWNrIGZvciBlYWNoIG9mIGl0cyBpbnRlcm5hbCBsb29wcy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTk5NQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDAxNzMxNDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGku
CisKKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgYW55
IG9mIHRoZSBsb29wIGJvZGllcyB3aWxsIGJlCisgICAgICAgIGV4ZWN1dGVkLiAgSGVuY2UsIHRo
ZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgdGhlIFREWiB2YXJpYWJsZXMgd2lsbCBoYXZlIGJlZW4K
KyAgICAgICAgaW5pdGlhbGl6ZWQgYWZ0ZXIgZWFjaCBsb29wIGJvZHkuCisKKyAgICAgICAgKiBi
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6cHJlc2VydmVURFpTdGFjayk6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjpyZXN0b3JlVERaU3RhY2spOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjpGb3JJbk5vZGU6OmVtaXRCeXRlY29kZSk6CisKIDIwMTgtMDUtMjUgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBKU0MgaGF2ZSBh
IG1pbmkgbW9kZSB0aGF0IGtpY2tzIGluIHdoZW4gdGhlIEpJVCBpcyBkaXNhYmxlZApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDIzMjIxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDYW1lcm9uIFp3YXJp
Y2ggPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlh
LCBTLkwuCiAgKgpAQCAtMzEzOSw2ICszMTM5LDE2IEBAIHZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6
OmdldFZhcmlhYmxlc1VuZGUKICAgICB9CiB9CiAKK3ZvaWQgQnl0ZWNvZGVHZW5lcmF0b3I6OnBy
ZXNlcnZlVERaU3RhY2soQnl0ZWNvZGVHZW5lcmF0b3I6OlByZXNlcnZlZFREWlN0YWNrJiBwcmVz
ZXJ2ZWRTdGFjaykKK3sKKyAgICBwcmVzZXJ2ZWRTdGFjay5tX3ByZXNlcnZlZFREWlN0YWNrID0g
bV9URFpTdGFjazsKK30KKwordm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6cmVzdG9yZVREWlN0YWNr
KGNvbnN0IEJ5dGVjb2RlR2VuZXJhdG9yOjpQcmVzZXJ2ZWRURFpTdGFjayYgcHJlc2VydmVkU3Rh
Y2spCit7CisgICAgbV9URFpTdGFjayA9IHByZXNlcnZlZFN0YWNrLm1fcHJlc2VydmVkVERaU3Rh
Y2s7Cit9CisKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3T2JqZWN0KFJl
Z2lzdGVySUQqIGRzdCkKIHsKICAgICBzaXplX3QgYmVnaW4gPSBpbnN0cnVjdGlvbnMoKS5zaXpl
KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiAyMzIyMTApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA4IENhbWVyb24g
WndhcmljaCA8Y3d6d2FyaWNoQHV3YXRlcmxvby5jYT4KICAqIENvcHlyaWdodCAoQykgMjAxMiBJ
Z2FsaWEsIFMuTC4KICAqCkBAIC0xMTEzLDYgKzExMTMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIHZvaWQgaW5pdGlhbGl6ZUFycm93RnVuY3Rpb25Db250ZXh0U2NvcGVJZk5lZWRlZChT
eW1ib2xUYWJsZSogZnVuY3Rpb25TeW1ib2xUYWJsZSA9IG51bGxwdHIsIGJvb2wgY2FuUmV1c2VM
ZXhpY2FsRW52aXJvbm1lbnQgPSBmYWxzZSk7CiAgICAgICAgIGJvb2wgbmVlZHNEZXJpdmVkQ29u
c3RydWN0b3JJbkFycm93RnVuY3Rpb25MZXhpY2FsRW52aXJvbm1lbnQoKTsKIAorICAgICAgICBl
bnVtIGNsYXNzIFREWk5lY2Vzc2l0eUxldmVsIHsKKyAgICAgICAgICAgIE5vdE5lZWRlZCwKKyAg
ICAgICAgICAgIE9wdGltaXplLAorICAgICAgICAgICAgRG9Ob3RPcHRpbWl6ZQorICAgICAgICB9
OworICAgICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgVERa
TmVjZXNzaXR5TGV2ZWwsIElkZW50aWZpZXJSZXBIYXNoPiBURFpNYXA7CisKICAgICBwdWJsaWM6
CiAgICAgICAgIEpTU3RyaW5nKiBhZGRTdHJpbmdDb25zdGFudChjb25zdCBJZGVudGlmaWVyJik7
CiAgICAgICAgIEpTVmFsdWUgYWRkQmlnSW50Q29uc3RhbnQoY29uc3QgSWRlbnRpZmllciYsIHVp
bnQ4X3QgcmFkaXgpOwpAQCAtMTEyMiw2ICsxMTI5LDE1IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXRUaHJvd0V4cHJlc3Npb25Ub29EZWVwRXhjZXB0aW9uKCk7
CiAKKyAgICAgICAgY2xhc3MgUHJlc2VydmVkVERaU3RhY2sgeworICAgICAgICBwcml2YXRlOgor
ICAgICAgICAgICAgVmVjdG9yPFREWk1hcD4gbV9wcmVzZXJ2ZWRURFpTdGFjazsKKyAgICAgICAg
ICAgIGZyaWVuZCBjbGFzcyBCeXRlY29kZUdlbmVyYXRvcjsKKyAgICAgICAgfTsKKworICAgICAg
ICB2b2lkIHByZXNlcnZlVERaU3RhY2soUHJlc2VydmVkVERaU3RhY2smKTsKKyAgICAgICAgdm9p
ZCByZXN0b3JlVERaU3RhY2soY29uc3QgUHJlc2VydmVkVERaU3RhY2smKTsKKwogICAgIHByaXZh
dGU6CiAgICAgICAgIFZlY3RvcjxVbmxpbmtlZEluc3RydWN0aW9uLCAwLCBVbnNhZmVWZWN0b3JP
dmVyZmxvdz4gbV9pbnN0cnVjdGlvbnM7CiAKQEAgLTExMzQsMTIgKzExNTAsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgICAgIGludCBtX3N5bWJvbFRhYmxlQ29uc3RhbnRJbmRleDsKICAg
ICAgICAgfTsKICAgICAgICAgVmVjdG9yPExleGljYWxTY29wZVN0YWNrRW50cnk+IG1fbGV4aWNh
bFNjb3BlU3RhY2s7Ci0gICAgICAgIGVudW0gY2xhc3MgVERaTmVjZXNzaXR5TGV2ZWwgewotICAg
ICAgICAgICAgTm90TmVlZGVkLAotICAgICAgICAgICAgT3B0aW1pemUsCi0gICAgICAgICAgICBE
b05vdE9wdGltaXplCi0gICAgICAgIH07Ci0gICAgICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8
VW5pcXVlZFN0cmluZ0ltcGw+LCBURFpOZWNlc3NpdHlMZXZlbCwgSWRlbnRpZmllclJlcEhhc2g+
IFREWk1hcDsKKwogICAgICAgICBWZWN0b3I8VERaTWFwPiBtX1REWlN0YWNrOwogICAgICAgICBz
dGQ6Om9wdGlvbmFsPHNpemVfdD4gbV92YXJTY29wZUxleGljYWxTY29wZVN0YWNrSW5kZXg7CiAg
ICAgICAgIHZvaWQgcHVzaFREWlZhcmlhYmxlcyhjb25zdCBWYXJpYWJsZUVudmlyb25tZW50Jiwg
VERaQ2hlY2tPcHRpbWl6YXRpb24sIFREWlJlcXVpcmVtZW50KTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHJldmlz
aW9uIDIzMjIxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA3NSw2ICszMDc1LDkgQEAgdm9pZCBGb3JJ
bk5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbgogCiAgICAgZW51bWVyYXRvciA9IGdlbmVy
YXRvci5lbWl0R2V0UHJvcGVydHlFbnVtZXJhdG9yKGdlbmVyYXRvci5uZXdUZW1wb3JhcnkoKSwg
YmFzZS5nZXQoKSk7CiAKKyAgICBCeXRlY29kZUdlbmVyYXRvcjo6UHJlc2VydmVkVERaU3RhY2sg
cHJlc2VydmVkVERaU3RhY2s7CisgICAgZ2VuZXJhdG9yLnByZXNlcnZlVERaU3RhY2socHJlc2Vy
dmVkVERaU3RhY2spOworCiAgICAgLy8gSW5kZXhlZCBwcm9wZXJ0eSBsb29wLgogICAgIHsKICAg
ICAgICAgUmVmPExhYmVsU2NvcGU+IHNjb3BlID0gZ2VuZXJhdG9yLm5ld0xhYmVsU2NvcGUoTGFi
ZWxTY29wZTo6TG9vcCk7CkBAIC0zMTE0LDYgKzMxMTcsNyBAQCB2b2lkIEZvckluTm9kZTo6ZW1p
dEJ5dGVjb2RlKEJ5dGVjb2RlR2VuCiAgICAgICAgIGdlbmVyYXRvci5lbWl0SnVtcChlbmQuZ2V0
KCkpOwogICAgICAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGxvb3BFbmQuZ2V0KCkpOwogICAgIH0K
KyAgICBnZW5lcmF0b3IucmVzdG9yZVREWlN0YWNrKHByZXNlcnZlZFREWlN0YWNrKTsKIAogICAg
IC8vIFN0cnVjdHVyZSBwcm9wZXJ0eSBsb29wLgogICAgIHsKQEAgLTMxNTQsNiArMzE1OCw3IEBA
IHZvaWQgRm9ySW5Ob2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW4KICAgICAgICAgZ2VuZXJh
dG9yLmVtaXRKdW1wKGVuZC5nZXQoKSk7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0TGFiZWwobG9v
cEVuZC5nZXQoKSk7CiAgICAgfQorICAgIGdlbmVyYXRvci5yZXN0b3JlVERaU3RhY2socHJlc2Vy
dmVkVERaU3RhY2spOwogCiAgICAgLy8gR2VuZXJpYyBwcm9wZXJ0eSBsb29wLgogICAgIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>