<?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>180366</bug_id>
          
          <creation_ts>2017-12-04 11:08:30 -0800</creation_ts>
          <short_desc>We need to leave room on the top of the stack for the FTL TailCall slow path so it doesn&apos;t overwrite things we want to retrieve when doing a stack walk when throwing an exception</short_desc>
          <delta_ts>2017-12-04 14:00:29 -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>JavaScriptCore</component>
          <version>Safari Technology Preview</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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377780</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 11:08:30 -0800</bug_when>
    <thetext>Otherwise, the slow path branch will overwrite things on the stack before calling into the slow path C call. Once we&apos;re in the C call, we realize we&apos;re actually going to throw an exception because we&apos;re trying to call something that isn&apos;t callable. Then we&apos;ll throw an exception, which does a stack walk. This stack walk will read the stack to recover the callee of inlined frames, which might have been overwritten with garbage already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377781</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 11:09:02 -0800</bug_when>
    <thetext>I&apos;m wondering if this is needed in the DFG as well. I suspect it is, but I have yet to prove it with a crashing test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377782</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 11:10:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/35685877&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377787</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 11:15:57 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #1)
&gt; I&apos;m wondering if this is needed in the DFG as well. I suspect it is, but I
&gt; have yet to prove it with a crashing test.

The DFG already handles exactly this via Graph&apos;s m_parameterSlots which tracks the maximum outgoing call parameter count.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377800</commentid>
    <comment_count>4</comment_count>
      <attachid>328368</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 11:46:06 -0800</bug_when>
    <thetext>Created attachment 328368
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377802</commentid>
    <comment_count>5</comment_count>
      <attachid>328368</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-04 12:00:57 -0800</bug_when>
    <thetext>Comment on attachment 328368
patch

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:6994
&gt; +        m_proc.requestCallArgAreaSizeInBytes(
&gt; +            WTF::roundUpToMultipleOf(stackAlignmentBytes(), (CallFrame::headerSizeInRegisters + numArgs) * sizeof(EncodedJSValue)));

AirCode::requestCallArgAreaSizeInBytes() already takes care of aligning to stackAlignmentBytes().  So, no need to do that here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377815</commentid>
    <comment_count>6</comment_count>
      <attachid>328368</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 12:15:44 -0800</bug_when>
    <thetext>Comment on attachment 328368
patch

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

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:6994
&gt;&gt; +            WTF::roundUpToMultipleOf(stackAlignmentBytes(), (CallFrame::headerSizeInRegisters + numArgs) * sizeof(EncodedJSValue)));
&gt; 
&gt; AirCode::requestCallArgAreaSizeInBytes() already takes care of aligning to stackAlignmentBytes().  So, no need to do that here.

I&apos;m going to keep the rounding in to stay consistent w/ other places that do this in FTLLower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377825</commentid>
    <comment_count>7</comment_count>
      <attachid>328368</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-12-04 12:33:26 -0800</bug_when>
    <thetext>Comment on attachment 328368
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377830</commentid>
    <comment_count>8</comment_count>
      <attachid>328376</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-04 12:39:10 -0800</bug_when>
    <thetext>Created attachment 328376
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377893</commentid>
    <comment_count>9</comment_count>
      <attachid>328376</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 14:00:27 -0800</bug_when>
    <thetext>Comment on attachment 328376
patch for landing

Clearing flags on attachment: 328376

Committed r225492: &lt;https://trac.webkit.org/changeset/225492&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377894</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 14:00:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328368</attachid>
            <date>2017-12-04 11:46:06 -0800</date>
            <delta_ts>2017-12-04 12:39:10 -0800</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>5357</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjU0ODMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIzIEBACisyMDE3LTEyLTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gbGVhdmUgcm9vbSBvbiB0aGUgdG9wIG9mIHRoZSBz
dGFjayBmb3IgdGhlIEZUTCBUYWlsQ2FsbCBzbG93IHBhdGggc28gaXQgZG9lc24ndCBvdmVyd3Jp
dGUgdGhpbmdzIHdlIHdhbnQgdG8gcmV0cmlldmUgd2hlbiBkb2luZyBhIHN0YWNrIHdhbGsgd2hl
biB0aHJvd2luZyBhbiBleGNlcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MDM2NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU2ODU4Nzc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJl
c3MvZnRsLXRhaWwtY2FsbC10aHJvdy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVjb3Zlci1z
dGFjay12YWx1ZXMuanM6IEFkZGVkLgorICAgICAgICAodGhlUGFyZW50KToKKyAgICAgICAgKHRl
c3QxLmJhc2UuZ2V0UGFyZW50U3RhdGljVmFsdWUpOgorICAgICAgICAodGVzdDEuYmFzZSk6Cisg
ICAgICAgICh0ZXN0MS5fX3ZfMjQ4ODgucHJvdG90eXBlLnNldCBwcm9wKToKKyAgICAgICAgKHRl
c3QxLl9fdl8yNDg4OCk6CisgICAgICAgICh0ZXN0Mi5iYXNlLmdldFBhcmVudFN0YXRpY1ZhbHVl
KToKKyAgICAgICAgKHRlc3QyLmJhc2UpOgorICAgICAgICAodGVzdDIuX192XzI0ODg4LnByb3Rv
dHlwZS5zZXQgcHJvcCk6CisgICAgICAgICh0ZXN0Mi5fX3ZfMjQ4ODgpOgorICAgICAgICAodGVz
dDIpOgorCiAyMDE3LTEyLTAxICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUcnkgcHJveHlpbmcgYWxsIGZ1bmN0aW9uIGFyZ3VtZW50cwpJbmRleDogSlNUZXN0
cy9zdHJlc3MvZnRsLXRhaWwtY2FsbC10aHJvdy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVj
b3Zlci1zdGFjay12YWx1ZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvZnRsLXRh
aWwtY2FsbC10aHJvdy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVjb3Zlci1zdGFjay12YWx1
ZXMuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvZnRsLXRhaWwtY2FsbC10aHJv
dy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVjb3Zlci1zdGFjay12YWx1ZXMuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAordmFyIHRoZVBhcmVudCA9IGZ1bmN0aW9uICgpIHsg
fTsKKworZnVuY3Rpb24gdGVzdDEoKSB7CisgICAgdmFyIGJhc2UgPSBjbGFzcyBfX2NfNDE4IGV4
dGVuZHMgdGhlUGFyZW50IHsKKyAgICAgICAgc3RhdGljIGdldFBhcmVudFN0YXRpY1ZhbHVlKCkg
eworICAgICAgICAgICAgbGV0IGFycm93ID0gKGEsYixjKSA9PiBzdXBlci5nZXRTdGF0aWNWYWx1
ZShhLGIsYyk7CisgICAgICAgICAgICByZXR1cm4gYXJyb3coMSwxLDEpOworICAgICAgICB9Cisg
ICAgfTsKKworICAgIGxldCBwcmludGVkID0gZmFsc2U7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwMDsgaSsrKSB7CisgICAgICAgIHRyeSB7IGJhc2UuZ2V0UGFyZW50U3RhdGljVmFsdWUo
KSAgfSBjYXRjaCAoZSkge30KKyAgICAgICAgdHJ5IHsgYmFzZS5nZXRQYXJlbnRTdGF0aWNWYWx1
ZSgpICB9IGNhdGNoIChlKSB7fQorICAgIH0KKworICAgIHZhciBfX3ZfMjQ4ODggPSBjbGFzcyBf
X2NfNDIxIGV4dGVuZHMKKyAgICBiYXNlIHsKKyAgICAgICAgc2V0IHByb3AoX192XzI0OTA5KSB7
CisgICAgICAgIH0KKyAgICB9OworfQordGVzdDEoKTsKKworZnVuY3Rpb24gdGVzdDIoKSB7Cisg
ICAgdmFyIGJhc2UgPSBjbGFzcyBfX2NfNDE4IGV4dGVuZHMgdGhlUGFyZW50IHsKKyAgICAgICAg
c3RhdGljIGdldFBhcmVudFN0YXRpY1ZhbHVlKCkgeworICAgICAgICAgICAgbGV0IGFycm93ID0g
KCkgPT4gc3VwZXIuZ2V0U3RhdGljVmFsdWUoKTsKKyAgICAgICAgICAgIHJldHVybiBhcnJvdygp
OworICAgICAgICB9CisgICAgfTsKKworICAgIGxldCBwcmludGVkID0gZmFsc2U7CisgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAgICAgIHRyeSB7IGJhc2UuZ2V0UGFy
ZW50U3RhdGljVmFsdWUoKSAgfSBjYXRjaCAoZSkge30KKyAgICAgICAgdHJ5IHsgYmFzZS5nZXRQ
YXJlbnRTdGF0aWNWYWx1ZSgpICB9IGNhdGNoIChlKSB7fQorICAgIH0KKworICAgIHZhciBfX3Zf
MjQ4ODggPSBjbGFzcyBfX2NfNDIxIGV4dGVuZHMKKyAgICBiYXNlIHsKKyAgICAgICAgc2V0IHBy
b3AoX192XzI0OTA5KSB7CisgICAgICAgIH0KKyAgICB9OworfQordGVzdDIoKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjI1NDQyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTEy
LTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFdlIG5lZWQg
dG8gbGVhdmUgcm9vbSBvbiB0aGUgdG9wIG9mIHRoZSBzdGFjayBmb3IgdGhlIEZUTCBUYWlsQ2Fs
bCBzbG93IHBhdGggc28gaXQgZG9lc24ndCBvdmVyd3JpdGUgdGhpbmdzIHdlIHdhbnQgdG8gcmV0
cmlldmUgd2hlbiBkb2luZyBhIHN0YWNrIHdhbGsgd2hlbiB0aHJvd2luZyBhbiBleGNlcHRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM2Ngor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU2ODU4Nzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT24gdGhlIFRhaWxDYWxsIHNsb3cgcGF0aCwgdGhl
IENhbGxGcmFtZVNodWZmbGVyIHdpbGwgYnVpbGQgdGhlIGZyYW1lIHdpdGgKKyAgICAgICAgcmVz
cGVjdCB0byBTUCBpbnN0ZWFkIG9mIEZQLiBIb3dldmVyLCB0aGlzIG1heSBvdmVyd3JpdGUgc2xv
dHMgb24gdGhlIHN0YWNrCisgICAgICAgIHRoYXQgYXJlIG5lZWRlZCBpZiB0aGUgc2xvdyBwYXRo
IEMgY2FsbCBkb2VzIGEgc3RhY2sgd2Fsay4gVGhlIHNsb3cgcGF0aAorICAgICAgICBDIGNhbGwg
ZG9lcyBhIHN0YWNrIHdhbGsgd2hlbiBpdCB0aHJvd3MgYW4gZXhjZXB0aW9uLiBUaGlzIHBhdGNo
IGZpeGVzCisgICAgICAgIHRoaXMgYnVnIGJ5IGVuc3VyaW5nIHRoYXQgdGhlIHRvcCBvZiB0aGUg
c3RhY2sgaW4gdGhlIEZUTCBhbHdheXMgaGFzIGVub3VnaAorICAgICAgICBzcGFjZSB0byBhbGxv
dyBDYWxsRnJhbWVTaHVmZmxlciB0byBidWlsZCBhIGZyYW1lIHdpdGhvdXQgb3ZlcndyaXRpbmcg
YW55CisgICAgICAgIGl0ZW1zIG9uIHRoZSBzdGFjayB0aGF0IGFyZSBuZWVkZWQgd2hlbiBkb2lu
ZyBhIHN0YWNrIHdhbGsuCisKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVRhaWxDYWxsKToKKwog
MjAxNy0xMi0wMSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTGV0
J3Mgc2NyYW1ibGUgQ2xhc3NJbmZvIHBvaW50ZXJzIGluIGNlbGxzLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMjI1NDQy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OTgzLDYgKzY5ODMsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgTm9kZSog
bm9kZSA9IG1fbm9kZTsKICAgICAgICAgdW5zaWduZWQgbnVtQXJncyA9IG5vZGUtPm51bUNoaWxk
cmVuKCkgLSAxOwogCisgICAgICAgIC8vIEl0IHNlZW1zIGNvdW50ZXJpbnR1aXRpdmUgdGhhdCB0
aGlzIGlzIG5lZWRlZCBnaXZlbiB0aGF0IHRhaWwgY2FsbHMgZG9uJ3QgY3JlYXRlIGEgbmV3IGZy
YW1lCisgICAgICAgIC8vIG9uIHRoZSBzdGFjay4gSG93ZXZlciwgdGhlIHRhaWwgY2FsbCBzbG93
IHBhdGggYnVpbGRzIHRoZSBmcmFtZSBhdCBTUCBpbnN0ZWFkIG9mIEZQIGJlZm9yZQorICAgICAg
ICAvLyBjYWxsaW5nIGludG8gdGhlIHNsb3cgcGF0aCBDIGNvZGUuIFRoaXMgc2xvdyBwYXRoIG1h
eSBkZWNpZGUgdG8gdGhyb3cgYW4gZXhjZXB0aW9uIGJlY2F1c2UKKyAgICAgICAgLy8gdGhlIGNh
bGxlZSB3ZSdyZSB0cnlpbmcgdG8gY2FsbCBpcyBub3QgY2FsbGFibGUuIFRocm93aW5nIGFuIGV4
Y2VwdGlvbiB3aWxsIGNhdXNlIHVzIHRvIHdhbGsKKyAgICAgICAgLy8gdGhlIHN0YWNrLCB3aGlj
aCBtYXkgcmVhZCwgZm9yIHRoZSBzYWtlIG9mIHRoZSBjb3JyZWN0bmVzcyBvZiB0aGlzIGNvZGUs
IGFyYml0cmFyeSBzbG90cyBvbiB0aGUKKyAgICAgICAgLy8gc3RhY2sgdG8gcmVjb3ZlciBzdGF0
ZS4gVGhpcyBjYWxsIGFyZyBhcmVhIGVuc3VyZXMgdGhlIGNhbGwgZnJhbWUgc2h1ZmZsZXIgZG9l
cyBub3Qgb3ZlcndyaXRlCisgICAgICAgIC8vIGFueSBvZiB0aGUgc2xvdHMgdGhlIHN0YWNrIHdh
bGtpbmcgY29kZSByZXF1aXJlcyB3aGVuIG9uIHRoZSBzbG93IHBhdGguCisgICAgICAgIG1fcHJv
Yy5yZXF1ZXN0Q2FsbEFyZ0FyZWFTaXplSW5CeXRlcygKKyAgICAgICAgICAgIFdURjo6cm91bmRV
cFRvTXVsdGlwbGVPZihzdGFja0FsaWdubWVudEJ5dGVzKCksIChDYWxsRnJhbWU6OmhlYWRlclNp
emVJblJlZ2lzdGVycyArIG51bUFyZ3MpICogc2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkpOworCiAg
ICAgICAgIExWYWx1ZSBqc0NhbGxlZSA9IGxvd0pTVmFsdWUobV9ncmFwaC52YXJBcmdDaGlsZChu
b2RlLCAwKSk7CiAgICAgICAgIAogICAgICAgICAvLyBXZSB3YW50IEIzIHRvIGdpdmUgdXMgYWxs
IG9mIHRoZSBhcmd1bWVudHMgdXNpbmcgd2hhdGV2ZXIgbWVjaGFuaXNtIGl0IHRoaW5rcyBpcwo=
</data>
<flag name="review"
          id="347550"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328376</attachid>
            <date>2017-12-04 12:39:10 -0800</date>
            <delta_ts>2017-12-04 14:00:27 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>5079</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjU0ODMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIzIEBACisyMDE3LTEyLTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlIG5lZWQgdG8gbGVhdmUgcm9vbSBvbiB0aGUgdG9wIG9mIHRoZSBz
dGFjayBmb3IgdGhlIEZUTCBUYWlsQ2FsbCBzbG93IHBhdGggc28gaXQgZG9lc24ndCBvdmVyd3Jp
dGUgdGhpbmdzIHdlIHdhbnQgdG8gcmV0cmlldmUgd2hlbiBkb2luZyBhIHN0YWNrIHdhbGsgd2hl
biB0aHJvd2luZyBhbiBleGNlcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MDM2NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU2ODU4Nzc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWljaGFlbCBTYWJvZmYuCisKKyAgICAgICAgKiBzdHJl
c3MvZnRsLXRhaWwtY2FsbC10aHJvdy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVjb3Zlci1z
dGFjay12YWx1ZXMuanM6IEFkZGVkLgorICAgICAgICAodGhlUGFyZW50KToKKyAgICAgICAgKHRl
c3QxLmJhc2UuZ2V0UGFyZW50U3RhdGljVmFsdWUpOgorICAgICAgICAodGVzdDEuYmFzZSk6Cisg
ICAgICAgICh0ZXN0MS5fX3ZfMjQ4ODgucHJvdG90eXBlLnNldCBwcm9wKToKKyAgICAgICAgKHRl
c3QxLl9fdl8yNDg4OCk6CisgICAgICAgICh0ZXN0Mi5iYXNlLmdldFBhcmVudFN0YXRpY1ZhbHVl
KToKKyAgICAgICAgKHRlc3QyLmJhc2UpOgorICAgICAgICAodGVzdDIuX192XzI0ODg4LnByb3Rv
dHlwZS5zZXQgcHJvcCk6CisgICAgICAgICh0ZXN0Mi5fX3ZfMjQ4ODgpOgorICAgICAgICAodGVz
dDIpOgorCiAyMDE3LTEyLTAxICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUcnkgcHJveHlpbmcgYWxsIGZ1bmN0aW9uIGFyZ3VtZW50cwpJbmRleDogSlNUZXN0
cy9zdHJlc3MvZnRsLXRhaWwtY2FsbC10aHJvdy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVj
b3Zlci1zdGFjay12YWx1ZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvZnRsLXRh
aWwtY2FsbC10aHJvdy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVjb3Zlci1zdGFjay12YWx1
ZXMuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvZnRsLXRhaWwtY2FsbC10aHJv
dy1leGNlcHRpb24tZnJvbS1zbG93LXBhdGgtcmVjb3Zlci1zdGFjay12YWx1ZXMuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAordmFyIHRoZVBhcmVudCA9IGZ1bmN0aW9uICgpIHsg
fTsKKworZnVuY3Rpb24gdGVzdDEoKSB7CisgICAgdmFyIGJhc2UgPSBjbGFzcyBDIGV4dGVuZHMg
dGhlUGFyZW50IHsKKyAgICAgICAgc3RhdGljIGdldFBhcmVudFN0YXRpY1ZhbHVlKCkgeworICAg
ICAgICAgICAgbGV0IGFycm93ID0gKGEsYixjKSA9PiBzdXBlci5nZXRTdGF0aWNWYWx1ZShhLGIs
Yyk7CisgICAgICAgICAgICByZXR1cm4gYXJyb3coMSwxLDEpOworICAgICAgICB9CisgICAgfTsK
KworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7IGkrKykgeworICAgICAgICB0cnkgeyBi
YXNlLmdldFBhcmVudFN0YXRpY1ZhbHVlKCkgIH0gY2F0Y2ggKGUpIHt9CisgICAgICAgIHRyeSB7
IGJhc2UuZ2V0UGFyZW50U3RhdGljVmFsdWUoKSAgfSBjYXRjaCAoZSkge30KKyAgICB9Cit9Cit0
ZXN0MSgpOworCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgICB2YXIgYmFzZSA9IGNsYXNzIEMgZXh0
ZW5kcyB0aGVQYXJlbnQgeworICAgICAgICBzdGF0aWMgZ2V0UGFyZW50U3RhdGljVmFsdWUoKSB7
CisgICAgICAgICAgICBsZXQgYXJyb3cgPSAoKSA9PiBzdXBlci5nZXRTdGF0aWNWYWx1ZSgpOwor
ICAgICAgICAgICAgcmV0dXJuIGFycm93KCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAgICAgIHRyeSB7IGJhc2UuZ2V0UGFy
ZW50U3RhdGljVmFsdWUoKSAgfSBjYXRjaCAoZSkge30KKyAgICAgICAgdHJ5IHsgYmFzZS5nZXRQ
YXJlbnRTdGF0aWNWYWx1ZSgpICB9IGNhdGNoIChlKSB7fQorICAgIH0KK30KK3Rlc3QyKCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNTQ0MikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAor
MjAxNy0xMi0wNCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZSBuZWVkIHRvIGxlYXZlIHJvb20gb24gdGhlIHRvcCBvZiB0aGUgc3RhY2sgZm9yIHRoZSBGVEwg
VGFpbENhbGwgc2xvdyBwYXRoIHNvIGl0IGRvZXNuJ3Qgb3ZlcndyaXRlIHRoaW5ncyB3ZSB3YW50
IHRvIHJldHJpZXZlIHdoZW4gZG9pbmcgYSBzdGFjayB3YWxrIHdoZW4gdGhyb3dpbmcgYW4gZXhj
ZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODAzNjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1Njg1ODc3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE1pY2hhZWwgU2Fib2ZmLgorCisgICAgICAgIE9uIHRoZSBUYWlsQ2FsbCBzbG93IHBh
dGgsIHRoZSBDYWxsRnJhbWVTaHVmZmxlciB3aWxsIGJ1aWxkIHRoZSBmcmFtZSB3aXRoCisgICAg
ICAgIHJlc3BlY3QgdG8gU1AgaW5zdGVhZCBvZiBGUC4gSG93ZXZlciwgdGhpcyBtYXkgb3Zlcndy
aXRlIHNsb3RzIG9uIHRoZSBzdGFjaworICAgICAgICB0aGF0IGFyZSBuZWVkZWQgaWYgdGhlIHNs
b3cgcGF0aCBDIGNhbGwgZG9lcyBhIHN0YWNrIHdhbGsuIFRoZSBzbG93IHBhdGgKKyAgICAgICAg
QyBjYWxsIGRvZXMgYSBzdGFjayB3YWxrIHdoZW4gaXQgdGhyb3dzIGFuIGV4Y2VwdGlvbi4gVGhp
cyBwYXRjaCBmaXhlcworICAgICAgICB0aGlzIGJ1ZyBieSBlbnN1cmluZyB0aGF0IHRoZSB0b3Ag
b2YgdGhlIHN0YWNrIGluIHRoZSBGVEwgYWx3YXlzIGhhcyBlbm91Z2gKKyAgICAgICAgc3BhY2Ug
dG8gYWxsb3cgQ2FsbEZyYW1lU2h1ZmZsZXIgdG8gYnVpbGQgYSBmcmFtZSB3aXRob3V0IG92ZXJ3
cml0aW5nIGFueQorICAgICAgICBpdGVtcyBvbiB0aGUgc3RhY2sgdGhhdCBhcmUgbmVlZGVkIHdo
ZW4gZG9pbmcgYSBzdGFjayB3YWxrLgorCisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVUYWlsQ2Fs
bCk6CisKIDIwMTctMTItMDEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIExldCdzIHNjcmFtYmxlIENsYXNzSW5mbyBwb2ludGVycyBpbiBjZWxscy4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9u
IDIyNTQ0MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjk4Myw2ICs2OTgzLDE2IEBAIHByaXZhdGU6CiAgICAgICAg
IE5vZGUqIG5vZGUgPSBtX25vZGU7CiAgICAgICAgIHVuc2lnbmVkIG51bUFyZ3MgPSBub2RlLT5u
dW1DaGlsZHJlbigpIC0gMTsKIAorICAgICAgICAvLyBJdCBzZWVtcyBjb3VudGVyaW50dWl0aXZl
IHRoYXQgdGhpcyBpcyBuZWVkZWQgZ2l2ZW4gdGhhdCB0YWlsIGNhbGxzIGRvbid0IGNyZWF0ZSBh
IG5ldyBmcmFtZQorICAgICAgICAvLyBvbiB0aGUgc3RhY2suIEhvd2V2ZXIsIHRoZSB0YWlsIGNh
bGwgc2xvdyBwYXRoIGJ1aWxkcyB0aGUgZnJhbWUgYXQgU1AgaW5zdGVhZCBvZiBGUCBiZWZvcmUK
KyAgICAgICAgLy8gY2FsbGluZyBpbnRvIHRoZSBzbG93IHBhdGggQyBjb2RlLiBUaGlzIHNsb3cg
cGF0aCBtYXkgZGVjaWRlIHRvIHRocm93IGFuIGV4Y2VwdGlvbiBiZWNhdXNlCisgICAgICAgIC8v
IHRoZSBjYWxsZWUgd2UncmUgdHJ5aW5nIHRvIGNhbGwgaXMgbm90IGNhbGxhYmxlLiBUaHJvd2lu
ZyBhbiBleGNlcHRpb24gd2lsbCBjYXVzZSB1cyB0byB3YWxrCisgICAgICAgIC8vIHRoZSBzdGFj
aywgd2hpY2ggbWF5IHJlYWQsIGZvciB0aGUgc2FrZSBvZiB0aGUgY29ycmVjdG5lc3Mgb2YgdGhp
cyBjb2RlLCBhcmJpdHJhcnkgc2xvdHMgb24gdGhlCisgICAgICAgIC8vIHN0YWNrIHRvIHJlY292
ZXIgc3RhdGUuIFRoaXMgY2FsbCBhcmcgYXJlYSBlbnN1cmVzIHRoZSBjYWxsIGZyYW1lIHNodWZm
bGVyIGRvZXMgbm90IG92ZXJ3cml0ZQorICAgICAgICAvLyBhbnkgb2YgdGhlIHNsb3RzIHRoZSBz
dGFjayB3YWxraW5nIGNvZGUgcmVxdWlyZXMgd2hlbiBvbiB0aGUgc2xvdyBwYXRoLgorICAgICAg
ICBtX3Byb2MucmVxdWVzdENhbGxBcmdBcmVhU2l6ZUluQnl0ZXMoCisgICAgICAgICAgICBXVEY6
OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRCeXRlcygpLCAoQ2FsbEZyYW1lOjpo
ZWFkZXJTaXplSW5SZWdpc3RlcnMgKyBudW1BcmdzKSAqIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkp
KTsKKwogICAgICAgICBMVmFsdWUganNDYWxsZWUgPSBsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJn
Q2hpbGQobm9kZSwgMCkpOwogICAgICAgICAKICAgICAgICAgLy8gV2Ugd2FudCBCMyB0byBnaXZl
IHVzIGFsbCBvZiB0aGUgYXJndW1lbnRzIHVzaW5nIHdoYXRldmVyIG1lY2hhbmlzbSBpdCB0aGlu
a3MgaXMK
</data>

          </attachment>
      

    </bug>

</bugzilla>