<?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>191206</bug_id>
          
          <creation_ts>2018-11-02 13:41:07 -0700</creation_ts>
          <short_desc>Running out of stack space not properly handled in RegExp::compile() and its callers</short_desc>
          <delta_ts>2018-11-05 10:03:21 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=191271</see_also>
          <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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dominik.infuehr</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>guijemont</cc>
    
    <cc>jlewis3</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1474611</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-02 13:41:07 -0700</bug_when>
    <thetext>The parsing under RegExp::compile() uses recursion for nested parenthesis.  The recursive function checks for available stack space, but that error isn&apos;t properly handled by RegExp::compile() and its callers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474612</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-02 13:41:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/39316988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474623</commentid>
    <comment_count>2</comment_count>
      <attachid>353730</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-02 14:26:36 -0700</bug_when>
    <thetext>Created attachment 353730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474645</commentid>
    <comment_count>3</comment_count>
      <attachid>353730</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-02 15:06:00 -0700</bug_when>
    <thetext>Comment on attachment 353730
Patch

Clearing flags on attachment: 353730

Committed r237753: &lt;https://trac.webkit.org/changeset/237753&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474646</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-02 15:06:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474662</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-11-02 15:47:32 -0700</bug_when>
    <thetext>Reverted r237753 for reason:

Introduced JSC test failures

Committed r237757: &lt;https://trac.webkit.org/changeset/237757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474664</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-11-02 15:48:15 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #5)
&gt; Reverted r237753 for reason:
&gt; 
&gt; Introduced JSC test failures
&gt; 
&gt; Committed r237757: &lt;https://trac.webkit.org/changeset/237757&gt;

Failures seen here:
https://build.webkit.org/builders/Apple%20High%20Sierra%20LLINT%20CLoop%20%28BuildAndTest%29/builds/9801</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474706</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-02 18:29:04 -0700</bug_when>
    <thetext>Fixed issues with DECLARE_THROW_SCOPE placement and rolled back in patch.

Committed 237763: &lt;https://trac.webkit.org/changeset/237763 &gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474738</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-02 22:24:46 -0700</bug_when>
    <thetext>Still seeing 15-20 new JSC test failures on the Linux release bots, and 6000 new failures on the debug bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474771</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-03 07:08:00 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #8)
&gt; Still seeing 15-20 new JSC test failures on the Linux release bots, and 6000
&gt; new failures on the debug bots.

I only see that the new stress/regexp-compile-oom.js as new failures on the Linux bots, 16 variants in release and 15 in debug.  I&apos;m going to disable the regexp-compile-oom.js on Linux since I can&apos;t debug why we can&apos;t get into the Out Of Memory situation before compiling the RegExp.

Where do you see the 6000 new failures?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474774</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-03 07:10:36 -0700</bug_when>
    <thetext>That was https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug%20%28Tests%29/builds/3879 but that was with the original version of this commit, r237757, not the corrected version r237763. So I was looking at the wrong results. Sorry, false alarm!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475146</commentid>
    <comment_count>11</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2018-11-05 09:57:50 -0800</bug_when>
    <thetext>It Looks like the roll-in broke the JSC test stress/regexp-compile-oom.js.dfg-maximal-flush-validate-no-cjit on JSC release High Sierra. and about 15 failures on Debug as well:
	stress/regexp-compile-oom.js.default
	stress/regexp-compile-oom.js.dfg-eager
	stress/regexp-compile-oom.js.dfg-eager-no-cjit-validate
	stress/regexp-compile-oom.js.dfg-maximal-flush-validate-no-cjit
	stress/regexp-compile-oom.js.ftl-eager
	stress/regexp-compile-oom.js.ftl-eager-no-cjit
	stress/regexp-compile-oom.js.ftl-eager-no-cjit-b3o1
	stress/regexp-compile-oom.js.ftl-no-cjit-b3o1
	stress/regexp-compile-oom.js.ftl-no-cjit-no-inline-validate
	stress/regexp-compile-oom.js.ftl-no-cjit-no-put-stack-validate
	stress/regexp-compile-oom.js.ftl-no-cjit-small-pool
	stress/regexp-compile-oom.js.ftl-no-cjit-validate-sampling-profiler
	stress/regexp-compile-oom.js.no-cjit-validate-phases
	stress/regexp-compile-oom.js.no-ftl
	stress/regexp-compile-oom.js.no-llint


https://build.webkit.org/builders/Apple%20High%20Sierra%20Release%20JSC%20%28Tests%29/builds/6416/steps/jscore-test/logs/stdio
https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20JSC%20%28Tests%29/builds/1687/steps/jscore-test/logs/stdio</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353730</attachid>
            <date>2018-11-02 14:26:36 -0700</date>
            <delta_ts>2018-11-02 15:06:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>191206.patch</filename>
            <type>text/plain</type>
            <size>10632</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzc3NTEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE4LTExLTAyICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIFJ1bm5pbmcgb3V0IG9mIHN0YWNrIHNwYWNlIG5vdCBwcm9wZXJs
eSBoYW5kbGVkIGluIFJlZ0V4cDo6Y29tcGlsZSgpIGFuZCBpdHMgY2FsbGVycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMjA2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHJlZ3Jlc3Npb24gdGVz
dC4KKworICAgICAgICAqIHN0cmVzcy9yZWdleHAtY29tcGlsZS1vb20uanM6IEFkZGVkLgorICAg
ICAgICAocmVjdXJzZUFuZFRlc3QpOgorCiAyMDE4LTExLTAxICBHdWlsbGF1bWUgRW1vbnQgIDxn
dWlqZW1vbnRAaWdhbGlhLmNvbT4KIAogICAgICAgICBTa2lwIHRlc3RzIG9uIGFybS9taXBzIHRo
YXQgdGltZSBvdXQgbm93IHdlJ3JlIHJ1bm5pbmcgb24gQ0xvb3AKSW5kZXg6IEpTVGVzdHMvc3Ry
ZXNzL3JlZ2V4cC1jb21waWxlLW9vbS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9y
ZWdleHAtY29tcGlsZS1vb20uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcmVn
ZXhwLWNvbXBpbGUtb29tLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKKy8vIFRl
c3QgdGhhdCB0aHJvdyBhbiBPT00gZXhjZXB0aW9uIHdoZW4gY29tcGlsaW5nIGEgcGF0aG9sb2dp
Y2FsLCBidXQgdmFsaWQgbmVzdGVkIFJlZ0V4cC4KKworZnVuY3Rpb24gcmVjdXJzZUFuZFRlc3Qo
ZGVwdGgsIGYsIGV4cGVjdGVkRXhjZXB0aW9uKQoreworICAgIC8vIFByb2JlIHN0YWNrIGRlcHRo
CisgICAgdHJ5IHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IHJlY3Vyc2VBbmRUZXN0KGRlcHRoICsg
MSwgZiwgZXhwZWN0ZWRFeGNlcHRpb24pOworICAgICAgICBpZiAocmVzdWx0ID09IDApIHsKKyAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgdGVzdCBmdW5jdGlv
biB3aXRoIGEgbmVhcmx5IGZ1bGwgc3RhY2suCisgICAgICAgICAgICAgICAgZigpOworICAgICAg
ICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgICAgIHJldHVybiBlLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9IGVsc2Ug
aWYgKHJlc3VsdCA8IDApCisgICAgICAgICAgICByZXR1cm4gcmVzdWx0ICsgMTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgIC8vIEdvIHVwIGEgc2V2ZXJhbCBmcmFtZXMgYW5kIHRoZW4gY2FsbCB0aGUgdGVzdCBmdW5j
dGlvbgorICAgICAgICByZXR1cm4gLTEwOworICAgIH0KKworICAgIHJldHVybiAxOworfQorCits
ZXQgZGVlcFJFID0gLygoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoeCkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpLzsKK2xldCBtYXRjaExlbiA9IDM4MTsg
Ly8gVGhlIG51bWJlciBvZiBwYXJlbnMgcGx1cyAxIGZvciB0aGUgd2hvbGUgbWF0Y2guCisKK2xl
dCByZWdFeHBPT01FcnJvciA9ICJFcnJvcjogT3V0IG9mIG1lbW9yeTogSW52YWxpZCByZWd1bGFy
IGV4cHJlc3Npb246IHRvbyBtYW55IG5lc3RlZCBkaXNqdW5jdGlvbnMiOworCisvLyBUZXN0IHRo
YXQgYm90aCBleGVjIChjYXB0dXJlZCBjb21waWxhdGlvbikgYW5kIHRlc3QgKG1hdGNoIG9ubHkg
Y29tcGlsYXRpb24pIGhhbmRsZXMgT09NLgorbGV0IHJlc3VsdCA9IHJlY3Vyc2VBbmRUZXN0KDEs
ICgpID0+IHsgZGVlcFJFLmV4ZWMoKTsgfSk7CitpZiAocmVzdWx0ICE9IHJlZ0V4cE9PTUVycm9y
KQorICAgIHRocm93ICJFeHBlY3RlZDogXCIiICsgcmVnRXhwT09NRXJyb3IgKyAiXCIgYnV0IGdv
dCBcIiIgKyByZXN1bHQgKyAiXCIiOworCityZXN1bHQgPSByZWN1cnNlQW5kVGVzdCgxLCAoKSA9
PiB7IGRlZXBSRS50ZXN0KCk7IH0pOworaWYgKHJlc3VsdCAhPSByZWdFeHBPT01FcnJvcikKKyAg
ICB0aHJvdyAiRXhwZWN0ZWQ6IFwiIiArIHJlZ0V4cE9PTUVycm9yICsgIlwiIGJ1dCBnb3QgXCIi
ICsgcmVzdWx0ICsgIlwiIjsKKworLy8gVGVzdCB0aGF0IHRoZSBSZWdFeHAgd29ya3MgY29ycmVj
dGx5IHdpdGggUmVnRXhwLmV4ZWMoKSBhbmQgUmVnRXhwLnRlc3QoKSB3aGVuIHRoZXJlIGlzIHN1
ZmZpY2llbnQgc3RhY2sgc3BhY2UgdG8gY29tcGlsZSBpdC4KK2xldCBtID0gZGVlcFJFLmV4ZWMo
IngiKTsKK2xldCBtYXRjaGVkID0gdHJ1ZTsKK2lmIChtLmxlbmd0aCAhPSBtYXRjaExlbikKKyAg
ICBtYXRjaGVkID0gZmFsc2UKK2Vsc2UgeworICAgIGZvciAoaSA9IDA7IGkgPCBtYXRjaExlbjsg
aSsrKSB7CisgICAgICAgIGlmIChtW2ldICE9ICJ4IikKKyAgICAgICAgICAgIG1hdGNoZWQgPSBm
YWxzZTsKKyAgICB9Cit9CisKK2lmICghbWF0Y2hlZCkgeworICAgIGxldCBleHBlY3RlZE1hdGNo
ID0gW107CisgICAgZm9yIChpID0gMDsgaSA8IG1hdGNoTGVuOyBpKyspCisgICAgICAgIGV4cGVj
dGVkTWF0Y2hbaV0gPSAieCI7CisKKyAgICB0aHJvdyAiRXhwZWN0ZWQgUmVnRXhwLmV4ZWMoLi4u
KSB0byBiZSBbIiArIGV4cGVjdGVkTWF0Y2ggKyAiXSBidXQgZ290IFsiICsgbSArICJdIjsKK30K
KworaWYgKCFkZWVwUkUudGVzdCgieCIpKQorICAgIHRocm93ICJFeHBlY3RlZCBSZWdFeHAudGVz
dCguLi4pIHRvIGJlIHRydWUsIGJ1dCB3YXMgZmFsc2UiOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMzc3NTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTgtMTEtMDIgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUnVubmluZyBvdXQgb2Ygc3Rh
Y2sgc3BhY2Ugbm90IHByb3Blcmx5IGhhbmRsZWQgaW4gUmVnRXhwOjpjb21waWxlKCkgYW5kIGl0
cyBjYWxsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTEyMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBFbGltaW5hdGVkIHR3byBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpIGZvciBlcnJvcnMg
cmV0dXJuZWQgYnkgWWFyciBwYXJzaW5nIGNvZGUuICBCdWJibGVkIHRob3NlIGVycm9ycworICAg
ICAgICB1cCB0byB3aGVyZSB0aGV5IGFyZSB0dXJuZWQgaW50byB0aGUgYXBwcm9wcmlhdGUgZXhj
ZXB0aW9ucyBpbiBtYXRjaElubGluZSgpLiAgSWYgdGhlIGVycm9ycyBhcmUgbm90IGR1ZQorICAg
ICAgICB0byBzeW50YXgsIHdlIHJlc2V0IHRoZSBSZWdFeHAgc3RhdGUgaW4gY2FzZSB0aGUgcGFy
c2luZyBpcyB0cmllZCB3aXRoIGEgc21hbGxlciBzdGFjay4KKworICAgICAgICAqIHJ1bnRpbWUv
UmVnRXhwLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwOjpjb21waWxlKToKKyAgICAgICAgKEpT
Qzo6UmVnRXhwOjpjb21waWxlTWF0Y2hPbmx5KToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cC5o
OgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpSZWdF
eHA6OmNvbXBpbGVJZk5lY2Vzc2FyeSk6CisgICAgICAgIChKU0M6OlJlZ0V4cDo6bWF0Y2hJbmxp
bmUpOgorICAgICAgICAoSlNDOjpSZWdFeHA6OmNvbXBpbGVJZk5lY2Vzc2FyeU1hdGNoT25seSk6
CisgICAgICAgICogcnVudGltZS9SZWdFeHBPYmplY3RJbmxpbmVzLmg6CisgICAgICAgIChKU0M6
OlJlZ0V4cE9iamVjdDo6ZXhlY0lubGluZSk6CisgICAgICAgICogeWFyci9ZYXJyRXJyb3JDb2Rl
Lmg6CisgICAgICAgIChKU0M6OllhcnI6Omhhc0hhcmRFcnJvcik6CisKIDIwMTgtMTEtMDIgIEtl
aXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQVBJIHNob3Vs
ZCB1c2Ugd3JhcHBlciBvYmplY3QgaWYgYWRkcmVzcyBpcyAzMi1iaXQKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcAkocmV2aXNpb24gMjM3NzUxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZ0V4cC5oIgog
CisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIkxleGVyLmgiCiAjaW5j
bHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIlJlZ0V4cENhY2hlLmgiCkBAIC0yOTAsMTEg
KzI5MSw4IEBAIHZvaWQgUmVnRXhwOjpjb21waWxlKFZNKiB2bSwgWWFycjo6WWFyckMKICAgICAK
ICAgICBZYXJyOjpZYXJyUGF0dGVybiBwYXR0ZXJuKG1fcGF0dGVyblN0cmluZywgbV9mbGFncywg
bV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUsIHZtLT5zdGFja0xpbWl0KCkpOwogICAgIGlmIChoYXNF
cnJvcihtX2NvbnN0cnVjdGlvbkVycm9yQ29kZSkpIHsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSNpZiBDT01QSUxFUl9RVUlSSyhDT05TSURFUlNfVU5SRUFDSEFCTEVf
Q09ERSkKICAgICAgICAgbV9zdGF0ZSA9IFBhcnNlRXJyb3I7CiAgICAgICAgIHJldHVybjsKLSNl
bmRpZgogICAgIH0KICAgICBBU1NFUlQobV9udW1TdWJwYXR0ZXJucyA9PSBwYXR0ZXJuLm1fbnVt
U3VicGF0dGVybnMpOwogCkBAIC0zNTAsMTEgKzM0OCw4IEBAIHZvaWQgUmVnRXhwOjpjb21waWxl
TWF0Y2hPbmx5KFZNKiB2bSwgWWEKICAgICAKICAgICBZYXJyOjpZYXJyUGF0dGVybiBwYXR0ZXJu
KG1fcGF0dGVyblN0cmluZywgbV9mbGFncywgbV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUsIHZtLT5z
dGFja0xpbWl0KCkpOwogICAgIGlmIChoYXNFcnJvcihtX2NvbnN0cnVjdGlvbkVycm9yQ29kZSkp
IHsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSNpZiBDT01QSUxFUl9R
VUlSSyhDT05TSURFUlNfVU5SRUFDSEFCTEVfQ09ERSkKICAgICAgICAgbV9zdGF0ZSA9IFBhcnNl
RXJyb3I7CiAgICAgICAgIHJldHVybjsKLSNlbmRpZgogICAgIH0KICAgICBBU1NFUlQobV9udW1T
dWJwYXR0ZXJucyA9PSBwYXR0ZXJuLm1fbnVtU3VicGF0dGVybnMpOwogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHAuaAkocmV2aXNpb24gMjM3NzUxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDYg
KzY0LDExIEBAIHB1YmxpYzoKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiAhWWFy
cjo6aGFzRXJyb3IobV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUpICYmIG1fZmxhZ3MgIT0gSW52YWxp
ZEZsYWdzOyB9CiAgICAgY29uc3QgY2hhciogZXJyb3JNZXNzYWdlKCkgY29uc3QgeyByZXR1cm4g
WWFycjo6ZXJyb3JNZXNzYWdlKG1fY29uc3RydWN0aW9uRXJyb3JDb2RlKTsgfQogICAgIEpTT2Jq
ZWN0KiBlcnJvclRvVGhyb3coRXhlY1N0YXRlKiBleGVjKSB7IHJldHVybiBZYXJyOjplcnJvclRv
VGhyb3coZXhlYywgbV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUpOyB9CisgICAgdm9pZCByZXNldCgp
CisgICAgeworICAgICAgICBtX3N0YXRlID0gTm90Q29tcGlsZWQ7CisgICAgICAgIG1fY29uc3Ry
dWN0aW9uRXJyb3JDb2RlID0gWWFycjo6RXJyb3JDb2RlOjpOb0Vycm9yOworICAgIH0KIAogICAg
IEpTX0VYUE9SVF9QUklWQVRFIGludCBtYXRjaChWTSYsIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVk
IHN0YXJ0T2Zmc2V0LCBWZWN0b3I8aW50PiYgb3ZlY3Rvcik7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBJbmxpbmVzLmgJKHJldmlzaW9uIDIzNzc1MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cElubGluZXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIzLDIwICsxMjMsMzEgQEAgQUxXQVlTX0lOTElORSB2b2lkIFJlZ0V4cDo6
Y29tcGlsZUlmTmVjZQogICAgIGlmIChoYXNDb2RlRm9yKGNoYXJTaXplKSkKICAgICAgICAgcmV0
dXJuOwogCisgICAgaWYgKG1fc3RhdGUgPT0gUGFyc2VFcnJvcikKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgY29tcGlsZSgmdm0sIGNoYXJTaXplKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVmVj
dG9yVHlwZT4KIEFMV0FZU19JTkxJTkUgaW50IFJlZ0V4cDo6bWF0Y2hJbmxpbmUoVk0mIHZtLCBj
b25zdCBTdHJpbmcmIHMsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCBWZWN0b3JUeXBlJiBvdmVjdG9y
KQogeworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogI2lm
IEVOQUJMRShSRUdFWFBfVFJBQ0lORykKICAgICBtX3J0TWF0Y2hDYWxsQ291bnQrKzsKICAgICBt
X3J0TWF0Y2hUb3RhbFN1YmplY3RTdHJpbmdMZW4gKz0gKGRvdWJsZSkocy5sZW5ndGgoKSAtIHN0
YXJ0T2Zmc2V0KTsKICNlbmRpZgogCi0gICAgQVNTRVJUKG1fc3RhdGUgIT0gUGFyc2VFcnJvcik7
CiAgICAgY29tcGlsZUlmTmVjZXNzYXJ5KHZtLCBzLmlzOEJpdCgpID8gWWFycjo6Q2hhcjggOiBZ
YXJyOjpDaGFyMTYpOwogCisgICAgaWYgKG1fc3RhdGUgPT0gUGFyc2VFcnJvcikgeworICAgICAg
ICBFeGVjU3RhdGUqIGV4ZWMgPSB2bS50b3BDYWxsRnJhbWU7CisgICAgICAgIHRocm93U2NvcGUu
dGhyb3dFeGNlcHRpb24oZXhlYywgZXJyb3JUb1Rocm93KGV4ZWMpKTsKKyAgICAgICAgaWYgKCFo
YXNIYXJkRXJyb3IobV9jb25zdHJ1Y3Rpb25FcnJvckNvZGUpKQorICAgICAgICAgICAgcmVzZXQo
KTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKwogICAgIGludCBvZmZzZXRWZWN0b3JTaXpl
ID0gKG1fbnVtU3VicGF0dGVybnMgKyAxKSAqIDI7CiAgICAgb3ZlY3Rvci5yZXNpemUob2Zmc2V0
VmVjdG9yU2l6ZSk7CiAgICAgaW50KiBvZmZzZXRWZWN0b3IgPSBvdmVjdG9yLmRhdGEoKTsKQEAg
LTIzNywxOSArMjQ4LDMwIEBAIEFMV0FZU19JTkxJTkUgdm9pZCBSZWdFeHA6OmNvbXBpbGVJZk5l
Y2UKICAgICBpZiAoaGFzTWF0Y2hPbmx5Q29kZUZvcihjaGFyU2l6ZSkpCiAgICAgICAgIHJldHVy
bjsKIAorICAgIGlmIChtX3N0YXRlID09IFBhcnNlRXJyb3IpCisgICAgICAgIHJldHVybjsKKwog
ICAgIGNvbXBpbGVNYXRjaE9ubHkoJnZtLCBjaGFyU2l6ZSk7CiB9CiAKIEFMV0FZU19JTkxJTkUg
TWF0Y2hSZXN1bHQgUmVnRXhwOjptYXRjaElubGluZShWTSYgdm0sIGNvbnN0IFN0cmluZyYgcywg
dW5zaWduZWQgc3RhcnRPZmZzZXQpCiB7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAjaWYgRU5BQkxFKFJFR0VYUF9UUkFDSU5HKQogICAgIG1fcnRNYXRj
aE9ubHlDYWxsQ291bnQrKzsKICAgICBtX3J0TWF0Y2hPbmx5VG90YWxTdWJqZWN0U3RyaW5nTGVu
ICs9IChkb3VibGUpKHMubGVuZ3RoKCkgLSBzdGFydE9mZnNldCk7CiAjZW5kaWYKIAotICAgIEFT
U0VSVChtX3N0YXRlICE9IFBhcnNlRXJyb3IpOwogICAgIGNvbXBpbGVJZk5lY2Vzc2FyeU1hdGNo
T25seSh2bSwgcy5pczhCaXQoKSA/IFlhcnI6OkNoYXI4IDogWWFycjo6Q2hhcjE2KTsKIAorICAg
IGlmIChtX3N0YXRlID09IFBhcnNlRXJyb3IpIHsKKyAgICAgICAgRXhlY1N0YXRlKiBleGVjID0g
dm0udG9wQ2FsbEZyYW1lOworICAgICAgICB0aHJvd1Njb3BlLnRocm93RXhjZXB0aW9uKGV4ZWMs
IGVycm9yVG9UaHJvdyhleGVjKSk7CisgICAgICAgIGlmICghaGFzSGFyZEVycm9yKG1fY29uc3Ry
dWN0aW9uRXJyb3JDb2RlKSkKKyAgICAgICAgICAgIHJlc2V0KCk7CisgICAgICAgIHJldHVybiBN
YXRjaFJlc3VsdDo6ZmFpbGVkKCk7CisgICAgfQorCiAjaWYgRU5BQkxFKFlBUlJfSklUKQogICAg
IE1hdGNoUmVzdWx0IHJlc3VsdDsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdElubGluZXMuaAkocmV2aXNpb24gMjM3NzUxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0SW5saW5lcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04NSw2ICs4NSw3IEBAIGlubGluZSBKU1ZhbHVlIFJlZ0V4cE9iamVjdDo6
ZXhlY0lubGluZSgKICAgICBKU0FycmF5KiBhcnJheSA9CiAgICAgICAgIGNyZWF0ZVJlZ0V4cE1h
dGNoZXNBcnJheSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJpbmcsIGlucHV0LCByZWdFeHAsIGxhc3RJ
bmRleCwgcmVzdWx0KTsKICAgICBpZiAoIWFycmF5KSB7CisgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIHsgfSk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgaWYg
KGdsb2JhbE9yU3RpY2t5KQogICAgICAgICAgICAgc2V0TGFzdEluZGV4KGV4ZWMsIDApOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckVycm9yQ29kZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJFcnJvckNvZGUuaAkocmV2aXNpb24g
MjM3NzUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckVycm9yQ29kZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMyBAQCBpbmxpbmUgYm9vbCBoYXNFcnJvcihFcnJv
ckNvZGUgZXJyb3JDb2RlCiB7CiAgICAgcmV0dXJuIGVycm9yQ29kZSAhPSBFcnJvckNvZGU6Ok5v
RXJyb3I7CiB9CisKK2lubGluZSBib29sIGhhc0hhcmRFcnJvcihFcnJvckNvZGUgZXJyb3JDb2Rl
KQoreworICAgIC8vIFRvb01hbnlEaXNqdW5jdGlvbnMgbWVhbnMgdGhhdCB3ZSByYW4gb3V0IHN0
YWNrIGNvbXBpbGluZy4KKyAgICAvLyBBbGwgb3RoZXIgZXJyb3JzIGFyZSBkdWUgdG8gcHJvYmxl
bXMgaW4gdGhlIGV4cHJlc3Npb24uCisgICAgcmV0dXJuIGhhc0Vycm9yKGVycm9yQ29kZSkgJiYg
ZXJyb3JDb2RlICE9IEVycm9yQ29kZTo6VG9vTWFueURpc2p1bmN0aW9uczsKK30KIEpTX0VYUE9S
VF9QUklWQVRFIEpTT2JqZWN0KiBlcnJvclRvVGhyb3coRXhlY1N0YXRlKiwgRXJyb3JDb2RlKTsK
IAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OllhcnIK
</data>

          </attachment>
      

    </bug>

</bugzilla>