<?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>184773</bug_id>
          
          <creation_ts>2018-04-19 06:34:33 -0700</creation_ts>
          <short_desc>In FTLLowerDFGToB3.cpp::compileCreateRest, always use a contiguous array as the indexing type when under isWatchingHavingABadTimeWatchpoint</short_desc>
          <delta_ts>2018-04-26 05:42:15 -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="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1415904</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2018-04-19 06:34:33 -0700</bug_when>
    <thetext>Currently, we call restParameterStructure(), which in turn returns arrayStructureForIndexingTypeDuringAllocation(ArrayWithContiguous).
arrayStructureForIndexingTypeDuringAllocation uses m_arrayStructureForIndexingShapeDuringAllocation, which is set to SlowPutArrayStorage when we are &apos;having a bad time&apos;.
This is problematic, because the structure is then passed to allocateUninitializedContiguousJSArray, which ASSERTs that the indexing type is contiguous (or int32).

We solve the problem by using originalArrayStructureForIndexingType which always returns a structure with the right indexing type (contiguous), even if we are having a bad time.
This is safe, as we are under isWatchingHavingABadTimeWatchpoint, so if we have a bad time, the code we generate will never be installed.

&lt;rdar://problem/37773612&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415907</commentid>
    <comment_count>1</comment_count>
      <attachid>338320</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2018-04-19 06:46:11 -0700</bug_when>
    <thetext>Created attachment 338320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416870</commentid>
    <comment_count>2</comment_count>
      <attachid>338320</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-23 06:45:05 -0700</bug_when>
    <thetext>Comment on attachment 338320
Patch

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

R=me with that change.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:5284
&gt; +            RegisteredStructure structure = m_graph.registerStructure(globalObject-&gt;originalArrayStructureForIndexingType(ArrayWithContiguous));

I think it would be better if you added a JSGlobalObject helper method called originalRestParameterStructure. I think we have the restParameterStructure method to abstract the fact that it’s just the contiguous array structure.  It would be good if you also had such an abstraction for this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417658</commentid>
    <comment_count>3</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2018-04-25 11:45:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/37773612&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417669</commentid>
    <comment_count>4</comment_count>
      <attachid>338767</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2018-04-25 12:00:11 -0700</bug_when>
    <thetext>Created attachment 338767
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417861</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-25 16:32:26 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 338767:

imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.html bug 185008 (author: youennf@gmail.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417862</commentid>
    <comment_count>6</comment_count>
      <attachid>338767</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-25 16:33:04 -0700</bug_when>
    <thetext>Comment on attachment 338767
Patch for landing

Clearing flags on attachment: 338767

Committed r231034: &lt;https://trac.webkit.org/changeset/231034&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417863</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-25 16:33:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418027</commentid>
    <comment_count>8</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2018-04-26 05:42:15 -0700</bug_when>
    <thetext>(In reply to Filip Pizlo from comment #2)
&gt; Comment on attachment 338320 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=338320&amp;action=review
&gt; 
&gt; R=me with that change.
&gt; 
&gt; &gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:5284
&gt; &gt; +            RegisteredStructure structure = m_graph.registerStructure(globalObject-&gt;originalArrayStructureForIndexingType(ArrayWithContiguous));
&gt; 
&gt; I think it would be better if you added a JSGlobalObject helper method
&gt; called originalRestParameterStructure. I think we have the
&gt; restParameterStructure method to abstract the fact that it’s just the
&gt; contiguous array structure.  It would be good if you also had such an
&gt; abstraction for this case.

Thanks for the review, I did what you suggested and landed it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338320</attachid>
            <date>2018-04-19 06:46:11 -0700</date>
            <delta_ts>2018-04-25 12:00:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184773-20180419154609.patch</filename>
            <type>text/plain</type>
            <size>4279</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MGQ5ZTJkMWI4MGU4MzM2OGM3MWY4ZDg4ZmRjOWFjZWY5ZDZiMjE3Li40MDMwNmEwYWRiMjhhZWYy
MDE1NWEyMGJiNmJkMDdkYTM5YWI1MTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxOC0wNC0xOSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIEluIEZUTExvd2VyREZHVG9CMy5jcHA6OmNvbXBpbGVDcmVhdGVSZXN0
LCBhbHdheXMgdXNlIGEgY29udGlndW91cyBhcnJheSBhcyB0aGUgaW5kZXhpbmcgdHlwZSB3aGVu
IHVuZGVyIGlzV2F0Y2hpbmdIYXZpbmdBQmFkVGltZVdhdGNocG9pbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDc3MworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzc3NzM2MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2Ugd2VyZSBjYWxsaW5nIHJlc3RQYXJhbWV0ZXJTdHJ1Y3R1cmUoKSwgd2hp
Y2ggcmV0dXJucyBhcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24o
QXJyYXlXaXRoQ29udGlndW91cykuCisgICAgICAgIGFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdU
eXBlRHVyaW5nQWxsb2NhdGlvbiB1c2VzIG1fYXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1NoYXBl
RHVyaW5nQWxsb2NhdGlvbiwgd2hpY2ggaXMgc2V0IHRvIFNsb3dQdXRBcnJheVN0b3JhZ2Ugd2hl
biB3ZSBhcmUgJ2hhdmluZyBhIGJhZCB0aW1lJy4KKyAgICAgICAgVGhpcyBpcyBwcm9ibGVtYXRp
YywgYmVjYXVzZSB0aGUgc3RydWN0dXJlIGlzIHRoZW4gcGFzc2VkIHRvIGFsbG9jYXRlVW5pbml0
aWFsaXplZENvbnRpZ3VvdXNKU0FycmF5LCB3aGljaCBBU1NFUlRzIHRoYXQgdGhlIGluZGV4aW5n
IHR5cGUgaXMgY29udGlndW91cyAob3IgaW50MzIpLgorICAgICAgICBXZSBzb2x2ZSB0aGUgcHJv
YmxlbSBieSB1c2luZyBvcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlIHdoaWNo
IGFsd2F5cyByZXR1cm5zIGEgc3RydWN0dXJlIHdpdGggdGhlIHJpZ2h0IGluZGV4aW5nIHR5cGUg
KGNvbnRpZ3VvdXMpLCBldmVuIGlmIHdlIGFyZSBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAg
VGhpcyBpcyBzYWZlLCBhcyB3ZSBhcmUgdW5kZXIgaXNXYXRjaGluZ0hhdmluZ0FCYWRUaW1lV2F0
Y2hwb2ludCwgc28gaWYgd2UgaGF2ZSBhIGJhZCB0aW1lLCB0aGUgY29kZSB3ZSBnZW5lcmF0ZSB3
aWxsIG5ldmVyIGJlIGluc3RhbGxlZC4KKworICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMu
Y3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlQ3JlYXRl
UmVzdCk6CisKIDIwMTgtMDQtMTggIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnku
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIzMDc0OCkgW1dpbkNhaXJvXSAnSlNDOjpKSVQ6
OmFwcGVuZENhbGxXaXRoU2xvd1BhdGhSZXR1cm5UeXBlJzogZnVuY3Rpb24gZG9lcyBub3QgdGFr
ZSAxIGFyZ3VtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwCmluZGV4IDY5NzVmN2EwMWVjOTg1MGRkZjU3YWY1ZmYzN2JmZWQ0NDZkNTMwNDQuLjQ1
MDg4YTNiYjkxMDQ5YTJmM2VmOWMwZmUzZjkxMjIyYmMxNDg3NjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTUyODEsNyArNTI4MSw3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICBMVmFsdWUgYXJyYXlMZW5ndGggPSBsb3dJbnQzMihtX25v
ZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3BTdGFydCA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
bV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpOwotICAgICAg
ICAgICAgUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUgPSBtX2dyYXBoLnJlZ2lzdGVyU3Ry
dWN0dXJlKGdsb2JhbE9iamVjdC0+cmVzdFBhcmFtZXRlclN0cnVjdHVyZSgpKTsKKyAgICAgICAg
ICAgIFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlID0gbV9ncmFwaC5yZWdpc3RlclN0cnVj
dHVyZShnbG9iYWxPYmplY3QtPm9yaWdpbmFsQXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGUo
QXJyYXlXaXRoQ29udGlndW91cykpOwogICAgICAgICAgICAgQXJyYXlWYWx1ZXMgYXJyYXlWYWx1
ZXMgPSBhbGxvY2F0ZVVuaW5pdGlhbGl6ZWRDb250aWd1b3VzSlNBcnJheShhcnJheUxlbmd0aCwg
c3RydWN0dXJlKTsKICAgICAgICAgICAgIExWYWx1ZSBhcnJheSA9IGFycmF5VmFsdWVzLmFycmF5
OwogICAgICAgICAgICAgTFZhbHVlIGJ1dHRlcmZseSA9IGFycmF5VmFsdWVzLmJ1dHRlcmZseTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ODMxNDdhYWU3NGU5ZTExNTFjYTIwNmNhNTkxMDI0NzY2YmYyNGZjMC4uYThhYTU5ZWM5YTdjNDZi
YzQ3OGVmMDcxNzc2MDI0YmVmYjM3NzM1YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0wNC0xOSAgUm9i
aW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgorCisgICAgICAgIEluIEZUTExvd2Vy
REZHVG9CMy5jcHA6OmNvbXBpbGVDcmVhdGVSZXN0LCBhbHdheXMgdXNlIGEgY29udGlndW91cyBh
cnJheSBhcyB0aGUgaW5kZXhpbmcgdHlwZSB3aGVuIHVuZGVyIGlzV2F0Y2hpbmdIYXZpbmdBQmFk
VGltZVdhdGNocG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4NDc3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3NzM2MTI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBidWcgcmVxdWly
ZXMgYSByYWNlIGJldHdlZW4gdGhlIHRocmVhZCBkb2luZyBGVEwgY29tcGlsYXRpb24gYW5kIHRo
ZSBtYWluIHRocmVhZCwgYnV0IGl0IHRyaWdnZXJzIGluIDEwMCUgb2YgY2FzZXMgKGJlZm9yZSB0
aGUgZml4KSBvbiBteSBtYWNoaW5lCisgICAgICAgIHNvIEkgZGVjaWRlZCB0byBhZGQgaXQgdG8g
dGhlIHN0cmVzcyB0ZXN0cyBub25ldGhlbGVzcy4KKworICAgICAgICAqIHN0cmVzcy9jcmVhdGUt
cmVzdC13aGlsZS1oYXZpbmctYS1iYWQtdGltZS5qczogQWRkZWQuCisgICAgICAgIChmKToKKyAg
ICAgICAgKGcpOgorICAgICAgICAoaCk6CisKIDIwMTgtMDQtMTggIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW1dlYkFzc2VtYmx5XVtNb2R1bGVzXSBJ
bXBvcnQgdGFibGVzIGluIHdhc20gbW9kdWxlcwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
Y3JlYXRlLXJlc3Qtd2hpbGUtaGF2aW5nLWEtYmFkLXRpbWUuanMgYi9KU1Rlc3RzL3N0cmVzcy9j
cmVhdGUtcmVzdC13aGlsZS1oYXZpbmctYS1iYWQtdGltZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTk5Njgx
YmVjYzFhYmQwOGM0ODU5ZTk1NzQ2NGY2ZGZiNWZkNmJmCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9zdHJlc3MvY3JlYXRlLXJlc3Qtd2hpbGUtaGF2aW5nLWEtYmFkLXRpbWUuanMKQEAgLTAs
MCArMSwxNiBAQAorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gZiguLi52KSB7CisgIHJldHVybiBn
KHYpOworfQorZnVuY3Rpb24gZygpIHsKKyAgcmV0dXJuIGgoKTsKK30KK2Z1bmN0aW9uIGgoKSB7
Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICBmKDApOworICBmKDAs
IDApOworfQorCitPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiNDIiLCB7
fSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338767</attachid>
            <date>2018-04-25 12:00:11 -0700</date>
            <delta_ts>2018-04-25 16:33:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-184773-20180425210009.patch</filename>
            <type>text/plain</type>
            <size>5182</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
OTVhNGRhZGQ3MzAzMzM4MDlhZjJmYjM4YTljYjMzNTFlMjI2ZTU3Li5kMWExNzZjYjhjYjY3MWEz
Y2ZkN2QwOTU2MWRhNTFhMWFmOTBlYjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxOC0wNC0yNSAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIEluIEZUTExvd2VyREZHVG9CMy5jcHA6OmNvbXBpbGVDcmVhdGVSZXN0
LCBhbHdheXMgdXNlIGEgY29udGlndW91cyBhcnJheSBhcyB0aGUgaW5kZXhpbmcgdHlwZSB3aGVu
IHVuZGVyIGlzV2F0Y2hpbmdIYXZpbmdBQmFkVGltZVdhdGNocG9pbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDc3MworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzc3NzM2MTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRmlsaXAgUGl6bG8uCisK
KyAgICAgICAgV2Ugd2VyZSBjYWxsaW5nIHJlc3RQYXJhbWV0ZXJTdHJ1Y3R1cmUoKSwgd2hpY2gg
cmV0dXJucyBhcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJy
YXlXaXRoQ29udGlndW91cykuCisgICAgICAgIGFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBl
RHVyaW5nQWxsb2NhdGlvbiB1c2VzIG1fYXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1NoYXBlRHVy
aW5nQWxsb2NhdGlvbiwgd2hpY2ggaXMgc2V0IHRvIFNsb3dQdXRBcnJheVN0b3JhZ2Ugd2hlbiB3
ZSBhcmUgJ2hhdmluZyBhIGJhZCB0aW1lJy4KKyAgICAgICAgVGhpcyBpcyBwcm9ibGVtYXRpYywg
YmVjYXVzZSB0aGUgc3RydWN0dXJlIGlzIHRoZW4gcGFzc2VkIHRvIGFsbG9jYXRlVW5pbml0aWFs
aXplZENvbnRpZ3VvdXNKU0FycmF5LCB3aGljaCBBU1NFUlRzIHRoYXQgdGhlIGluZGV4aW5nIHR5
cGUgaXMgY29udGlndW91cyAob3IgaW50MzIpLgorICAgICAgICBXZSBzb2x2ZSB0aGUgcHJvYmxl
bSBieSB1c2luZyBvcmlnaW5hbEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlIHdoaWNoIGFs
d2F5cyByZXR1cm5zIGEgc3RydWN0dXJlIHdpdGggdGhlIHJpZ2h0IGluZGV4aW5nIHR5cGUgKGNv
bnRpZ3VvdXMpLCBldmVuIGlmIHdlIGFyZSBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAgVGhp
cyBpcyBzYWZlLCBhcyB3ZSBhcmUgdW5kZXIgaXNXYXRjaGluZ0hhdmluZ0FCYWRUaW1lV2F0Y2hw
b2ludCwgc28gaWYgd2UgaGF2ZSBhIGJhZCB0aW1lLCB0aGUgY29kZSB3ZSBnZW5lcmF0ZSB3aWxs
IG5ldmVyIGJlIGluc3RhbGxlZC4KKworICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3Bw
OgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlQ3JlYXRlUmVz
dCk6CisKIDIwMTgtMDQtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtHVEtdIE1pc2NlbGxhbmVvdXMgYnVpbGQgY2xlYW51cHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCAxNTc0ODBi
YTY5MWI0NmRjZTBkYzI0MWE5MzM4YjFlNjM2YWU3Y2M5Li5jYzNlZTk4NDJkYjM4ZDIzNmQ3MTEx
ZDc2OGFjZDYwNTU3MzUxYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCkBAIC01MjgxLDcgKzUyODEsNyBAQCBwcml2YXRlOgogICAgICAgICAg
ICAgTFZhbHVlIGFycmF5TGVuZ3RoID0gbG93SW50MzIobV9ub2RlLT5jaGlsZDEoKSk7CiAgICAg
ICAgICAgICBMQmFzaWNCbG9jayBsb29wU3RhcnQgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAg
ICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0
Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKTsKLSAgICAgICAgICAgIFJlZ2lzdGVyZWRTdHJ1
Y3R1cmUgc3RydWN0dXJlID0gbV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShnbG9iYWxPYmplY3Qt
PnJlc3RQYXJhbWV0ZXJTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICBSZWdpc3RlcmVkU3RydWN0
dXJlIHN0cnVjdHVyZSA9IG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LT5v
cmlnaW5hbFJlc3RQYXJhbWV0ZXJTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICBBcnJheVZhbHVl
cyBhcnJheVZhbHVlcyA9IGFsbG9jYXRlVW5pbml0aWFsaXplZENvbnRpZ3VvdXNKU0FycmF5KGFy
cmF5TGVuZ3RoLCBzdHJ1Y3R1cmUpOwogICAgICAgICAgICAgTFZhbHVlIGFycmF5ID0gYXJyYXlW
YWx1ZXMuYXJyYXk7CiAgICAgICAgICAgICBMVmFsdWUgYnV0dGVyZmx5ID0gYXJyYXlWYWx1ZXMu
YnV0dGVyZmx5OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKaW5kZXggZGIzZjgzZjUwMTEwZmJhYzJkYzBiZmIwNjhmODhiNTIyYjA3N2UxMy4uN2Fk
MGY3NGJhMjZkMzY4OWQyOTRhOGFmZGZmNDhhZGUwNTQwYjRkZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC02NzYsNiArNjc2LDcgQEAg
cHVibGljOgogICAgIFN0cnVjdHVyZSogY2FsbGFibGVQcm94eU9iamVjdFN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2FsbGFibGVQcm94eU9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQogICAg
IFN0cnVjdHVyZSogcHJveHlSZXZva2VTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3Byb3h5
UmV2b2tlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiByZXN0UGFyYW1ldGVyU3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gYXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJp
bmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpOyB9CisgICAgU3RydWN0dXJlKiBvcmln
aW5hbFJlc3RQYXJhbWV0ZXJTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBvcmlnaW5hbEFycmF5
U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlKEFycmF5V2l0aENvbnRpZ3VvdXMpOyB9CiAjaWYgRU5B
QkxFKFdFQkFTU0VNQkxZKQogICAgIFN0cnVjdHVyZSogd2ViQXNzZW1ibHlNb2R1bGVSZWNvcmRT
dHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX3dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkU3RydWN0
dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiB3ZWJBc3NlbWJseUZ1bmN0aW9uU3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV93ZWJBc3NlbWJseUZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDY2MjljNjlhZDJlMTI3NDZmNzEzMzEyZWE4ZTg5ZDNmNmE3NmJkYTguLjcyMDBjNzk0MzU5MjMx
ODNmNTM5Nzc4ZGU0NjBkYTFkYWY3YzdlYzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDQtMjUgIFJv
YmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBJbiBGVExMb3dl
ckRGR1RvQjMuY3BwOjpjb21waWxlQ3JlYXRlUmVzdCwgYWx3YXlzIHVzZSBhIGNvbnRpZ3VvdXMg
YXJyYXkgYXMgdGhlIGluZGV4aW5nIHR5cGUgd2hlbiB1bmRlciBpc1dhdGNoaW5nSGF2aW5nQUJh
ZFRpbWVXYXRjaHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODQ3NzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3NzczNjEyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEZpbGlwIFBpemxvLgorCisgICAgICAgIFRoaXMgYnVnIHJlcXVpcmVz
IGEgcmFjZSBiZXR3ZWVuIHRoZSB0aHJlYWQgZG9pbmcgRlRMIGNvbXBpbGF0aW9uIGFuZCB0aGUg
bWFpbiB0aHJlYWQsIGJ1dCBpdCB0cmlnZ2VycyBpbiAxMDAlIG9mIGNhc2VzIChiZWZvcmUgdGhl
IGZpeCkgb24gbXkgbWFjaGluZQorICAgICAgICBzbyBJIGRlY2lkZWQgdG8gYWRkIGl0IHRvIHRo
ZSBzdHJlc3MgdGVzdHMgbm9uZXRoZWxlc3MuCisKKyAgICAgICAgKiBzdHJlc3MvY3JlYXRlLXJl
c3Qtd2hpbGUtaGF2aW5nLWEtYmFkLXRpbWUuanM6IEFkZGVkLgorICAgICAgICAoZik6CisgICAg
ICAgIChnKToKKyAgICAgICAgKGgpOgorCiAyMDE4LTA0LTI0ICBLZWl0aCBNaWxsZXIgIDxrZWl0
aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIGZyb21DaGFyQ29kZSBpcyBtaXNzaW5nIHNv
bWUgZXhjZXB0aW9uIGNoZWNrcwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY3JlYXRlLXJl
c3Qtd2hpbGUtaGF2aW5nLWEtYmFkLXRpbWUuanMgYi9KU1Rlc3RzL3N0cmVzcy9jcmVhdGUtcmVz
dC13aGlsZS1oYXZpbmctYS1iYWQtdGltZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTk5NjgxYmVjYzFhYmQw
OGM0ODU5ZTk1NzQ2NGY2ZGZiNWZkNmJmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJl
c3MvY3JlYXRlLXJlc3Qtd2hpbGUtaGF2aW5nLWEtYmFkLXRpbWUuanMKQEAgLTAsMCArMSwxNiBA
QAorInVzZSBzdHJpY3QiOworZnVuY3Rpb24gZiguLi52KSB7CisgIHJldHVybiBnKHYpOworfQor
ZnVuY3Rpb24gZygpIHsKKyAgcmV0dXJuIGgoKTsKK30KK2Z1bmN0aW9uIGgoKSB7Cit9CisKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICBmKDApOworICBmKDAsIDApOworfQor
CitPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiNDIiLCB7fSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>