<?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>191271</bug_id>
          
          <creation_ts>2018-11-05 10:03:21 -0800</creation_ts>
          <short_desc>Multiple stress/regexp-compile-oom.js tests are failing on High Sierra Debug and Release JSC testers.</short_desc>
          <delta_ts>2022-02-27 23:29:46 -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=191206</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="Matt Lewis">jlewis3</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</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>1475150</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2018-11-05 10:03:21 -0800</bug_when>
    <thetext>the JSC test stress/regexp-compile-oom.js.dfg-maximal-flush-validate-no-cjit on JSC release High Sierra nd 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


This happened after:
https://trac.webkit.org/changeset/237763/webkit

Example assertion failure
 ASSERTION FAILED: !m_needExceptionCheck
stress/regexp-compile-oom.js.default: ./runtime/VM.cpp(1211) : void JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation &amp;)
stress/regexp-compile-oom.js.default: 1   0x102b1d4a9 WTFCrash
stress/regexp-compile-oom.js.default: 2   0x102b1e3ab WTFCrashWithInfo(int, char const*, char const*, int)
stress/regexp-compile-oom.js.default: 3   0x1041b8cab JSC::VM::verifyExceptionCheckNeedIsSatisfied(unsigned int, JSC::ExceptionEventLocation&amp;)
stress/regexp-compile-oom.js.default: 4   0x1041911cd JSC::ThrowScope::~ThrowScope()
stress/regexp-compile-oom.js.default: 5   0x104191635 JSC::ThrowScope::~ThrowScope()
stress/regexp-compile-oom.js.default: 6   0x1038c22f4 JSC::RegExpObject::matchInline(JSC::ExecState*, JSC::JSGlobalObject*, JSC::JSString*)
stress/regexp-compile-oom.js.default: 7   0x104124e5d JSC::RegExpObject::match(JSC::ExecState*, JSC::JSGlobalObject*, JSC::JSString*)
stress/regexp-compile-oom.js.default: 8   0x1038a732d JSC::RegExpObject::test(JSC::ExecState*, JSC::JSGlobalObject*, JSC::JSString*)
stress/regexp-compile-oom.js.default: 9   0x104128a7a JSC::regExpProtoFuncTestFast(JSC::ExecState*)
stress/regexp-compile-oom.js.default: 10  0x40e76677177
stress/regexp-compile-oom.js.default: 11  0x102fd77f3 llint_entry
stress/regexp-compile-oom.js.default: 12  0x40eb6676cb7
stress/regexp-compile-oom.js.default: 13  0x40eb6676644
stress/regexp-compile-oom.js.default: 14  0x40eb6676644
stress/regexp-compile-oom.js.default: 15  0x40eb6676644
stress/regexp-compile-oom.js.default: 16  0x40eb6676644
stress/regexp-compile-oom.js.default: 17  0x40eb6676644
stress/regexp-compile-oom.js.default: 18  0x40eb6676644
stress/regexp-compile-oom.js.default: 19  0x40eb6676644
stress/regexp-compile-oom.js.default: 20  0x40eb6676644
stress/regexp-compile-oom.js.default: 21  0x40eb6676644
stress/regexp-compile-oom.js.default: 22  0x40eb6676644
stress/regexp-compile-oom.js.default: 23  0x40eb6676644
stress/regexp-compile-oom.js.default: 24  0x40eb6676644
stress/regexp-compile-oom.js.default: 25  0x40eb6676644
stress/regexp-compile-oom.js.default: 26  0x40eb6676644
stress/regexp-compile-oom.js.default: 27  0x40eb6676644
stress/regexp-compile-oom.js.default: 28  0x40eb6676644
stress/regexp-compile-oom.js.default: 29  0x40eb6676644
stress/regexp-compile-oom.js.default: 30  0x40eb6676644
stress/regexp-compile-oom.js.default: 31  0x40eb6676644</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475155</commentid>
    <comment_count>1</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-11-05 10:12:22 -0800</bug_when>
    <thetext>Also fails on a bunch of our linux bots:
 - WPE Linux 64-bit Debug (Tests)
 - GTK Linux 64-bit Release Wayland (Tests)
 - GTK Linux 64-bit Release (Tests)
 - GTK Linux 64-bit Debug (Tests)
 - JSCOnly Linux MIPS32el Release
 - JSCOnly Linux ARMv7 Thumb2 Release
 - JSCOnly Linux ARMv7 Thumb2 SoftFP Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475271</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-05 14:13:21 -0800</bug_when>
    <thetext>Patch in the works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475272</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-05 14:13:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/39316988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475342</commentid>
    <comment_count>4</comment_count>
      <attachid>353926</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-05 16:58:43 -0800</bug_when>
    <thetext>Created attachment 353926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475399</commentid>
    <comment_count>5</comment_count>
      <attachid>353926</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-11-05 20:19:01 -0800</bug_when>
    <thetext>Comment on attachment 353926
Patch

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

r=me

&gt; JSTests/ChangeLog:8
&gt; +        Added more test cases and made all test cases runn with the same deeply recursive stack

Typo: runn

&gt; Source/JavaScriptCore/runtime/RegExpPrototype.cpp:502
&gt; +    RETURN_IF_EXCEPTION(scope, encodedJSValue());

Maybe just release the scope before the above call since this is the last thing? That way we avoid the branch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475591</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-06 11:18:20 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #5)
&gt; Comment on attachment 353926 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=353926&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; JSTests/ChangeLog:8
&gt; &gt; +        Added more test cases and made all test cases runn with the same deeply recursive stack
&gt; 
&gt; Typo: runn

Fixed.

&gt; &gt; Source/JavaScriptCore/runtime/RegExpPrototype.cpp:502
&gt; &gt; +    RETURN_IF_EXCEPTION(scope, encodedJSValue());
&gt; 
&gt; Maybe just release the scope before the above call since this is the last
&gt; thing? That way we avoid the branch

This is here because code called by RegExpConstructor::performMatch() can throw an exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475592</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-11-06 11:19:09 -0800</bug_when>
    <thetext>Committed r237877: &lt;https://trac.webkit.org/changeset/237877&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353926</attachid>
            <date>2018-11-05 16:58:43 -0800</date>
            <delta_ts>2022-02-27 23:29:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>191271.patch</filename>
            <type>text/plain</type>
            <size>11710</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzc4MzgpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE4IEBACisyMDE4LTExLTA1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIE11bHRpcGxlIHN0cmVzcy9yZWdleHAtY29tcGlsZS1vb20uanMg
dGVzdHMgYXJlIGZhaWxpbmcgb24gSGlnaCBTaWVycmEgRGVidWcgYW5kIFJlbGVhc2UgSlNDIHRl
c3RlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTEyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBtb3JlIHRlc3QgY2FzZXMgYW5kIG1hZGUgYWxsIHRlc3QgY2FzZXMgcnVubiB3aXRoIHRo
ZSBzYW1lIGRlZXBseSByZWN1cnNpdmUgc3RhY2sKKyAgICAgICAgaW5zdGVhZCBvZiBmaW5kaW5n
IHRoYXQgc2FtZSBwb2ludCBmb3IgZWFjaCB0ZXN0IGNhc2UuCisKKyAgICAgICAgKiBzdHJlc3Mv
cmVnZXhwLWNvbXBpbGUtb29tLmpzOgorICAgICAgICAocHJvdG90eXBlLnJ1blRlc3QpOgorICAg
ICAgICAocmVjdXJzZUFuZFRlc3QpOgorICAgICAgICAodGVzdExpc3QucHVzaC5uZXcuVGVzdEFu
ZEV4cGVjdGVkRXhjZXB0aW9uKToKKwogMjAxOC0xMS0wNSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fi
b2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgbGludXgu
CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9yZWdleHAtY29tcGlsZS1vb20uanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy9zdHJlc3MvcmVnZXhwLWNvbXBpbGUtb29tLmpzCShyZXZpc2lvbiAyMzc4Mzgp
CisrKyBKU1Rlc3RzL3N0cmVzcy9yZWdleHAtY29tcGlsZS1vb20uanMJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTggKzEsMzggQEAKIC8vQCBza2lwIGlmICRob3N0T1MgIT0gImRhcndpbiIKIC8vIFRl
c3QgdGhhdCB0aHJvdyBhbiBPT00gZXhjZXB0aW9uIHdoZW4gY29tcGlsaW5nIGEgcGF0aG9sb2dp
Y2FsLCBidXQgdmFsaWQgbmVzdGVkIFJlZ0V4cC4KIAotZnVuY3Rpb24gcmVjdXJzZUFuZFRlc3Qo
ZGVwdGgsIGYsIGV4cGVjdGVkRXhjZXB0aW9uKQordmFyIGZhaWx1cmVzID0gW107CisKK2NsYXNz
IFRlc3RBbmRFeHBlY3RlZEV4Y2VwdGlvbgoreworICAgIGNvbnN0cnVjdG9yKGZ1bmMsIGV4Y2Vw
dGlvbikKKyAgICB7CisgICAgICAgIHRoaXMuZnVuYyA9IGZ1bmM7CisgICAgICAgIHRoaXMuZXhj
ZXB0aW9uID0gZXhjZXB0aW9uOworICAgIH0KKworICAgIHJ1blRlc3QoKQorICAgIHsKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMuZnVuYygpOworICAgICAgICAgICAgZmFpbHVyZXMu
cHVzaCgiUnVubmluZyAiICsgdGhpcy5mdW5jICsgIiwgZXhwZWN0ZWQgT09NIGV4Y2VwdGlvbiwg
YnV0IGRpZG4ndCBnZXQgb25lIik7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAg
IGxldCBlcnJTdHIgPSBlLnRvU3RyaW5nKCk7CisgICAgICAgICAgICBpZiAoZXJyU3RyICE9IHRo
aXMuZXhjZXB0aW9uKQorICAgICAgICAgICAgICAgIGZhaWx1cmVzLnB1c2goIlJ1bm5pbmcgIiAr
IHRoaXMuZnVuYyArICIsIGV4cGVjdGVkOiBcIiIgKyB0aGlzLmV4Y2VwdGlvbiArICJcIiBidXQg
Z290IFwiIiArIGVyclN0ciArICJcIiIpOworICAgICAgICB9ICAgICAgIAorICAgIH0KK30KKwor
ZnVuY3Rpb24gcmVjdXJzZUFuZFRlc3QoZGVwdGgsIHRlc3RMaXN0KQogewogICAgIC8vIFByb2Jl
IHN0YWNrIGRlcHRoCiAgICAgdHJ5IHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IHJlY3Vyc2VBbmRU
ZXN0KGRlcHRoICsgMSwgZiwgZXhwZWN0ZWRFeGNlcHRpb24pOworICAgICAgICBsZXQgcmVzdWx0
ID0gcmVjdXJzZUFuZFRlc3QoZGVwdGggKyAxLCB0ZXN0TGlzdCk7CiAgICAgICAgIGlmIChyZXN1
bHQgPT0gMCkgewotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAvLyBDYWxsIHRo
ZSB0ZXN0IGZ1bmN0aW9uIHdpdGggYSBuZWFybHkgZnVsbCBzdGFjay4KLSAgICAgICAgICAgICAg
ICBmKCk7Ci0gICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IGUudG9TdHJpbmcoKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIENhbGwgdGhlIHRl
c3QgZnVuY3Rpb25zIHdpdGggYSBuZWFybHkgZnVsbCBzdGFjay4KKyAgICAgICAgICAgIGZvciAo
Y29uc3QgdGVzdCBvZiB0ZXN0TGlzdCkKKyAgICAgICAgICAgICAgICB0ZXN0LnJ1blRlc3QoKTsK
IAogICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0IDwgMCkK
QEAgLTIwLDI2ICs0MCw0MCBAQCBmdW5jdGlvbiByZWN1cnNlQW5kVGVzdChkZXB0aCwgZiwgZXhw
ZWN0CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfSBjYXRj
aCAoZSkgewotICAgICAgICAvLyBHbyB1cCBhIHNldmVyYWwgZnJhbWVzIGFuZCB0aGVuIGNhbGwg
dGhlIHRlc3QgZnVuY3Rpb24KLSAgICAgICAgcmV0dXJuIC0xMDsKKyAgICAgICAgLy8gR28gdXAg
YSBzZXZlcmFsIGZyYW1lcyBhbmQgdGhlbiBjYWxsIHRoZSB0ZXN0IGZ1bmN0aW9ucworICAgICAg
ICByZXR1cm4gLTI0OwogICAgIH0KIAogICAgIHJldHVybiAxOwogfQogCi1sZXQgZGVlcFJFID0g
LygoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoeCkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpLzsKLWxldCBtYXRjaExlbiA9IDM4MTsgLy8gVGhlIG51bWJl
ciBvZiBwYXJlbnMgcGx1cyAxIGZvciB0aGUgd2hvbGUgbWF0Y2guCitsZXQgZGVlcFJFID0gbmV3
IFJlZ0V4cCgiKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKHgpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpIik7CitsZXQgZGVlcEdsb2JhbFJFID0gbmV3IFJlZ0V4cChkZWVwUkUsICJn
Iik7CisKK2xldCBtYXRjaExlbiA9IDQwMTsgLy8gVGhlIG51bWJlciBvZiBwYXJlbnMgcGx1cyAx
IGZvciB0aGUgd2hvbGUgbWF0Y2guCiAKIGxldCByZWdFeHBPT01FcnJvciA9ICJFcnJvcjogT3V0
IG9mIG1lbW9yeTogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IHRvbyBtYW55IG5lc3RlZCBk
aXNqdW5jdGlvbnMiOwogCi0vLyBUZXN0IHRoYXQgYm90aCBleGVjIChjYXB0dXJlZCBjb21waWxh
dGlvbikgYW5kIHRlc3QgKG1hdGNoIG9ubHkgY29tcGlsYXRpb24pIGhhbmRsZXMgT09NLgotbGV0
IHJlc3VsdCA9IHJlY3Vyc2VBbmRUZXN0KDEsICgpID0+IHsgZGVlcFJFLmV4ZWMoKTsgfSk7Ci1p
ZiAocmVzdWx0ICE9IHJlZ0V4cE9PTUVycm9yKQotICAgIHRocm93ICJFeHBlY3RlZDogXCIiICsg
cmVnRXhwT09NRXJyb3IgKyAiXCIgYnV0IGdvdCBcIiIgKyByZXN1bHQgKyAiXCIiOwotCi1yZXN1
bHQgPSByZWN1cnNlQW5kVGVzdCgxLCAoKSA9PiB7IGRlZXBSRS50ZXN0KCk7IH0pOwotaWYgKHJl
c3VsdCAhPSByZWdFeHBPT01FcnJvcikKLSAgICB0aHJvdyAiRXhwZWN0ZWQ6IFwiIiArIHJlZ0V4
cE9PTUVycm9yICsgIlwiIGJ1dCBnb3QgXCIiICsgcmVzdWx0ICsgIlwiIjsKK3Rlc3RMaXN0ID0g
W107CisKKy8vIFRlc3QgdGhhdCBhbGwgUmVnRXhwIHJlbGF0ZWQgQVBJcyB0aGF0IGNvbXBpbGUg
UkUncyBwcm9wZXJseSBoYW5kbGUgT09NLgordGVzdExpc3QucHVzaChuZXcgVGVzdEFuZEV4cGVj
dGVkRXhjZXB0aW9uKCgpID0+IHsgZGVlcFJFLmV4ZWMoIngiKTsgfSwgcmVnRXhwT09NRXJyb3Ip
KTsKK3Rlc3RMaXN0LnB1c2gobmV3IFRlc3RBbmRFeHBlY3RlZEV4Y2VwdGlvbigoKSA9PiB7IGRl
ZXBSRS50ZXN0KCJ4Iik7IH0sIHJlZ0V4cE9PTUVycm9yKSk7Cit0ZXN0TGlzdC5wdXNoKG5ldyBU
ZXN0QW5kRXhwZWN0ZWRFeGNlcHRpb24oKCkgPT4geyAieCIubWF0Y2goZGVlcFJFKTsgfSwgcmVn
RXhwT09NRXJyb3IpKTsKK3Rlc3RMaXN0LnB1c2gobmV3IFRlc3RBbmRFeHBlY3RlZEV4Y2VwdGlv
bigoKSA9PiB7ICJ4Ii5tYXRjaChkZWVwR2xvYmFsUkUpOyB9LCByZWdFeHBPT01FcnJvcikpOwor
dGVzdExpc3QucHVzaChuZXcgVGVzdEFuZEV4cGVjdGVkRXhjZXB0aW9uKCgpID0+IHsgIngiLnJl
cGxhY2UoZGVlcEdsb2JhbFJFLCAiIik7IH0sIHJlZ0V4cE9PTUVycm9yKSk7Cit0ZXN0TGlzdC5w
dXNoKG5ldyBUZXN0QW5kRXhwZWN0ZWRFeGNlcHRpb24oKCkgPT4geyAieCIucmVwbGFjZShkZWVw
R2xvYmFsUkUsICJYIik7IH0sIHJlZ0V4cE9PTUVycm9yKSk7Cit0ZXN0TGlzdC5wdXNoKG5ldyBU
ZXN0QW5kRXhwZWN0ZWRFeGNlcHRpb24oKCkgPT4geyAieCIucmVwbGFjZShkZWVwR2xvYmFsUkUs
ICgpID0+IHsgcmV0dXJuICJYIiB9KTsgfSwgcmVnRXhwT09NRXJyb3IpKTsKK3Rlc3RMaXN0LnB1
c2gobmV3IFRlc3RBbmRFeHBlY3RlZEV4Y2VwdGlvbigoKSA9PiB7ICJ4Ii5zZWFyY2goZGVlcFJF
KTsgfSwgcmVnRXhwT09NRXJyb3IpKTsKKworcmVjdXJzZUFuZFRlc3QoMSwgdGVzdExpc3QpOwor
CitpZiAoZmFpbHVyZXMubGVuZ3RoKSB7CisgICAgcHJpbnQoIkdvdCB0aGUgZm9sbG93aW5nIGZh
aWx1cmVzOiIpOworICAgIGZvciAoY29uc3QgZmFpbHVyZSBvZiBmYWlsdXJlcykKKyAgICAgICAg
cHJpbnQoZmFpbHVyZSk7CisgICAgdGhyb3cgIkdvdCBmYWlsdXJlcyI7Cit9CiAKIC8vIFRlc3Qg
dGhhdCB0aGUgUmVnRXhwIHdvcmtzIGNvcnJlY3RseSB3aXRoIFJlZ0V4cC5leGVjKCkgYW5kIFJl
Z0V4cC50ZXN0KCkgd2hlbiB0aGVyZSBpcyBzdWZmaWNpZW50IHN0YWNrIHNwYWNlIHRvIGNvbXBp
bGUgaXQuCiBsZXQgbSA9IGRlZXBSRS5leGVjKCJ4Iik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIzNzgzOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxOC0xMS0wNSAgTWljaGFlbCBT
YWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KKworICAgICAgICBNdWx0aXBsZSBzdHJlc3MvcmVn
ZXhwLWNvbXBpbGUtb29tLmpzIHRlc3RzIGFyZSBmYWlsaW5nIG9uIEhpZ2ggU2llcnJhIERlYnVn
IGFuZCBSZWxlYXNlIEpTQyB0ZXN0ZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRml4ZWQgdXNlIG9mIFRocm93U2NvcGUgbXkgYWRkaW5nIHJlbGVh
c2UoKSBjYWxscy4gIEZvdW5kIGEgZmV3IHBsYWNlcyB3aGVyZSB3ZSBuZWVkZWQKKyAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTigpLiAgQWZ0ZXIgc29tZSBjb2RlIGluc3BlY3Rpb25zIGRldGVy
bWluZWQgdGhhdCB3ZSBuZWVkIHRvIGNvdmVyIHRoZQorICAgICAgICBleGNlcHRpb24gYnViYmxp
bmcgZm9yIFN0cmluZy5tYXRjaCgpIHdpdGggYSBnbG9iYWwgUmVnRXhwIGFzIHdlbGwgYXMgU3Ry
aW5nLnJlcGxhY2UoKQorICAgICAgICBhbmQgU3RyaW5nLnNlYXJjaCgpLgorCisgICAgICAgICog
cnVudGltZS9SZWdFeHBPYmplY3RJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlJlZ0V4cE9iamVj
dDo6bWF0Y2hJbmxpbmUpOgorICAgICAgICAoSlNDOjpjb2xsZWN0TWF0Y2hlcyk6CisgICAgICAg
ICogcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpyZWdFeHBQcm90
b0Z1bmNTZWFyY2hGYXN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHA6
CisgICAgICAgIChKU0M6OnJlbW92ZVVzaW5nUmVnRXhwU2VhcmNoKToKKyAgICAgICAgKEpTQzo6
cmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKToKKwogMjAxOC0xMS0wNSAgRG9uIE9sbXN0ZWFkICA8
ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIEZpeCB0eXBvcyBpbiBjbG9zaW5nIEVO
QUJMRSBndWFyZHMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9i
amVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9uIDIzNzgzOCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMTExLDggKzExMSwxMCBAQCBpbmxpbmUgTWF0Y2hSZXN1bHQgUmVnRXhwT2JqZWN0OjptYXRj
aEluCiAgICAgU3RyaW5nIGlucHV0ID0gc3RyaW5nLT52YWx1ZShleGVjKTsKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwogCi0gICAgaWYgKCFyZWdFeHAtPmdsb2JhbCgpICYm
ICFyZWdFeHAtPnN0aWNreSgpKQorICAgIGlmICghcmVnRXhwLT5nbG9iYWwoKSAmJiAhcmVnRXhw
LT5zdGlja3koKSkgeworICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBy
ZWdFeHBDb25zdHJ1Y3Rvci0+cGVyZm9ybU1hdGNoKHZtLCByZWdFeHAsIHN0cmluZywgaW5wdXQs
IDApOworICAgIH0KIAogICAgIHVuc2lnbmVkIGxhc3RJbmRleCA9IGdldFJlZ0V4cE9iamVjdExh
c3RJbmRleEFzVW5zaWduZWQoZXhlYywgdGhpcywgaW5wdXQpOwogICAgIEVYQ0VQVElPTl9BU1NF
UlQoIXNjb3BlLmV4Y2VwdGlvbigpIHx8IChsYXN0SW5kZXggPT0gVUlOVF9NQVgpKTsKQEAgLTEy
MCw2ICsxMjIsNyBAQCBpbmxpbmUgTWF0Y2hSZXN1bHQgUmVnRXhwT2JqZWN0OjptYXRjaEluCiAg
ICAgICAgIHJldHVybiBNYXRjaFJlc3VsdDo6ZmFpbGVkKCk7CiAgICAgCiAgICAgTWF0Y2hSZXN1
bHQgcmVzdWx0ID0gcmVnRXhwQ29uc3RydWN0b3ItPnBlcmZvcm1NYXRjaCh2bSwgcmVnRXhwLCBz
dHJpbmcsIGlucHV0LCBsYXN0SW5kZXgpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IHsgfSk7CiAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgIHNldExhc3RJbmRleChleGVjLCByZXN1
bHQuZW5kKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTQ3LDYgKzE1MCw3IEBAIEpTVmFsdWUg
Y29sbGVjdE1hdGNoZXMoVk0mIHZtLCBFeGVjU3RhdGUKICAgICBhdXRvIHNjb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7CiAKICAgICBNYXRjaFJlc3VsdCByZXN1bHQgPSBjb25zdHJ1Y3Rv
ci0+cGVyZm9ybU1hdGNoKHZtLCByZWdFeHAsIHN0cmluZywgcywgMCk7CisgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOwogICAgIApAQCAtMTY3LDYgKzE3MSwxMCBAQCBKU1ZhbHVlIGNvbGxlY3RNYXRj
aGVzKFZNJiB2bSwgRXhlY1N0YXRlCiAgICAgICAgIGlmICghbGVuZ3RoKQogICAgICAgICAgICAg
ZW5kID0gZml4RW5kKGVuZCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdG9yLT5wZXJmb3Jt
TWF0Y2godm0sIHJlZ0V4cCwgc3RyaW5nLCBzLCBlbmQpOworICAgICAgICBpZiAoVU5MSUtFTFko
c2NvcGUuZXhjZXB0aW9uKCkpKSB7CisgICAgICAgICAgICBoYXNFeGNlcHRpb24gPSB0cnVlOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfTsKICAgICAKICAgICBkbyB7CkBA
IC0xOTEsNiArMTk5LDcgQEAgSlNWYWx1ZSBjb2xsZWN0TWF0Y2hlcyhWTSYgdm0sIEV4ZWNTdGF0
ZQogICAgICAgICAgICAgICAgIC8vIE9PTSEgT24gdGhlIG90aGVyIGhhbmQsIGlmIHRoaXMgbG9v
cCBjb25jbHVkZXMgdGhhdCB0aGUgcmVzdWx0IGlzIHNtYWxsIGVub3VnaCwKICAgICAgICAgICAg
ICAgICAvLyB0aGVuIHRoZSBpdGVyYXRlKCkgbG9vcCBiZWxvdyB3aWxsIG92ZXJ3cml0ZSB0aGUg
Y2FjaGVkIHJlc3VsdCBhbnl3YXkuCiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0
b3ItPnBlcmZvcm1NYXRjaCh2bSwgcmVnRXhwLCBzdHJpbmcsIHMsIGVuZCk7CisgICAgICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAgICAgICAgIH0gd2hp
bGUgKHJlc3VsdCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIE9LLCB3ZSBoYXZlIGEg
c2Vuc2libGUgbnVtYmVyIG9mIG1hdGNoZXMuIE5vdyB3ZSBjYW4gY3JlYXRlIHRoZW0gZm9yIHJl
YWxzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJvdG90eXBl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQ
cm90b3R5cGUuY3BwCShyZXZpc2lvbiAyMzc4MzgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTksNiArNDk5
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCByZWdFeHBQcm90bwogCiAgICAgUmVn
RXhwQ29uc3RydWN0b3IqIHJlZ0V4cENvbnN0cnVjdG9yID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLT5yZWdFeHBDb25zdHJ1Y3RvcigpOwogICAgIE1hdGNoUmVzdWx0IHJlc3VsdCA9IHJl
Z0V4cENvbnN0cnVjdG9yLT5wZXJmb3JtTWF0Y2godm0sIHJlZ0V4cCwgc3RyaW5nLCBzLCAwKTsK
KyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCA/IGpzTnVtYmVyKHJlc3VsdC5zdGFydCkgOiBq
c051bWJlcigtMSkpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJpbmdQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAJKHJldmlzaW9uIDIzNzgzOCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ5MSw2ICs0OTEsNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1N0cmluZyogcmVtb3Zl
VXNpCiAKICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBNYXRjaFJlc3VsdCByZXN1bHQgPSBy
ZWdFeHBDb25zdHJ1Y3Rvci0+cGVyZm9ybU1hdGNoKHZtLCByZWdFeHAsIHN0cmluZywgc291cmNl
LCBzdGFydFBvc2l0aW9uKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVs
bHB0cik7CiAgICAgICAgIGlmICghcmVzdWx0KQogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTU2
NCw2ICs1NjUsNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1N0cmluZyogcmVwbGFjZVVzCiAg
ICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgICBpbnQqIG92ZWN0b3I7CiAgICAgICAg
ICAgICBNYXRjaFJlc3VsdCByZXN1bHQgPSByZWdFeHBDb25zdHJ1Y3Rvci0+cGVyZm9ybU1hdGNo
KHZtLCByZWdFeHAsIHN0cmluZywgc291cmNlLCBzdGFydFBvc2l0aW9uLCAmb3ZlY3Rvcik7Cisg
ICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKICAgICAgICAg
ICAgIGlmICghcmVzdWx0KQogICAgICAgICAgICAgICAgIGJyZWFrOwogCkBAIC02MjksNiArNjMx
LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIHJlcGxhY2VVcwogICAgICAgICBk
byB7CiAgICAgICAgICAgICBpbnQqIG92ZWN0b3I7CiAgICAgICAgICAgICBNYXRjaFJlc3VsdCBy
ZXN1bHQgPSByZWdFeHBDb25zdHJ1Y3Rvci0+cGVyZm9ybU1hdGNoKHZtLCByZWdFeHAsIHN0cmlu
Zywgc291cmNlLCBzdGFydFBvc2l0aW9uLCAmb3ZlY3Rvcik7CisgICAgICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKICAgICAgICAgICAgIGlmICghcmVzdWx0KQog
ICAgICAgICAgICAgICAgIGJyZWFrOwogCg==
</data>
<flag name="review"
          id="371139"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>