<?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>163046</bug_id>
          
          <creation_ts>2016-10-06 11:28:58 -0700</creation_ts>
          <short_desc>REGRESSION (r206853?): LayoutTest js/regress-141098.html failing</short_desc>
          <delta_ts>2016-11-15 11:49:17 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryan Haddad">ryanhaddad</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1237195</commentid>
    <comment_count>0</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-06 11:28:58 -0700</bug_when>
    <thetext>LayoutTest js/regress-141098.html failing

https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK2%20(Tests)/r206869%20(10010)/results.html

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=js%2Fregress-141098.html

--- /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/js/regress-141098-expected.txt
+++ /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/js/regress-141098-actual.txt
@@ -7,7 +7,6 @@
 Starting 1st probeAndRecurse
 PASS Exception: RangeError: Maximum call stack size exceeded.
 Starting 2nd probeAndRecurse
-PASS Exception: RangeError: Maximum call stack size exceeded.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237196</commentid>
    <comment_count>1</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-06 11:31:15 -0700</bug_when>
    <thetext>This test is flaky, but frequently failing. Earliest failure on the flakiness dashboard seems to be https://trac.webkit.org/changeset/206853.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237232</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-06 12:04:57 -0700</bug_when>
    <thetext>We should adjust the parameter written in that test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237757</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-07 12:54:22 -0700</bug_when>
    <thetext>Any chance this will be fixed soon?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237801</commentid>
    <comment_count>4</comment_count>
      <attachid>290970</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-07 14:42:23 -0700</bug_when>
    <thetext>Created attachment 290970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237900</commentid>
    <comment_count>5</comment_count>
      <attachid>290970</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-07 18:46:27 -0700</bug_when>
    <thetext>Comment on attachment 290970
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237901</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-07 18:46:54 -0700</bug_when>
    <thetext>Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237906</commentid>
    <comment_count>7</comment_count>
      <attachid>290970</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-07 19:09:41 -0700</bug_when>
    <thetext>Comment on attachment 290970
Patch

Clearing flags on attachment: 290970

Committed r206947: &lt;http://trac.webkit.org/changeset/206947&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237907</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-07 19:09:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237936</commentid>
    <comment_count>9</comment_count>
      <attachid>290970</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-10-07 22:26:14 -0700</bug_when>
    <thetext>Comment on attachment 290970
Patch

I think this is the wrong approach to fix this issue.  If I remember correctly, the 50 number was carefully chosen to trigger the condition that previously resulted in a crash.  Reducing it to 10 defeats the purpose of the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237938</commentid>
    <comment_count>10</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-10-07 23:20:05 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 290970 [details]
&gt; Patch
&gt; 
&gt; I think this is the wrong approach to fix this issue.  If I remember
&gt; correctly, the 50 number was carefully chosen to trigger the condition that
&gt; previously resulted in a crash.  Reducing it to 10 defeats the purpose of
&gt; the test.

Interesting. We should probably revert back then. Yusuke, do you know why your patch caused this test to become flaky?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237981</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-10-08 10:29:28 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Comment on attachment 290970 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; I think this is the wrong approach to fix this issue.  If I remember
&gt; &gt; correctly, the 50 number was carefully chosen to trigger the condition that
&gt; &gt; previously resulted in a crash.  Reducing it to 10 defeats the purpose of
&gt; &gt; the test.
&gt; 
&gt; Interesting. We should probably revert back then. Yusuke, do you know why
&gt; your patch caused this test to become flaky?

Yeah, I think this is due to &quot;testPassed&quot; function.
It calls escapeHTML, and escapeHTML calls String.prototype.replace.
And String.prototype.replace uses @throwTypeError intrinsic.
I guess that by introducing @throwTypeError, the one (or combination) of the followings occur.

1. The stack size used for String.prototype.replace is reduced. And when inlining it in the caller, the stack size of the whole function could be reduced.
2. By using @throwTypeError, String.prototype.replace becomes inlined in the test. And it changes the stack size of the function.

I have one question: Is this test executed correctly under the specific situation before our patch? It was already marked as skip.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237998</commentid>
    <comment_count>12</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-08 13:04:00 -0700</bug_when>
    <thetext>Reopening due to ongoing discussion (and because the test is still flaky).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238026</commentid>
    <comment_count>13</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-08 16:20:26 -0700</bug_when>
    <thetext>I cannot cleanly roll out the change that seems to have introduced the regression, so I have marked the test as flaky in https://trac.webkit.org/changeset/206962.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251518</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-11-15 11:38:07 -0800</bug_when>
    <thetext>Could you please look into this further, or roll out r206853 manually?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251522</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-15 11:43:23 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Could you please look into this further, or roll out r206853 manually?

This is a stack overflow test and these types of test have always been fragile.  Let&apos;s skip this test instead until we can make it not fragile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1251532</commentid>
    <comment_count>16</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-11-15 11:49:17 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; Could you please look into this further, or roll out r206853 manually?
&gt; 
&gt; This is a stack overflow test and these types of test have always been
&gt; fragile.  Let&apos;s skip this test instead until we can make it not fragile.

Agreed. This test originally has some assumption on the JS code&apos;s stack height.
r206853 changed the builtin functions.
And it breaks the above assumption because the changed function (String.prototype.replace) is accidentally called from this test.
So, r206853 itself is not directly related to this bug.

Assuming the consumed JS stack height on builtin JS functions is flaky.
Every time we change the builtin code (that is accidentally used for this test),
we need to care this test carefully to be aligned to the new JS stack height.

I think the right way is changing this test not to be flaky.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290970</attachid>
            <date>2016-10-07 14:42:23 -0700</date>
            <delta_ts>2016-10-07 19:09:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163046-20161008063905.patch</filename>
            <type>text/plain</type>
            <size>1568</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2OTM4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGFiZWNjYWIwNWFkZWM1YWViMTcw
MTI5ZWQ4ODA1ODg2YmE1YTgwMy4uZjQyYWI3MWE1ZTM4ZmFmNjIwZDc1ZTM0MDYzODVmNjI4NzU3
NzFhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEwLTA3ICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyMDY4NTM/KTog
TGF5b3V0VGVzdCBqcy9yZWdyZXNzLTE0MTA5OC5odG1sIGZhaWxpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzA0NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYXR0ZW1wdC10by1maXgg
cGF0Y2ggc2luY2UgSSBjYW5ub3QgcmVwcm9kdWNlIHRoaXMgZmxha2luZXNzLgorICAgICAgICBX
ZSByZWR1Y2UgdGhlIG51bWJlciBvZiBmcmFtZXMgdG8gYmFjayBvZmYgZnJvbSB0aGUgc3RhY2sg
b3ZlcmZsb3cgdG8KKyAgICAgICAgY2F0Y2ggdGhlIGNsb3NlciBmcmFtZSBsaW1pdCB0byB0aGUg
YWN0dWFsIHN0YWNrIGxpbWl0LgorCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL3JlZ3Jlc3Mt
MTQxMDk4LmpzOgorCiAyMDE2LTEwLTA3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxl
LmNvbT4KIAogICAgICAgICBqcy9mdW5jdGlvbi1hcHBseS1hbGlhc2VkLmh0bWwgaXMgdGltaW5n
IG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3JlZ3Jlc3MtMTQx
MDk4LmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3JlZ3Jlc3MtMTQxMDk4LmpzCmlu
ZGV4IGNhNGM2YjlmZGQzOTI0NmU4MTU5NWU0YjNjYzc5MGYwMWNjMDdlZmUuLjhjOGJjODU4OTkz
NDI4NjkyMzc3ODBhMWQwOWZjZTE3ZDBmYjhiNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pz
L3NjcmlwdC10ZXN0cy9yZWdyZXNzLTE0MTA5OC5qcworKysgYi9MYXlvdXRUZXN0cy9qcy9zY3Jp
cHQtdGVzdHMvcmVncmVzcy0xNDEwOTguanMKQEAgLTEzLDcgKzEzLDcgQEAKIC8vIFVuZGVyIG5v
IGNpcmN1bXN0YW5jZSBzaG91bGQgdGhpcyB0ZXN0IGV2ZXIgY3Jhc2guCiBsZXQgY291bnRTdGFy
dCA9IDI7CiBsZXQgY291bnRJbmNyZW1lbnQgPSA4OwotbGV0IG51bWJlck9mRnJhbWVzVG9CYWNr
b2ZmRnJvbVN0YWNrT3ZlcmZsb3dQb2ludCA9IDUwOworbGV0IG51bWJlck9mRnJhbWVzVG9CYWNr
b2ZmRnJvbVN0YWNrT3ZlcmZsb3dQb2ludCA9IDEwOwogCiAvLyBiYWNrb2ZmRXZlcnl0aGluZyBp
cyBjaG9zZW4gdG8gYmUgLTEgYmVjYXVzZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIG5ldmVyIGJl
CiAvLyBkZWNyZW1lbnRlZCB0byAwLCBhbmQgaGVuY2UsIHdpbGwgY2F1c2UgcHJvYmVBbmRSZWN1
cnNlKCkgdG8gcmV0dXJuIG91dCBvZiBldmVyeQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>