<?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>230378</bug_id>
          
          <creation_ts>2021-09-16 15:39:26 -0700</creation_ts>
          <short_desc>PutByVal and PutPrivateName ICs should emit a write barrier if a butterfly might be allocated</short_desc>
          <delta_ts>2021-09-17 08:57:03 -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>230377</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Michaud">justin_michaud</reporter>
          <assigned_to name="Justin Michaud">justin_michaud</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>product-security</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>1794237</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2021-09-16 15:39:26 -0700</bug_when>
    <thetext>rdar://82919366 (jsc_fuz: ASSERTION FAILED: !getDirect(offset) || !JSValue::encode(getDirect(offset)))

Right now, PutByVal and PutPrivateName check the value type to determine if a write barrier is needed. For example, putting a primitive is considered to not require a write barrier.

This makes sense, except for the case when we might allocate or re-allocate a butterfly in the IC. This does not emit a write barrier, and so the GC might miss the new butterfly. That is somewhat undesirable. 

This is a temporary conservative fix. If we don&apos;t write to the butterfly pointer, then we still don&apos;t need a write barrier; this work is captured by https://bugs.webkit.org/show_bug.cgi?id=230377</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794238</commentid>
    <comment_count>1</comment_count>
      <attachid>438408</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2021-09-16 15:44:57 -0700</bug_when>
    <thetext>Created attachment 438408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794242</commentid>
    <comment_count>2</comment_count>
      <attachid>438408</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-16 15:53:24 -0700</bug_when>
    <thetext>Comment on attachment 438408
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794246</commentid>
    <comment_count>3</comment_count>
      <attachid>438408</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-09-16 16:02:32 -0700</bug_when>
    <thetext>Comment on attachment 438408
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp:241
&gt; +                        considerBarrier(child1); // FIXME: there are some cases where we can avoid a store barrier by considering the value

Can you put the bug https://bugs.webkit.org/show_bug.cgi?id=230377 in the FIXME comment as well.  Same below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794255</commentid>
    <comment_count>4</comment_count>
      <attachid>438413</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2021-09-16 16:11:32 -0700</bug_when>
    <thetext>Created attachment 438413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794456</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-17 08:57:01 -0700</bug_when>
    <thetext>Committed r282663 (241804@main): &lt;https://commits.webkit.org/241804@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438413.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438408</attachid>
            <date>2021-09-16 15:44:57 -0700</date>
            <delta_ts>2021-09-16 16:11:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230378-20210916154456.patch</filename>
            <type>text/plain</type>
            <size>5037</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OTkxOGViNTc4NDhlZTFhZjZmYTJkNWE5MjM0MTE0M2JjNjhlYjE0Li5iMmRlMjMyMjAwZmZhZWVk
ZDU0OTZkZGRkNGJiODM3ZDM4NWI1NGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wOS0xNiAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBh
cHBsZS5jb20+CisKKyAgICAgICAgUHV0QnlWYWwgYW5kIFB1dFByaXZhdGVOYW1lIElDcyBzaG91
bGQgZW1pdCBhIHdyaXRlIGJhcnJpZXIgaWYgYSBidXR0ZXJmbHkgbWlnaHQgYmUgYWxsb2NhdGVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzNzgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSaWdodCBu
b3csIFB1dEJ5VmFsIGFuZCBQdXRQcml2YXRlTmFtZSBjaGVjayB0aGUgdmFsdWUgdHlwZSB0byBk
ZXRlcm1pbmUgCisgICAgICAgIGlmIGEgd3JpdGUgYmFycmllciBpcyBuZWVkZWQuIEZvciBleGFt
cGxlLCBwdXR0aW5nIGEgcHJpbWl0aXZlIGlzIGNvbnNpZGVyZWQgCisgICAgICAgIHRvIG5vdCBy
ZXF1aXJlIGEgd3JpdGUgYmFycmllci4gVGhpcyBtYWtlcyBzZW5zZSwgZXhjZXB0IGZvciB0aGUg
Y2FzZSB3aGVuIHdlIAorICAgICAgICBtaWdodCBhbGxvY2F0ZSBvciByZS1hbGxvY2F0ZSBhIGJ1
dHRlcmZseSBpbiB0aGUgSUMuIFRoaXMgZG9lcyBub3QgZW1pdCBhIHdyaXRlIAorICAgICAgICBi
YXJyaWVyLCBhbmQgc28gdGhlIEdDIG1pZ2h0IG1pc3MgdGhlIG5ldyBidXR0ZXJmbHkuIFRoYXQg
aXMgc29tZXdoYXQgdW5kZXNpcmFibGUuIAorICAgICAgICBUaGlzIGlzIGEgdGVtcG9yYXJ5IGNv
bnNlcnZhdGl2ZSBmaXguIElmIHdlIGRvbid0IHdyaXRlIHRvIHRoZSBidXR0ZXJmbHkgcG9pbnRl
ciwKKyAgICAgICAgdGhlbiB3ZSBzdGlsbCBkb24ndCBuZWVkIGEgd3JpdGUgYmFycmllcjsgdGhp
cyB3b3JrIGlzIGNhcHR1cmVkIGJ5IAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMwMzc3CisKKyAgICAgICAgKiBkZmcvREZHU3RvcmVCYXJyaWVySW5z
ZXJ0aW9uUGhhc2UuY3BwOgorCiAyMDIxLTA5LTE2ICBNaWtoYWlsIFIuIEdhZGVsaGEgIDxtaWto
YWlsQGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4IGNyYXNoIGluIDMyIGJpdHMgZHVlIHRvIG5v
dCBlbm91Z2ggc2NyYXRjaCByZWdpc3RlcnMgYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3Bw
CmluZGV4IGRjMzIwMjE4OGViMjUzYWNhYjBiMmU0ZDJjYjQ0YWFhMDdiMmNlNjkuLmVhYjI0ZGMy
YjRiMTUyODE0NWZmY2NmZTM3MmNkYzk5ODFiYzE5NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3Bw
CkBAIC0yMzcsOSArMjM3LDggQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBjYXNlIEFycmF5
OjpCaWdJbnQ2NEFycmF5OgogICAgICAgICAgICAgICAgIGNhc2UgQXJyYXk6OkJpZ1VpbnQ2NEFy
cmF5OiB7CiAgICAgICAgICAgICAgICAgICAgIEVkZ2UgY2hpbGQxID0gbV9ncmFwaC52YXJBcmdD
aGlsZChtX25vZGUsIDApOwotICAgICAgICAgICAgICAgICAgICBFZGdlIGNoaWxkMyA9IG1fZ3Jh
cGgudmFyQXJnQ2hpbGQobV9ub2RlLCAyKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2dy
YXBoLm1fc2xvd1B1dEJ5VmFsLmNvbnRhaW5zKG1fbm9kZSkgJiYgKGNoaWxkMS51c2VLaW5kKCkg
PT0gQ2VsbFVzZSB8fCBjaGlsZDEudXNlS2luZCgpID09IEtub3duQ2VsbFVzZSkpCi0gICAgICAg
ICAgICAgICAgICAgICAgICBjb25zaWRlckJhcnJpZXIoY2hpbGQxLCBjaGlsZDMpOworICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc2lkZXJCYXJyaWVyKGNoaWxkMSk7IC8vIEZJWE1FOiB0aGVy
ZSBhcmUgc29tZSBjYXNlcyB3aGVyZSB3ZSBjYW4gYXZvaWQgYSBzdG9yZSBiYXJyaWVyIGJ5IGNv
bnNpZGVyaW5nIHRoZSB2YWx1ZQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKQEAgLTI3
Nyw3ICsyNzYsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgY2Fz
ZSBQdXRQcml2YXRlTmFtZTogewogICAgICAgICAgICAgICAgIGlmICghbV9ncmFwaC5tX3Nsb3dQ
dXRCeVZhbC5jb250YWlucyhtX25vZGUpICYmIChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9
PSBDZWxsVXNlIHx8IG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IEtub3duQ2VsbFVzZSkp
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNpZGVyQmFycmllcihtX25vZGUtPmNoaWxkMSgpLCBt
X25vZGUtPmNoaWxkMygpKTsKKyAgICAgICAgICAgICAgICAgICAgY29uc2lkZXJCYXJyaWVyKG1f
bm9kZS0+Y2hpbGQxKCkpOyAvLyBGSVhNRTogdGhlcmUgYXJlIHNvbWUgY2FzZXMgd2hlcmUgd2Ug
Y2FuIGF2b2lkIGEgc3RvcmUgYmFycmllciBieSBjb25zaWRlcmluZyB0aGUgdmFsdWUKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9z
dHJlc3MvcHV0LWJ5LXZhbC1pYy13cml0ZS1iYXJyaWVyLmpzIGIvSlNUZXN0cy9zdHJlc3MvcHV0
LWJ5LXZhbC1pYy13cml0ZS1iYXJyaWVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZTVlN2JiOTQyMzIwZDUx
MjFkYzJjMjc1ZmU1NmU2OWRiNjYzMjcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVz
cy9wdXQtYnktdmFsLWljLXdyaXRlLWJhcnJpZXIuanMKQEAgLTAsMCArMSwyMyBAQAorLy8gVE9E
Tzogc3VwcHJlc3MgZm9yIHNlY3VyaXR5CisvL0AgcnVuRGVmYXVsdCgiLS1jb2xsZWN0Q29udGlu
dW91c2x5PTEiLCAiLS11c2VBY2Nlc3NJbmxpbmluZz0wIiwgIi0tdmVyaWZ5R0M9MSIpCisKK2Z1
bmN0aW9uIFB1dEJ5VmFsSUNQcmltaXRpdmUoKSB7CisgICAgbGV0IGxlYWsgPSBbXQorCisgICAg
ZnVuY3Rpb24gZG9CeVZhbChvLCBzKSB7CisgICAgICAgIG9bc10gPSAxMzM3CisgICAgfQorICAg
IG5vSW5saW5lKGRvQnlWYWwpCisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDA7ICsr
aSkgeworICAgICAgICBsZXQgbzEgPSB7YTogMSwgYjogMn0KKyAgICAgICAgbGV0IG8yID0ge2E6
IDEsIGI6IDJ9CisgICAgICAgIGxldCBvMyA9IHthOiAxLCBiOiAyfQorICAgICAgICBkb0J5VmFs
KG8xLCAieCIpCisgICAgICAgIGRvQnlWYWwobzIsICJ5IikKKyAgICAgICAgZG9CeVZhbChvMywg
InoiKQorICAgICAgICBsZWFrLnB1c2gobzEsIG8yLCBvMykKKyAgICB9Cit9Citub0lubGluZShQ
dXRCeVZhbElDUHJpbWl0aXZlKQorUHV0QnlWYWxJQ1ByaW1pdGl2ZSgpClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcHV0LXByaXZhdGUtbmFt
ZS1pYy13cml0ZS1iYXJyaWVyLmpzIGIvSlNUZXN0cy9zdHJlc3MvcHV0LXByaXZhdGUtbmFtZS1p
Yy13cml0ZS1iYXJyaWVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViNGY4Y2QyZjllZGQwN2FjNWE4M2ZkM2Nm
YmI0ZjNhMjk4YTcxZTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9wdXQtcHJp
dmF0ZS1uYW1lLWljLXdyaXRlLWJhcnJpZXIuanMKQEAgLTAsMCArMSwzMCBAQAorLy8gVE9ETzog
c3VwcHJlc3MgZm9yIHNlY3VyaXR5CisvL0AgcnVuRGVmYXVsdCgiLS1jb2xsZWN0Q29udGludW91
c2x5PTEiLCAiLS11c2VQb2x5dmFyaWFudERldmlydHVhbGl6YXRpb249MCIsICItLWZvcmNlRGVi
dWdnZXJCeXRlY29kZUdlbmVyYXRpb249MSIsICItLXZlcmlmeUdDPTEiKQorLy8gVXNlUG9seXZh
cmlhbnREZXZpcnR1YWxpemF0aW9uIGdpdmVzIHVzIGEgUHV0UHJpdmF0ZU5hbWUgKG5vdCBieUlE
KSB3aGlsZSBzdGlsbCBsZXR0aW5nIHVzIGdlbmVyYXRlIGFuIElDIHdpdGggb25seSBvbmUgQWNj
ZXNzQ2FzZQorLy8gRGVidWdnZXJCeXRlY29kZUdlbmVyYXRpb24gc2VlbXMgdG8gZ2l2ZSB0aGUg
R0MgbW9yZSB0aW1lIHRvIGludGVycnVwdCB0aGUgcHV0IGJlY2F1c2UgaXQgZm9yY2VzIHJlYWRz
IGZyb20gdGhlIHN0YWNrIAorCitmdW5jdGlvbiBQdXRQcml2YXRlTmFtZUlDKCkgeworICAgIGxl
dCBsZWFrID0gW10KKworICAgIGNsYXNzIEEgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICAgICAgICAgIHRoaXMuYSA9IDAKKyAgICAgICAgfQorICAgIH0KKyAgICBub0lubGluZShBKQor
CisgICAgY2xhc3MgQiBleHRlbmRzIEEgeworICAgICAgICAjYgorICAgICAgICAjYworICAgIH0K
KyAgICBub0lubGluZShCKQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kp
IHsKKyAgICAgICAgbGV0IGIxID0gbmV3IEIKKyAgICAgICAgbGV0IGIyID0gbmV3IEIKKyAgICAg
ICAgbGV0IGIzID0gbmV3IEIKKyAgICAgICAgbGVhay5wdXNoKGIxLCBiMiwgYjMpCisgICAgfQor
fQorbm9JbmxpbmUoUHV0UHJpdmF0ZU5hbWVJQykKK1B1dFByaXZhdGVOYW1lSUMoKQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438413</attachid>
            <date>2021-09-16 16:11:32 -0700</date>
            <delta_ts>2021-09-17 08:57:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230378-20210916161132.patch</filename>
            <type>text/plain</type>
            <size>5075</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
NzJjNjg4MDMxZWJlNDI3YmUwZWUyZjQyYmZlNzFmZGYwNWM5MjljLi45YmJlYzdmMjc2OWIzNzVm
ZmE2MjZiNGFkZWE3MjQ2MmM0ZWFiMTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wOS0xNiAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBh
cHBsZS5jb20+CisKKyAgICAgICAgUHV0QnlWYWwgYW5kIFB1dFByaXZhdGVOYW1lIElDcyBzaG91
bGQgZW1pdCBhIHdyaXRlIGJhcnJpZXIgaWYgYSBidXR0ZXJmbHkgbWlnaHQgYmUgYWxsb2NhdGVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAzNzgK
KworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIFJpZ2h0IG5v
dywgUHV0QnlWYWwgYW5kIFB1dFByaXZhdGVOYW1lIGNoZWNrIHRoZSB2YWx1ZSB0eXBlIHRvIGRl
dGVybWluZSAKKyAgICAgICAgaWYgYSB3cml0ZSBiYXJyaWVyIGlzIG5lZWRlZC4gRm9yIGV4YW1w
bGUsIHB1dHRpbmcgYSBwcmltaXRpdmUgaXMgY29uc2lkZXJlZCAKKyAgICAgICAgdG8gbm90IHJl
cXVpcmUgYSB3cml0ZSBiYXJyaWVyLiBUaGlzIG1ha2VzIHNlbnNlLCBleGNlcHQgZm9yIHRoZSBj
YXNlIHdoZW4gd2UgCisgICAgICAgIG1pZ2h0IGFsbG9jYXRlIG9yIHJlLWFsbG9jYXRlIGEgYnV0
dGVyZmx5IGluIHRoZSBJQy4gVGhpcyBkb2VzIG5vdCBlbWl0IGEgd3JpdGUgCisgICAgICAgIGJh
cnJpZXIsIGFuZCBzbyB0aGUgR0MgbWlnaHQgbWlzcyB0aGUgbmV3IGJ1dHRlcmZseS4gVGhhdCBp
cyBzb21ld2hhdCB1bmRlc2lyYWJsZS4gCisgICAgICAgIFRoaXMgaXMgYSB0ZW1wb3JhcnkgY29u
c2VydmF0aXZlIGZpeC4gSWYgd2UgZG9uJ3Qgd3JpdGUgdG8gdGhlIGJ1dHRlcmZseSBwb2ludGVy
LAorICAgICAgICB0aGVuIHdlIHN0aWxsIGRvbid0IG5lZWQgYSB3cml0ZSBiYXJyaWVyOyB0aGlz
IHdvcmsgaXMgY2FwdHVyZWQgYnkgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAzNzcKKworICAgICAgICAqIGRmZy9ERkdTdG9yZUJhcnJpZXJJbnNl
cnRpb25QaGFzZS5jcHA6CisKIDIwMjEtMDktMTYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgyNDc4Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJpZXJJbnNl
cnRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmll
ckluc2VydGlvblBoYXNlLmNwcAppbmRleCBkYzMyMDIxODhlYjI1M2FjYWIwYjJlNGQyY2I0NGFh
YTA3YjJjZTY5Li41M2JlMDZlNjcwNzNiY2Y0MDIwZjc3OGJhYTVjNmU4MjEyYWI2NWJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmllckluc2VydGlv
blBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmll
ckluc2VydGlvblBoYXNlLmNwcApAQCAtMjM3LDkgKzIzNyw5IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICAgICAgY2FzZSBBcnJheTo6QmlnSW50NjRBcnJheToKICAgICAgICAgICAgICAgICBjYXNl
IEFycmF5OjpCaWdVaW50NjRBcnJheTogewogICAgICAgICAgICAgICAgICAgICBFZGdlIGNoaWxk
MSA9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKTsKLSAgICAgICAgICAgICAgICAgICAg
RWRnZSBjaGlsZDMgPSBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMik7CiAgICAgICAgICAg
ICAgICAgICAgIGlmICghbV9ncmFwaC5tX3Nsb3dQdXRCeVZhbC5jb250YWlucyhtX25vZGUpICYm
IChjaGlsZDEudXNlS2luZCgpID09IENlbGxVc2UgfHwgY2hpbGQxLnVzZUtpbmQoKSA9PSBLbm93
bkNlbGxVc2UpKQotICAgICAgICAgICAgICAgICAgICAgICAgY29uc2lkZXJCYXJyaWVyKGNoaWxk
MSwgY2hpbGQzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGVyZSBhcmUg
c29tZSBjYXNlcyB3aGVyZSB3ZSBjYW4gYXZvaWQgYSBzdG9yZSBiYXJyaWVyIGJ5IGNvbnNpZGVy
aW5nIHRoZSB2YWx1ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMw
Mzc3CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zaWRlckJhcnJpZXIoY2hpbGQxKTsKICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6CkBAIC0yNzcsNyArMjc3LDggQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGNhc2UgUHV0UHJpdmF0ZU5hbWU6IHsKICAg
ICAgICAgICAgICAgICBpZiAoIW1fZ3JhcGgubV9zbG93UHV0QnlWYWwuY29udGFpbnMobV9ub2Rl
KSAmJiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gQ2VsbFVzZSB8fCBtX25vZGUtPmNo
aWxkMSgpLnVzZUtpbmQoKSA9PSBLbm93bkNlbGxVc2UpKQotICAgICAgICAgICAgICAgICAgICBj
b25zaWRlckJhcnJpZXIobV9ub2RlLT5jaGlsZDEoKSwgbV9ub2RlLT5jaGlsZDMoKSk7CisgICAg
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGVyZSBhcmUgc29tZSBjYXNlcyB3aGVyZSB3ZSBj
YW4gYXZvaWQgYSBzdG9yZSBiYXJyaWVyIGJ5IGNvbnNpZGVyaW5nIHRoZSB2YWx1ZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMzc3CisgICAgICAgICAgICAgICAg
ICAgIGNvbnNpZGVyQmFycmllcihtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcHV0LWJ5
LXZhbC1pYy13cml0ZS1iYXJyaWVyLmpzIGIvSlNUZXN0cy9zdHJlc3MvcHV0LWJ5LXZhbC1pYy13
cml0ZS1iYXJyaWVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwMWJkN2MyMjAzNzA5MjhlMTcyMWIzNDM3ZDA4
YzQ4Y2Y4OTc3NTAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9wdXQtYnktdmFs
LWljLXdyaXRlLWJhcnJpZXIuanMKQEAgLTAsMCArMSwyMiBAQAorLy9AIHJ1bkRlZmF1bHQoIi0t
Y29sbGVjdENvbnRpbnVvdXNseT0xIiwgIi0tdXNlQWNjZXNzSW5saW5pbmc9MCIsICItLXZlcmlm
eUdDPTEiKQorCitmdW5jdGlvbiBQdXRCeVZhbElDUHJpbWl0aXZlKCkgeworICAgIGxldCBsZWFr
ID0gW10KKworICAgIGZ1bmN0aW9uIGRvQnlWYWwobywgcykgeworICAgICAgICBvW3NdID0gMTMz
NworICAgIH0KKyAgICBub0lubGluZShkb0J5VmFsKQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwMDAwOyArK2kpIHsKKyAgICAgICAgbGV0IG8xID0ge2E6IDEsIGI6IDJ9CisgICAgICAg
IGxldCBvMiA9IHthOiAxLCBiOiAyfQorICAgICAgICBsZXQgbzMgPSB7YTogMSwgYjogMn0KKyAg
ICAgICAgZG9CeVZhbChvMSwgIngiKQorICAgICAgICBkb0J5VmFsKG8yLCAieSIpCisgICAgICAg
IGRvQnlWYWwobzMsICJ6IikKKyAgICAgICAgbGVhay5wdXNoKG8xLCBvMiwgbzMpCisgICAgfQor
fQorbm9JbmxpbmUoUHV0QnlWYWxJQ1ByaW1pdGl2ZSkKK1B1dEJ5VmFsSUNQcmltaXRpdmUoKQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3B1
dC1wcml2YXRlLW5hbWUtaWMtd3JpdGUtYmFycmllci5qcyBiL0pTVGVzdHMvc3RyZXNzL3B1dC1w
cml2YXRlLW5hbWUtaWMtd3JpdGUtYmFycmllci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTU3MTRhMTUyYzVk
ZWRiYzcwMmU1MzdkNjZkMDA4Yjg3ZGQxYWEzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9z
dHJlc3MvcHV0LXByaXZhdGUtbmFtZS1pYy13cml0ZS1iYXJyaWVyLmpzCkBAIC0wLDAgKzEsMjkg
QEAKKy8vQCBydW5EZWZhdWx0KCItLWNvbGxlY3RDb250aW51b3VzbHk9MSIsICItLXVzZVBvbHl2
YXJpYW50RGV2aXJ0dWFsaXphdGlvbj0wIiwgIi0tZm9yY2VEZWJ1Z2dlckJ5dGVjb2RlR2VuZXJh
dGlvbj0xIiwgIi0tdmVyaWZ5R0M9MSIpCisvLyBVc2VQb2x5dmFyaWFudERldmlydHVhbGl6YXRp
b24gZ2l2ZXMgdXMgYSBQdXRQcml2YXRlTmFtZSAobm90IGJ5SUQpIHdoaWxlIHN0aWxsIGxldHRp
bmcgdXMgZ2VuZXJhdGUgYW4gSUMgd2l0aCBvbmx5IG9uZSBBY2Nlc3NDYXNlCisvLyBEZWJ1Z2dl
ckJ5dGVjb2RlR2VuZXJhdGlvbiBzZWVtcyB0byBnaXZlIHRoZSBHQyBtb3JlIHRpbWUgdG8gaW50
ZXJydXB0IHRoZSBwdXQgYmVjYXVzZSBpdCBmb3JjZXMgcmVhZHMgZnJvbSB0aGUgc3RhY2sgCisK
K2Z1bmN0aW9uIFB1dFByaXZhdGVOYW1lSUMoKSB7CisgICAgbGV0IGxlYWsgPSBbXQorCisgICAg
Y2xhc3MgQSB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgdGhpcy5hID0g
MAorICAgICAgICB9CisgICAgfQorICAgIG5vSW5saW5lKEEpCisKKyAgICBjbGFzcyBCIGV4dGVu
ZHMgQSB7CisgICAgICAgICNiCisgICAgICAgICNjCisgICAgfQorICAgIG5vSW5saW5lKEIpCisK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDA7ICsraSkgeworICAgICAgICBsZXQgYjEg
PSBuZXcgQgorICAgICAgICBsZXQgYjIgPSBuZXcgQgorICAgICAgICBsZXQgYjMgPSBuZXcgQgor
ICAgICAgICBsZWFrLnB1c2goYjEsIGIyLCBiMykKKyAgICB9Cit9Citub0lubGluZShQdXRQcml2
YXRlTmFtZUlDKQorUHV0UHJpdmF0ZU5hbWVJQygpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>