<?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>197062</bug_id>
          
          <creation_ts>2019-04-18 09:52:13 -0700</creation_ts>
          <short_desc>Add option to dump JIT memory</short_desc>
          <delta_ts>2019-04-19 14:47:39 -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="Tadeu Zagallo">tzagallo</reporter>
          <assigned_to name="Tadeu Zagallo">tzagallo</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>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1528484</commentid>
    <comment_count>0</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-04-18 09:52:13 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528603</commentid>
    <comment_count>1</comment_count>
      <attachid>367762</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-04-18 14:55:19 -0700</bug_when>
    <thetext>Created attachment 367762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528605</commentid>
    <comment_count>2</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-04-18 14:56:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/49744332&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528776</commentid>
    <comment_count>3</comment_count>
      <attachid>367762</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-19 09:55:25 -0700</bug_when>
    <thetext>Comment on attachment 367762
Patch

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

&gt; Source/JavaScriptCore/assembler/LinkBuffer.cpp:264
&gt; +        dumpJITMemory(outData, outData, m_executableMemory-&gt;sizeInBytes());

I think you want m_size here

&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:565
&gt; +            ASSERT(fd != -1);

RELEASE_ASSERT

&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:583
&gt; +        if (UNLIKELY(offset + size &gt; bufferSize))

It’s unlikely this would happen, but you should just make the buffer size the size of the jit memory pool. That way you’re guaranteed there is enough space in it. This code here is wrong if a jitmemcpy copies &gt; 32MB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528848</commentid>
    <comment_count>4</comment_count>
      <attachid>367762</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-04-19 13:56:50 -0700</bug_when>
    <thetext>Comment on attachment 367762
Patch

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

Thanks for the review!

&gt;&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:583
&gt;&gt; +        if (UNLIKELY(offset + size &gt; bufferSize))
&gt; 
&gt; It’s unlikely this would happen, but you should just make the buffer size the size of the jit memory pool. That way you’re guaranteed there is enough space in it. This code here is wrong if a jitmemcpy copies &gt; 32MB

Yeah, I thought it was unlikely enough that it shouldn&apos;t matter, but I&apos;ll switch it to use `fixedExecutableMemoryPoolSize` instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528851</commentid>
    <comment_count>5</comment_count>
      <attachid>367821</attachid>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-04-19 13:58:02 -0700</bug_when>
    <thetext>Created attachment 367821
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528885</commentid>
    <comment_count>6</comment_count>
      <attachid>367821</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-19 14:47:38 -0700</bug_when>
    <thetext>Comment on attachment 367821
Patch for landing

Clearing flags on attachment: 367821

Committed r244470: &lt;https://trac.webkit.org/changeset/244470&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528886</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-19 14:47:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367762</attachid>
            <date>2019-04-18 14:55:19 -0700</date>
            <delta_ts>2019-04-19 13:57:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197062-20190418235458.patch</filename>
            <type>text/plain</type>
            <size>5490</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
YjZjYTdlYTQ1YzlkZTJjMTI0MzI0YjE0MjgwZTY3Y2NkMzYyNmZkLi5mMWMxNjMzZDJmOTUyN2Qx
MjIwN2Q1MzllZDU5MzY1MjhjOTRmNTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOS0wNC0xOCAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgb3B0aW9uIHRvIGR1bXAgSklUIG1lbW9yeQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MDYyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80OTc0NDMzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEdW1wIGFsbCB3cml0ZXMgaW50byBKSVQgbWVtb3J5IHRvIHRoZSBzcGVj
aWZpZWQgZmlsZS4gVGhlIGZvcm1hdCBpczoKKyAgICAgICAgLSA2NC1iaXQgZGVzdGluYXRpb24g
YWRkcmVzcyBmb3IgdGhlIHdyaXRlCisgICAgICAgIC0gNjQtYml0IHNpemUgb2YgdGhlIGNvbnRl
bnQgd3JpdHRlbgorICAgICAgICAtIENvcHkgb2YgdGhlIGRhdGEgdGhhdCB3YXMgd3JpdHRlbiB0
byBKSVQgbWVtb3J5CisKKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5jcHA6CisgICAg
ICAgIChKU0M6OkxpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUpOgorICAgICAgICAq
IGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6ZHVtcEpJVE1lbW9y
eSk6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaDoKKyAgICAgICAgKEpTQzo6
cGVyZm9ybUpJVE1lbWNweSk6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTkt
MDQtMTcgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3Zl
IGRlcHJlY2F0ZWQgSlNTY3JpcHQgU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmNwcAppbmRleCA3ZTEwZDQ4ZDgwYjZlNDRmN2NiNmNkYWFjMzc4Y2Qw
ODczZTEwYTYwLi4wYjcwMmExYmFjNjUxNzFmMTA3MmE5NjkyZDE5NjI1Yjc0YjI2ZDIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAKQEAgLTI2
MCw2ICsyNjAsOCBAQCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFj
cm9Bc3NlbWJsZXImIG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgIHBlcmZvcm1KSVRNZW1j
cHkoY29kZU91dERhdGEsIG91dERhdGEsIG1fc2l6ZSk7CiAjZWxzZQogICAgIEFTU0VSVChjb2Rl
T3V0RGF0YSA9PSBvdXREYXRhKTsKKyAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6ZHVtcEpJVE1l
bW9yeVBhdGgoKSkpCisgICAgICAgIGR1bXBKSVRNZW1vcnkob3V0RGF0YSwgb3V0RGF0YSwgbV9l
eGVjdXRhYmxlTWVtb3J5LT5zaXplSW5CeXRlcygpKTsKICNlbmRpZgogCiAgICAganVtcHNUb0xp
bmsuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0
YWJsZUFsbG9jYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3IuY3BwCmluZGV4IDdlNjM3ZjY3OGZkMmNkZmU5NDkwOGE4ZDVlMWMzODUxYzM0YjNh
MzAuLjdiOTM5NWY1Yjc0ZWY4OTFlOGU4MDc3NTg2Mjc2YWI1MGNhZjczYjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcApAQCAtNTUw
LDYgKzU1MCw1MyBAQCBib29sIGlzSklUUEModm9pZCogcGMpCiAgICAgcmV0dXJuIGFsbG9jYXRv
ciAmJiBhbGxvY2F0b3ItPmlzSklUUEMocGMpOwogfQogCit2b2lkIGR1bXBKSVRNZW1vcnkoY29u
c3Qgdm9pZCogZHN0LCBjb25zdCB2b2lkKiBzcmMsIHNpemVfdCBzaXplKQoreworICAgIEFTU0VS
VChPcHRpb25zOjpkdW1wSklUTWVtb3J5UGF0aCgpKTsKKworI2lmIE9TKERBUldJTikKKyAgICBz
dGF0aWMgaW50IGZkID0gLTE7CisgICAgc3RhdGljIHVpbnQ4X3QqIGJ1ZmZlcjsKKyAgICBzdGF0
aWMgY29uc3RleHByIHNpemVfdCBidWZmZXJTaXplID0gMzIgKiBNQjsKKyAgICBzdGF0aWMgc2l6
ZV90IG9mZnNldCA9IDA7CisgICAgc3RhdGljIGF1dG8gZmx1c2ggPSBbXSB7CisgICAgICAgIGlm
IChmZCA9PSAtMSkgeworICAgICAgICAgICAgZmQgPSBvcGVuKE9wdGlvbnM6OmR1bXBKSVRNZW1v
cnlQYXRoKCksIE9fQ1JFQVQgfCBPX1RSVU5DIHwgT19BUFBFTkQgfCBPX1dST05MWSB8IE9fRVhM
T0NLIHwgT19OT05CTE9DSywgMDY2Nik7CisgICAgICAgICAgICBBU1NFUlQoZmQgIT0gLTEpOwor
ICAgICAgICB9CisgICAgICAgIHdyaXRlKGZkLCBidWZmZXIsIG9mZnNldCk7CisgICAgICAgIG9m
ZnNldCA9IDA7CisgICAgfTsKKworICAgIHN0YXRpYyBMb2NrIGR1bXBKSVRNZW1vcnlMb2NrOwor
ICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlOworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2Us
IFtdIHsKKyAgICAgICAgYnVmZmVyID0gYml0d2lzZV9jYXN0PHVpbnQ4X3QqPihtYWxsb2MoYnVm
ZmVyU2l6ZSkpOworICAgICAgICBzdGQ6OmF0ZXhpdChbXSB7CisgICAgICAgICAgICBMb2NrSG9s
ZGVyIGxvY2tlcihkdW1wSklUTWVtb3J5TG9jayk7CisgICAgICAgICAgICBmbHVzaCgpOworICAg
ICAgICAgICAgY2xvc2UoZmQpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIHN0YXRpYyBh
dXRvIHdyaXRlID0gW10oY29uc3Qgdm9pZCogc3JjLCBzaXplX3Qgc2l6ZSkgeworICAgICAgICBp
ZiAoVU5MSUtFTFkob2Zmc2V0ICsgc2l6ZSA+IGJ1ZmZlclNpemUpKQorICAgICAgICAgICAgZmx1
c2goKTsKKyAgICAgICAgbWVtY3B5KGJ1ZmZlciArIG9mZnNldCwgc3JjLCBzaXplKTsKKyAgICAg
ICAgb2Zmc2V0ICs9IHNpemU7CisgICAgfTsKKworICAgIExvY2tIb2xkZXIgbG9ja2VyKGR1bXBK
SVRNZW1vcnlMb2NrKTsKKyAgICB1aW50NjRfdCBkc3Q2NCA9IGJpdHdpc2VfY2FzdDx1aW50cHRy
X3Q+KGRzdCk7CisgICAgd3JpdGUoJmRzdDY0LCBzaXplb2YoZHN0NjQpKTsKKyAgICB1aW50NjRf
dCBzaXplNjQgPSBzaXplOworICAgIHdyaXRlKCZzaXplNjQsIHNpemVvZihzaXplNjQpKTsKKyAg
ICB3cml0ZShzcmMsIHNpemUpOworI2Vsc2UKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRU5BQkxF
KEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFs
bG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9y
LmgKaW5kZXggODViNjdjNjUwYzU0ZTI0ZjcxYzRiMzQyMTBhMWJiZThiM2I3Mjc5ZC4uMjgzZmI0
NmQ3NWM0M2I0YTI0YjNmODQ5ODM1MTI3ZGRhMmQwNTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAog
I2luY2x1ZGUgIkpJVENvbXBpbGF0aW9uRWZmb3J0LmgiCiAjaW5jbHVkZSAiSlNDUHRyVGFnLmgi
CisjaW5jbHVkZSAiT3B0aW9ucy5oIgogI2luY2x1ZGUgPHN0ZGRlZi5oPiAvLyBmb3IgcHRyZGlm
Zl90CiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkBAIC0x
MTEsNiArMTEyLDggQEAgVCBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2woKQogCiBKU19F
WFBPUlRfUFJJVkFURSBib29sIGlzSklUUEModm9pZCogcGMpOwogCitKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIGR1bXBKSVRNZW1vcnkoY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqLCBzaXplX3QpOwor
CiAjaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogCiB0eXBlZGVmIHZvaWQgKCpKSVRXcml0
ZVNlcGFyYXRlSGVhcHNGdW5jdGlvbikob2ZmX3QsIGNvbnN0IHZvaWQqLCBzaXplX3QpOwpAQCAt
MTI4LDYgKzEzMSw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCogcGVyZm9ybUpJVE1lbWNweSh2b2lk
ICpkc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pCiAjZW5kaWYKICAgICBpZiAoaXNKSVRQ
Qyhkc3QpKSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhf
dCo+KGRzdCkgKyBuIDw9IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbCgpKTsKKworICAg
ICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6ZHVtcEpJVE1lbW9yeVBhdGgoKSkpCisgICAgICAg
ICAgICBkdW1wSklUTWVtb3J5KGRzdCwgc3JjLCBuKTsKICNpZiBFTkFCTEUoRkFTVF9KSVRfUEVS
TUlTU0lPTlMpCiAjaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogICAgICAgICBpZiAodXNl
RmFzdFBlcm1pc2lvbnNKSVRDb3B5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5oCmluZGV4IDFkNTUxOTZiYzUwOTY5MTQxZWQ3NjJkMDk1NGE1NDhhNWI2ZGViZjIuLmY5MmEx
ZDdkZjEwMDNkNmJlZjlmNzM5OGUwZGM0OGVhNjlmMGZmMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTUxOCw2ICs1MTgsNyBAQCBjb25zdGV4cHIgYm9vbCBl
bmFibGVXZWJBc3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIHYoYm9vbCwgZm9yY2VE
aXNrQ2FjaGUsIGZhbHNlLCBSZXN0cmljdGVkLCBudWxscHRyKSBcCiAgICAgdihib29sLCB2YWxp
ZGF0ZUFic3RyYWN0SW50ZXJwcmV0ZXJTdGF0ZSwgZmFsc2UsIFJlc3RyaWN0ZWQsIG51bGxwdHIp
IFwKICAgICB2KGRvdWJsZSwgdmFsaWRhdGVBYnN0cmFjdEludGVycHJldGVyU3RhdGVQcm9iYWJp
bGl0eSwgMC41LCBOb3JtYWwsIG51bGxwdHIpIFwKKyAgICB2KG9wdGlvblN0cmluZywgZHVtcEpJ
VE1lbW9yeVBhdGgsIG51bGxwdHIsIFJlc3RyaWN0ZWQsIG51bGxwdHIpIFwKIAogCiBlbnVtIE9w
dGlvbkVxdWl2YWxlbmNlIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367821</attachid>
            <date>2019-04-19 13:58:02 -0700</date>
            <delta_ts>2019-04-19 14:47:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-197062-20190419225740.patch</filename>
            <type>text/plain</type>
            <size>5490</size>
            <attacher name="Tadeu Zagallo">tzagallo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
YjZjYTdlYTQ1YzlkZTJjMTI0MzI0YjE0MjgwZTY3Y2NkMzYyNmZkLi5kMTI3Y2VkMGUzYmNlYTlm
M2U1NjBlY2U3YmI5ZDc0ZmM0MWFmZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOS0wNC0xOCAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgb3B0aW9uIHRvIGR1bXAgSklUIG1lbW9yeQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MDYyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80OTc0NDMzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0aS4K
KworICAgICAgICBEdW1wIGFsbCB3cml0ZXMgaW50byBKSVQgbWVtb3J5IHRvIHRoZSBzcGVjaWZp
ZWQgZmlsZS4gVGhlIGZvcm1hdCBpczoKKyAgICAgICAgLSA2NC1iaXQgZGVzdGluYXRpb24gYWRk
cmVzcyBmb3IgdGhlIHdyaXRlCisgICAgICAgIC0gNjQtYml0IHNpemUgb2YgdGhlIGNvbnRlbnQg
d3JpdHRlbgorICAgICAgICAtIENvcHkgb2YgdGhlIGRhdGEgdGhhdCB3YXMgd3JpdHRlbiB0byBK
SVQgbWVtb3J5CisKKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5jcHA6CisgICAgICAg
IChKU0M6OkxpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUpOgorICAgICAgICAqIGpp
dC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6ZHVtcEpJVE1lbW9yeSk6
CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaDoKKyAgICAgICAgKEpTQzo6cGVy
Zm9ybUpJVE1lbWNweSk6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTktMDQt
MTcgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGRl
cHJlY2F0ZWQgSlNTY3JpcHQgU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmNwcAppbmRleCA3ZTEwZDQ4ZDgwYjZlNDRmN2NiNmNkYWFjMzc4Y2QwODcz
ZTEwYTYwLi5kYzgwYmZmY2M5ZTVlMjU3NmMyNTQ4NGVhZTM0OTE1OTdjZWI4OGYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAKQEAgLTI2MCw2
ICsyNjAsOCBAQCB2b2lkIExpbmtCdWZmZXI6OmNvcHlDb21wYWN0QW5kTGlua0NvZGUoTWFjcm9B
c3NlbWJsZXImIG1hY3JvQXNzZW1ibGVyLCB2b2lkKiBvdwogICAgIHBlcmZvcm1KSVRNZW1jcHko
Y29kZU91dERhdGEsIG91dERhdGEsIG1fc2l6ZSk7CiAjZWxzZQogICAgIEFTU0VSVChjb2RlT3V0
RGF0YSA9PSBvdXREYXRhKTsKKyAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6ZHVtcEpJVE1lbW9y
eVBhdGgoKSkpCisgICAgICAgIGR1bXBKSVRNZW1vcnkob3V0RGF0YSwgb3V0RGF0YSwgbV9zaXpl
KTsKICNlbmRpZgogCiAgICAganVtcHNUb0xpbmsuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCmluZGV4IDdlNjM3ZjY3OGZk
MmNkZmU5NDkwOGE4ZDVlMWMzODUxYzM0YjNhMzAuLmRjYjViYTUyYzdhYzg4Nzg2MjQwNDIyZWUy
MzlmZmM2NzM1ZWVkNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhl
Y3V0YWJsZUFsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVj
dXRhYmxlQWxsb2NhdG9yLmNwcApAQCAtNTUwLDYgKzU1MCw1MyBAQCBib29sIGlzSklUUEModm9p
ZCogcGMpCiAgICAgcmV0dXJuIGFsbG9jYXRvciAmJiBhbGxvY2F0b3ItPmlzSklUUEMocGMpOwog
fQogCit2b2lkIGR1bXBKSVRNZW1vcnkoY29uc3Qgdm9pZCogZHN0LCBjb25zdCB2b2lkKiBzcmMs
IHNpemVfdCBzaXplKQoreworICAgIEFTU0VSVChPcHRpb25zOjpkdW1wSklUTWVtb3J5UGF0aCgp
KTsKKworI2lmIE9TKERBUldJTikKKyAgICBzdGF0aWMgaW50IGZkID0gLTE7CisgICAgc3RhdGlj
IHVpbnQ4X3QqIGJ1ZmZlcjsKKyAgICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBidWZmZXJTaXpl
ID0gZml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbFNpemU7CisgICAgc3RhdGljIHNpemVfdCBvZmZz
ZXQgPSAwOworICAgIHN0YXRpYyBhdXRvIGZsdXNoID0gW10geworICAgICAgICBpZiAoZmQgPT0g
LTEpIHsKKyAgICAgICAgICAgIGZkID0gb3BlbihPcHRpb25zOjpkdW1wSklUTWVtb3J5UGF0aCgp
LCBPX0NSRUFUIHwgT19UUlVOQyB8IE9fQVBQRU5EIHwgT19XUk9OTFkgfCBPX0VYTE9DSyB8IE9f
Tk9OQkxPQ0ssIDA2NjYpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZmQgIT0gLTEpOwor
ICAgICAgICB9CisgICAgICAgIHdyaXRlKGZkLCBidWZmZXIsIG9mZnNldCk7CisgICAgICAgIG9m
ZnNldCA9IDA7CisgICAgfTsKKworICAgIHN0YXRpYyBMb2NrIGR1bXBKSVRNZW1vcnlMb2NrOwor
ICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlOworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2Us
IFtdIHsKKyAgICAgICAgYnVmZmVyID0gYml0d2lzZV9jYXN0PHVpbnQ4X3QqPihtYWxsb2MoYnVm
ZmVyU2l6ZSkpOworICAgICAgICBzdGQ6OmF0ZXhpdChbXSB7CisgICAgICAgICAgICBMb2NrSG9s
ZGVyIGxvY2tlcihkdW1wSklUTWVtb3J5TG9jayk7CisgICAgICAgICAgICBmbHVzaCgpOworICAg
ICAgICAgICAgY2xvc2UoZmQpOworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIHN0YXRpYyBh
dXRvIHdyaXRlID0gW10oY29uc3Qgdm9pZCogc3JjLCBzaXplX3Qgc2l6ZSkgeworICAgICAgICBp
ZiAoVU5MSUtFTFkob2Zmc2V0ICsgc2l6ZSA+IGJ1ZmZlclNpemUpKQorICAgICAgICAgICAgZmx1
c2goKTsKKyAgICAgICAgbWVtY3B5KGJ1ZmZlciArIG9mZnNldCwgc3JjLCBzaXplKTsKKyAgICAg
ICAgb2Zmc2V0ICs9IHNpemU7CisgICAgfTsKKworICAgIExvY2tIb2xkZXIgbG9ja2VyKGR1bXBK
SVRNZW1vcnlMb2NrKTsKKyAgICB1aW50NjRfdCBkc3Q2NCA9IGJpdHdpc2VfY2FzdDx1aW50cHRy
X3Q+KGRzdCk7CisgICAgd3JpdGUoJmRzdDY0LCBzaXplb2YoZHN0NjQpKTsKKyAgICB1aW50NjRf
dCBzaXplNjQgPSBzaXplOworICAgIHdyaXRlKCZzaXplNjQsIHNpemVvZihzaXplNjQpKTsKKyAg
ICB3cml0ZShzcmMsIHNpemUpOworI2Vsc2UKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRU5BQkxF
KEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFs
bG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9y
LmgKaW5kZXggODViNjdjNjUwYzU0ZTI0ZjcxYzRiMzQyMTBhMWJiZThiM2I3Mjc5ZC4uMjgzZmI0
NmQ3NWM0M2I0YTI0YjNmODQ5ODM1MTI3ZGRhMmQwNTM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAog
I2luY2x1ZGUgIkpJVENvbXBpbGF0aW9uRWZmb3J0LmgiCiAjaW5jbHVkZSAiSlNDUHRyVGFnLmgi
CisjaW5jbHVkZSAiT3B0aW9ucy5oIgogI2luY2x1ZGUgPHN0ZGRlZi5oPiAvLyBmb3IgcHRyZGlm
Zl90CiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkBAIC0x
MTEsNiArMTEyLDggQEAgVCBlbmRPZkZpeGVkRXhlY3V0YWJsZU1lbW9yeVBvb2woKQogCiBKU19F
WFBPUlRfUFJJVkFURSBib29sIGlzSklUUEModm9pZCogcGMpOwogCitKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIGR1bXBKSVRNZW1vcnkoY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqLCBzaXplX3QpOwor
CiAjaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogCiB0eXBlZGVmIHZvaWQgKCpKSVRXcml0
ZVNlcGFyYXRlSGVhcHNGdW5jdGlvbikob2ZmX3QsIGNvbnN0IHZvaWQqLCBzaXplX3QpOwpAQCAt
MTI4LDYgKzEzMSw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCogcGVyZm9ybUpJVE1lbWNweSh2b2lk
ICpkc3QsIGNvbnN0IHZvaWQgKnNyYywgc2l6ZV90IG4pCiAjZW5kaWYKICAgICBpZiAoaXNKSVRQ
Qyhkc3QpKSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhf
dCo+KGRzdCkgKyBuIDw9IGVuZE9mRml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbCgpKTsKKworICAg
ICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6ZHVtcEpJVE1lbW9yeVBhdGgoKSkpCisgICAgICAg
ICAgICBkdW1wSklUTWVtb3J5KGRzdCwgc3JjLCBuKTsKICNpZiBFTkFCTEUoRkFTVF9KSVRfUEVS
TUlTU0lPTlMpCiAjaWYgRU5BQkxFKFNFUEFSQVRFRF9XWF9IRUFQKQogICAgICAgICBpZiAodXNl
RmFzdFBlcm1pc2lvbnNKSVRDb3B5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5oCmluZGV4IDFkNTUxOTZiYzUwOTY5MTQxZWQ3NjJkMDk1NGE1NDhhNWI2ZGViZjIuLmY5MmEx
ZDdkZjEwMDNkNmJlZjlmNzM5OGUwZGM0OGVhNjlmMGZmMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTUxOCw2ICs1MTgsNyBAQCBjb25zdGV4cHIgYm9vbCBl
bmFibGVXZWJBc3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwogICAgIHYoYm9vbCwgZm9yY2VE
aXNrQ2FjaGUsIGZhbHNlLCBSZXN0cmljdGVkLCBudWxscHRyKSBcCiAgICAgdihib29sLCB2YWxp
ZGF0ZUFic3RyYWN0SW50ZXJwcmV0ZXJTdGF0ZSwgZmFsc2UsIFJlc3RyaWN0ZWQsIG51bGxwdHIp
IFwKICAgICB2KGRvdWJsZSwgdmFsaWRhdGVBYnN0cmFjdEludGVycHJldGVyU3RhdGVQcm9iYWJp
bGl0eSwgMC41LCBOb3JtYWwsIG51bGxwdHIpIFwKKyAgICB2KG9wdGlvblN0cmluZywgZHVtcEpJ
VE1lbW9yeVBhdGgsIG51bGxwdHIsIFJlc3RyaWN0ZWQsIG51bGxwdHIpIFwKIAogCiBlbnVtIE9w
dGlvbkVxdWl2YWxlbmNlIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>