<?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>209777</bug_id>
          
          <creation_ts>2020-03-30 14:49:20 -0700</creation_ts>
          <short_desc>Delete IC incorrectly caches for proxies</short_desc>
          <delta_ts>2020-04-01 12:10:26 -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>
          
          <blocked>209870</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Justin Michaud">justin</assigned_to>
          <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1635749</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-03-30 14:49:20 -0700</bug_when>
    <thetext>We&apos;re seeing a ASSERTION FAILED: m_cases[i - 1] &lt; m_cases[I] due to DeleteIC.  Here&apos;s the test case:

    function foo() {
        let j = 0;
        while (j++ &lt; 2)
            delete this.x;
        Object.defineProperty(this, &quot;x&quot;, {});
    }

    for (let i = 0; i &lt; 5; i++)
        foo();

Run with --jitPolicyScale=0 --useDFGJIT=0 --useConcurrentJIT=0.

The duplicate cases are:
DeleteMiss:(Committed, ident = &apos;uid:(x)&apos;, structure = 0x10c4faee0:[0xf4c5, JSProxy, {}, NonArray, Proto:0x106dfa368, Leaf])
DeleteNonConfigurable:(Committed, ident = &apos;uid:(x)&apos;, structure = 0x10c4faee0:[0xf4c5, JSProxy, {}, NonArray, Proto:0x106dfa368, Leaf])

&lt;rdar://problem/61051902&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636089</commentid>
    <comment_count>1</comment_count>
      <attachid>395061</attachid>
    <who name="Justin Michaud">justin</who>
    <bug_when>2020-03-31 10:16:38 -0700</bug_when>
    <thetext>Created attachment 395061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636092</commentid>
    <comment_count>2</comment_count>
      <attachid>395061</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-03-31 10:21:42 -0700</bug_when>
    <thetext>Comment on attachment 395061
Patch

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

r=me

&gt; JSTests/ChangeLog:8
&gt; +        * stress/delete-property-ic-compatable.js: Added.

Can you also add variants of this test for the other proxy types?

&gt; JSTests/stress/delete-property-ic-compatable.js:1
&gt; +//@ requireOptions(&quot;--jitPolicyScale=0&quot;, &quot;--useDFGJIT=0&quot;, &quot;--useConcurrentJIT=0&quot;)

I think you can drop the &quot;--useConcurrentJIT=0&quot;.  There will be a test configuration that handles that already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636131</commentid>
    <comment_count>3</comment_count>
      <attachid>395069</attachid>
    <who name="Justin Michaud">justin</who>
    <bug_when>2020-03-31 11:00:15 -0700</bug_when>
    <thetext>Created attachment 395069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636135</commentid>
    <comment_count>4</comment_count>
      <attachid>395069</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-03-31 11:07:33 -0700</bug_when>
    <thetext>Comment on attachment 395069
Patch

Please fix test name /compatable/compatible/.  Please also update the bug title in the ChangeLog since it has changed in bugzilla.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636148</commentid>
    <comment_count>5</comment_count>
      <attachid>395074</attachid>
    <who name="Justin Michaud">justin</who>
    <bug_when>2020-03-31 11:20:30 -0700</bug_when>
    <thetext>Created attachment 395074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636265</commentid>
    <comment_count>6</comment_count>
      <attachid>395074</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-03-31 15:12:04 -0700</bug_when>
    <thetext>Comment on attachment 395074
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        Proxy&apos;s do not change their structure ID when properties are added, so we cannot cache deletes
&gt; +        for them.

why can&apos;t we cache delete on their target though (I mean w.r.t proxy like window, not like Proxy object in ES6)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636594</commentid>
    <comment_count>7</comment_count>
    <who name="Justin Michaud">justin</who>
    <bug_when>2020-04-01 12:00:22 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #6)
&gt; Comment on attachment 395074 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=395074&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:9
&gt; &gt; +        Proxy&apos;s do not change their structure ID when properties are added, so we cannot cache deletes
&gt; &gt; +        for them.
&gt; 
&gt; why can&apos;t we cache delete on their target though (I mean w.r.t proxy like
&gt; window, not like Proxy object in ES6)?

Filed a bug and related it to this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636602</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-01 12:10:25 -0700</bug_when>
    <thetext>Committed r259357: &lt;https://trac.webkit.org/changeset/259357&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395074.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395061</attachid>
            <date>2020-03-31 10:16:38 -0700</date>
            <delta_ts>2020-03-31 11:00:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209777-20200331131637.patch</filename>
            <type>text/plain</type>
            <size>3328</size>
            <attacher name="Justin Michaud">justin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MGUzNGFiMTQwNzk4M2ZlYmMxNWEwY2IwNjVjZmRmNjY0YjUxOWNiLi5lOWIwZDUwNDFiMTIzNTJj
NjRjOTg2Zjk5NDViZjlmMWY4ZGEyYTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMy0zMSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5AanVzdGlubWlj
aGF1ZC5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogbV9jYXNlc1tpIC0gMV0gPCBt
X2Nhc2VzW0ldIGR1ZSB0byBEZWxldGVJQy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwOTc3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFByb3h5J3MgZG8gbm90IGNoYW5nZSB0aGVpciBzdHJ1Y3R1cmUg
SUQgd2hlbiBwcm9wZXJ0aWVzIGFyZSBhZGRlZCwgc28gd2UgY2Fubm90IGNhY2hlIGRlbGV0ZXMK
KyAgICAgICAgZm9yIHRoZW0uCisKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAg
IChKU0M6OnRyeUNhY2hlRGVsZXRlQnkpOgorCiAyMDIwLTAzLTMwICBZdXN1a2UgU3V6dWtpICA8
eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gREZHQXJyYXlNb2RlOjphbHJlYWR5
Q2hlY2tlZCBzaG91bGQgaGF2ZSBOb25BcnJheSBjaGVjayB3aGVuIEFycmF5TW9kZSBpcyBOb25B
cnJheStTbG93UHV0QXJyYXlTdG9yYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlcGF0Y2guY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNw
cAppbmRleCBjM2RmMDc5MmU0ZTcyZDQ5YjRkN2EyMjZjYTEwMTE5NWQ4ZjRjNjA4Li42NDE3ZjIx
ZDU3ZWE0ZjIxYWQzMWE4NzVhOGQ3NzRiOWQ4OWI0YTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVwYXRjaC5jcHAKQEAgLTc1MCw3ICs3NTAsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rp
b24gdHJ5Q2FjaGVEZWxldGVCeShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDb2RlQmxv
YwogICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICAgICAgQVNTRVJUKG9s
ZFN0cnVjdHVyZSk7Ci0gICAgICAgIGlmICghYmFzZVZhbHVlLmlzT2JqZWN0KCkgfHwgIW9sZFN0
cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpKQorICAgICAgICBpZiAoIWJh
c2VWYWx1ZS5pc09iamVjdCgpIHx8ICFvbGRTdHJ1Y3R1cmUtPnByb3BlcnR5QWNjZXNzZXNBcmVD
YWNoZWFibGUoKSB8fCBvbGRTdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAgIHJldHVy
biBHaXZlVXBPbkNhY2hlOwogCiAgICAgICAgIGlmICghc2xvdC5pc0NhY2hlYWJsZURlbGV0ZSgp
KQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRl
eCBlNjBmNGQ0N2NiZTUzODBmMDEyMGIzMzM0MGNkMDU2Y2JhMGI5YjgzLi43MDk1ZTQxYjgyYjc0
NDAyZDlmZWQ4YjBjMGM0Y2QxZWRiNWRkY2M5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxv
ZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAzLTMxICBK
dXN0aW4gTWljaGF1ZCAgPGp1c3RpbkBqdXN0aW5taWNoYXVkLmNvbT4KKworICAgICAgICBBU1NF
UlRJT04gRkFJTEVEOiBtX2Nhc2VzW2kgLSAxXSA8IG1fY2FzZXNbSV0gZHVlIHRvIERlbGV0ZUlD
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5Nzc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJl
c3MvZGVsZXRlLXByb3BlcnR5LWljLWNvbXBhdGFibGUuanM6IEFkZGVkLgorICAgICAgICAobGV0
Lm9iai50aGlzLmZvbyk6CisgICAgICAgICogc3RyZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pbmxpbmUt
Y2FjaGUuanM6CisKIDIwMjAtMDMtMzAgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21h
aWwuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGluIG5hbWVkIGNhcHR1cmUgZ3JvdXAgaWRl
bnRpZmllcnMgZm9yIGRpcmVjdCBzdXJyb2dhdGUgcGFpcnMKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
c3RyZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pYy1jb21wYXRhYmxlLmpzIGIvSlNUZXN0cy9zdHJlc3Mv
ZGVsZXRlLXByb3BlcnR5LWljLWNvbXBhdGFibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA4OWQ4NjExNzZl
ZWYwNTU1ODFjZWRmNTViYTgzOWVkMTJkZjFiYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
c3RyZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pYy1jb21wYXRhYmxlLmpzCkBAIC0wLDAgKzEsMTQgQEAK
Ky8vQCByZXF1aXJlT3B0aW9ucygiLS1qaXRQb2xpY3lTY2FsZT0wIiwgIi0tdXNlREZHSklUPTAi
LCAiLS11c2VDb25jdXJyZW50SklUPTAiKQorCitsZXQgb2JqID0gdGhpcworCitmdW5jdGlvbiBm
b28oKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGRlbGV0ZSBv
YmoueAorfQorbm9JbmxpbmUoZm9vKQorCitmb28oKQorT2JqZWN0LmRlZmluZVByb3BlcnR5KG9i
aiwgIngiLCB7fSkKK2ZvbygpCisgICAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9kZWxl
dGUtcHJvcGVydHktaW5saW5lLWNhY2hlLmpzIGIvSlNUZXN0cy9zdHJlc3MvZGVsZXRlLXByb3Bl
cnR5LWlubGluZS1jYWNoZS5qcwppbmRleCAzZGYwMGQ1ZmI3MGRkNDkzMDM4YmQxNjcxNjMzZmRm
ZGIzMGVmYmY1Li4yOTdlZGQ3ZmNiY2Y2Y2UwNTVlMTkwZDY0ZjVkYTA1NjgxYzYwNDdmIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9kZWxldGUtcHJvcGVydHktaW5saW5lLWNhY2hlLmpzCisr
KyBiL0pTVGVzdHMvc3RyZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pbmxpbmUtY2FjaGUuanMKQEAgLTEs
NCArMSw0IEBACi0vL0AgcnVuRGVmYXVsdCgiLS11c2VCaWdJbnQ9dHJ1ZSIpCisvL0AgcmVxdWly
ZU9wdGlvbnMoIi0tdXNlQmlnSW50PTEiKQogCiBmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uKSB7
CiAgICAgaWYgKCFjb25kaXRpb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395069</attachid>
            <date>2020-03-31 11:00:15 -0700</date>
            <delta_ts>2020-03-31 11:20:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209777-20200331140015.patch</filename>
            <type>text/plain</type>
            <size>3839</size>
            <attacher name="Justin Michaud">justin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MGUzNGFiMTQwNzk4M2ZlYmMxNWEwY2IwNjVjZmRmNjY0YjUxOWNiLi4yN2VhNTkzYmRjZmYyOTMy
MGM4MDljYTY3ZGFiZjU1NzQ1MzM4YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMy0zMSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5AanVzdGlubWlj
aGF1ZC5jb20+CisKKyAgICAgICAgRGVsZXRlIElDIHNob3VsZCBub3QgY2FjaGUgZm9yIHByb3hp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTc3
NworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgIFByb3h5J3MgZG8g
bm90IGNoYW5nZSB0aGVpciBzdHJ1Y3R1cmUgSUQgd2hlbiBwcm9wZXJ0aWVzIGFyZSBhZGRlZCwg
c28gd2UgY2Fubm90IGNhY2hlIGRlbGV0ZXMKKyAgICAgICAgZm9yIHRoZW0uCisKKyAgICAgICAg
KiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRyeUNhY2hlRGVsZXRlQnkpOgorCiAy
MDIwLTAzLTMwICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAg
W0pTQ10gREZHQXJyYXlNb2RlOjphbHJlYWR5Q2hlY2tlZCBzaG91bGQgaGF2ZSBOb25BcnJheSBj
aGVjayB3aGVuIEFycmF5TW9kZSBpcyBOb25BcnJheStTbG93UHV0QXJyYXlTdG9yYWdlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAppbmRleCBjM2RmMDc5MmU0ZTcyZDQ5YjRkN2Ey
MjZjYTEwMTE5NWQ4ZjRjNjA4Li42NDE3ZjIxZDU3ZWE0ZjIxYWQzMWE4NzVhOGQ3NzRiOWQ4OWI0
YTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKQEAgLTc1MCw3ICs3NTAs
NyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVEZWxldGVCeShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBDb2RlQmxvYwogICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9u
Q2FjaGU7CiAKICAgICAgICAgQVNTRVJUKG9sZFN0cnVjdHVyZSk7Ci0gICAgICAgIGlmICghYmFz
ZVZhbHVlLmlzT2JqZWN0KCkgfHwgIW9sZFN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNh
Y2hlYWJsZSgpKQorICAgICAgICBpZiAoIWJhc2VWYWx1ZS5pc09iamVjdCgpIHx8ICFvbGRTdHJ1
Y3R1cmUtPnByb3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKSB8fCBvbGRTdHJ1Y3R1cmUtPmlz
UHJveHkoKSkKICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCiAgICAgICAgIGlm
ICghc2xvdC5pc0NhY2hlYWJsZURlbGV0ZSgpKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VM
b2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBlNjBmNGQ0N2NiZTUzODBmMDEyMGIzMzM0MGNk
MDU2Y2JhMGI5YjgzLi43ODRhMGE0YzA2ZjA3M2YxM2UzYTgyNDFiOWU5MTllNjM1ZDU2NWMwIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDIwLTAzLTMxICBKdXN0aW4gTWljaGF1ZCAgPGp1c3RpbkBqdXN0aW5t
aWNoYXVkLmNvbT4KKworICAgICAgICBEZWxldGUgSUMgc2hvdWxkIG5vdCBjYWNoZSBmb3IgcHJv
eGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5
Nzc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgKiBzdHJlc3Mv
ZGVsZXRlLXByb3BlcnR5LWljLWNvbXBhdGFibGUuanM6IEFkZGVkLgorICAgICAgICAob2JqMS50
aGlzLmZvbzEpOgorICAgICAgICAoZm9vMS5mb28yKToKKyAgICAgICAgKGZvbzEpOgorICAgICAg
ICAoZm9vMi5mb28zKToKKyAgICAgICAgKGZvbzIpOgorICAgICAgICAqIHN0cmVzcy9kZWxldGUt
cHJvcGVydHktaW5saW5lLWNhY2hlLmpzOgorCiAyMDIwLTAzLTMwICBBbGV4ZXkgU2h2YXlrYSAg
PHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBpbiBuYW1lZCBj
YXB0dXJlIGdyb3VwIGlkZW50aWZpZXJzIGZvciBkaXJlY3Qgc3Vycm9nYXRlIHBhaXJzCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9kZWxldGUtcHJvcGVydHktaWMtY29tcGF0YWJsZS5qcyBi
L0pTVGVzdHMvc3RyZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pYy1jb21wYXRhYmxlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYzNTYzZjExN2Q4MmI2YTU3OTI3MDEwMTRkODNjYzM0YjQyZGFmZmUKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3N0cmVzcy9kZWxldGUtcHJvcGVydHktaWMtY29tcGF0YWJsZS5qcwpA
QCAtMCwwICsxLDQwIEBACisvL0AgcmVxdWlyZU9wdGlvbnMoIi0taml0UG9saWN5U2NhbGU9MCIs
ICItLXVzZURGR0pJVD0wIikKKworeworICAgIHZhciBvYmoxID0gdGhpcworICAgIGZ1bmN0aW9u
IGZvbzEoKSB7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICAg
ICAgZGVsZXRlIG9iajEueAorICAgIH0KKyAgICBub0lubGluZShmb28xKQorCisgICAgZm9vMSgp
CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iajEsICJ4Iiwge30pCisgICAgZm9vMSgpCit9
CisKK3sKKyAgICB2YXIgb2JqMiA9IG5ldyBQcm94eSh7fSwge30pCisgICAgZnVuY3Rpb24gZm9v
MigpIHsKKyAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgICAgICBk
ZWxldGUgb2JqMi54CisgICAgfQorICAgIG5vSW5saW5lKGZvbzIpCisKKyAgICBmb28yKCkKKyAg
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqMiwgIngiLCB7fSkKKyAgICBmb28yKCkKK30KKwor
eworICAgIHZhciBvYmozID0gJHZtLmNyZWF0ZVByb3h5KHt9KQorICAgIGZ1bmN0aW9uIGZvbzMo
KSB7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICAgICAgZGVs
ZXRlIG9iajMueAorICAgIH0KKyAgICBub0lubGluZShmb28zKQorCisgICAgZm9vMygpCisgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KG9iajMsICJ4Iiwge30pCisgICAgZm9vMygpCit9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZGVsZXRl
LXByb3BlcnR5LWlubGluZS1jYWNoZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2RlbGV0ZS1wcm9wZXJ0
eS1pbmxpbmUtY2FjaGUuanMKaW5kZXggM2RmMDBkNWZiNzBkZDQ5MzAzOGJkMTY3MTYzM2ZkZmRi
MzBlZmJmNS4uMjk3ZWRkN2ZjYmNmNmNlMDU1ZTE5MGQ2NGY1ZGEwNTY4MWM2MDQ3ZiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy9zdHJlc3MvZGVsZXRlLXByb3BlcnR5LWlubGluZS1jYWNoZS5qcworKysg
Yi9KU1Rlc3RzL3N0cmVzcy9kZWxldGUtcHJvcGVydHktaW5saW5lLWNhY2hlLmpzCkBAIC0xLDQg
KzEsNCBAQAotLy9AIHJ1bkRlZmF1bHQoIi0tdXNlQmlnSW50PXRydWUiKQorLy9AIHJlcXVpcmVP
cHRpb25zKCItLXVzZUJpZ0ludD0xIikKIAogZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbikgewog
ICAgIGlmICghY29uZGl0aW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395074</attachid>
            <date>2020-03-31 11:20:30 -0700</date>
            <delta_ts>2020-04-01 12:10:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209777-20200331142029.patch</filename>
            <type>text/plain</type>
            <size>3823</size>
            <attacher name="Justin Michaud">justin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MGUzNGFiMTQwNzk4M2ZlYmMxNWEwY2IwNjVjZmRmNjY0YjUxOWNiLi43MjQyNGY1NjNhNTlhMGVj
ODBjMzI3MWE1MzYyODJjNzAyNDI2N2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMy0zMSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5AanVzdGlubWlj
aGF1ZC5jb20+CisKKyAgICAgICAgRGVsZXRlIElDIGluY29ycmVjdGx5IGNhY2hlcyBmb3IgcHJv
eGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5
Nzc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgUHJveHkncyBk
byBub3QgY2hhbmdlIHRoZWlyIHN0cnVjdHVyZSBJRCB3aGVuIHByb3BlcnRpZXMgYXJlIGFkZGVk
LCBzbyB3ZSBjYW5ub3QgY2FjaGUgZGVsZXRlcworICAgICAgICBmb3IgdGhlbS4KKworICAgICAg
ICAqIGppdC9SZXBhdGNoLmNwcDoKKyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVEZWxldGVCeSk6CisK
IDIwMjAtMDMtMzAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbSlNDXSBERkdBcnJheU1vZGU6OmFscmVhZHlDaGVja2VkIHNob3VsZCBoYXZlIE5vbkFycmF5
IGNoZWNrIHdoZW4gQXJyYXlNb2RlIGlzIE5vbkFycmF5K1Nsb3dQdXRBcnJheVN0b3JhZ2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmluZGV4IGMzZGYwNzkyZTRlNzJkNDliNGQ3
YTIyNmNhMTAxMTk1ZDhmNGM2MDguLjY0MTdmMjFkNTdlYTRmMjFhZDMxYTg3NWE4ZDc3NGI5ZDg5
YjRhN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcApAQCAtNzUwLDcgKzc1
MCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZURlbGV0ZUJ5KEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIENvZGVCbG9jCiAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKIAogICAgICAgICBBU1NFUlQob2xkU3RydWN0dXJlKTsKLSAgICAgICAgaWYgKCFi
YXNlVmFsdWUuaXNPYmplY3QoKSB8fCAhb2xkU3RydWN0dXJlLT5wcm9wZXJ0eUFjY2Vzc2VzQXJl
Q2FjaGVhYmxlKCkpCisgICAgICAgIGlmICghYmFzZVZhbHVlLmlzT2JqZWN0KCkgfHwgIW9sZFN0
cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpIHx8IG9sZFN0cnVjdHVyZS0+
aXNQcm94eSgpKQogICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICAgICAg
aWYgKCFzbG90LmlzQ2FjaGVhYmxlRGVsZXRlKCkpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5n
ZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU2MGY0ZDQ3Y2JlNTM4MGYwMTIwYjMzMzQw
Y2QwNTZjYmEwYjliODMuLjMxYTE1NmRmMjk4YjU5MzVhNTE4NjRiMjA0MjRhNzkyMzEzZjc3ZDAg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMjAtMDMtMzEgIEp1c3RpbiBNaWNoYXVkICA8anVzdGluQGp1c3Rp
bm1pY2hhdWQuY29tPgorCisgICAgICAgIERlbGV0ZSBJQyBpbmNvcnJlY3RseSBjYWNoZXMgZm9y
IHByb3hpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwOTc3NworCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgICogc3Ry
ZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pYy1wcm94eS5qczogQWRkZWQuCisgICAgICAgIChvYmoxLnRo
aXMuZm9vMSk6CisgICAgICAgIChmb28xLmZvbzIpOgorICAgICAgICAoZm9vMSk6CisgICAgICAg
IChmb28yLmZvbzMpOgorICAgICAgICAoZm9vMik6CisgICAgICAgICogc3RyZXNzL2RlbGV0ZS1w
cm9wZXJ0eS1pbmxpbmUtY2FjaGUuanM6CisKIDIwMjAtMDMtMzAgIEFsZXhleSBTaHZheWthICA8
c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGluIG5hbWVkIGNh
cHR1cmUgZ3JvdXAgaWRlbnRpZmllcnMgZm9yIGRpcmVjdCBzdXJyb2dhdGUgcGFpcnMKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvc3RyZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pYy1wcm94eS5qcyBiL0pTVGVz
dHMvc3RyZXNzL2RlbGV0ZS1wcm9wZXJ0eS1pYy1wcm94eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzU2M2Yx
MTdkODJiNmE1NzkyNzAxMDE0ZDgzY2MzNGI0MmRhZmZlCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9zdHJlc3MvZGVsZXRlLXByb3BlcnR5LWljLXByb3h5LmpzCkBAIC0wLDAgKzEsNDAgQEAK
Ky8vQCByZXF1aXJlT3B0aW9ucygiLS1qaXRQb2xpY3lTY2FsZT0wIiwgIi0tdXNlREZHSklUPTAi
KQorCit7CisgICAgdmFyIG9iajEgPSB0aGlzCisgICAgZnVuY3Rpb24gZm9vMSgpIHsKKyAgICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgICAgICBkZWxldGUgb2JqMS54
CisgICAgfQorICAgIG5vSW5saW5lKGZvbzEpCisKKyAgICBmb28xKCkKKyAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkob2JqMSwgIngiLCB7fSkKKyAgICBmb28xKCkKK30KKworeworICAgIHZhciBv
YmoyID0gbmV3IFByb3h5KHt9LCB7fSkKKyAgICBmdW5jdGlvbiBmb28yKCkgeworICAgICAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgICAgIGRlbGV0ZSBvYmoyLngKKyAg
ICB9CisgICAgbm9JbmxpbmUoZm9vMikKKworICAgIGZvbzIoKQorICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvYmoyLCAieCIsIHt9KQorICAgIGZvbzIoKQorfQorCit7CisgICAgdmFyIG9iajMg
PSAkdm0uY3JlYXRlUHJveHkoe30pCisgICAgZnVuY3Rpb24gZm9vMygpIHsKKyAgICAgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgICAgICBkZWxldGUgb2JqMy54CisgICAg
fQorICAgIG5vSW5saW5lKGZvbzMpCisKKyAgICBmb28zKCkKKyAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkob2JqMywgIngiLCB7fSkKKyAgICBmb28zKCkKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9kZWxldGUtcHJvcGVydHktaW5saW5l
LWNhY2hlLmpzIGIvSlNUZXN0cy9zdHJlc3MvZGVsZXRlLXByb3BlcnR5LWlubGluZS1jYWNoZS5q
cwppbmRleCAzZGYwMGQ1ZmI3MGRkNDkzMDM4YmQxNjcxNjMzZmRmZGIzMGVmYmY1Li4yOTdlZGQ3
ZmNiY2Y2Y2UwNTVlMTkwZDY0ZjVkYTA1NjgxYzYwNDdmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3N0
cmVzcy9kZWxldGUtcHJvcGVydHktaW5saW5lLWNhY2hlLmpzCisrKyBiL0pTVGVzdHMvc3RyZXNz
L2RlbGV0ZS1wcm9wZXJ0eS1pbmxpbmUtY2FjaGUuanMKQEAgLTEsNCArMSw0IEBACi0vL0AgcnVu
RGVmYXVsdCgiLS11c2VCaWdJbnQ9dHJ1ZSIpCisvL0AgcmVxdWlyZU9wdGlvbnMoIi0tdXNlQmln
SW50PTEiKQogCiBmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uKSB7CiAgICAgaWYgKCFjb25kaXRp
b24pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>