Bug 160017 - REGRESSION (r203142): Layout test js/regress-139548.html is 10x slower.
Summary: REGRESSION (r203142): Layout test js/regress-139548.html is 10x slower.
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-21 05:08 PDT by Carlos Alberto Lopez Perez
Modified: 2016-09-20 11:15 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Alberto Lopez Perez 2016-07-21 05:08:12 PDT
Since r203142 <https://trac.webkit.org/changeset/203142> the layout test js/regress-139548.html has become much (10x) slower. To the point that is now timing out on the GTK, EFL and ElCapitan leaks bots.

On the other Apple bots is also slow but is still no timing out.

Check: https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#tests=js%2Fregress-139548.html

On the GTK port I get this results:

r203142 : "js/regress-139548.html took 25.0 seconds"
r203141 : "js/regress-139548.html took 2.5 seconds"
Comment 1 Carlos Alberto Lopez Perez 2016-07-21 05:12:11 PDT
The tests seems quite sensible to the JSC_stackSizeInBytes value.

This patch makes it finish in 10 seconds instead of 25:


--- a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
+++ b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
@@ -75,7 +75,7 @@ def main(argv, stdout, stderr):
 
     try:
         # Force all tests to use a smaller stack so that stack overflow tests can run faster.
-        stackSizeInBytes = int(1.5 * 1024 * 1024)
+        stackSizeInBytes = int(0.5 * 1024 * 1024)
         options.additional_env_var.append('JSC_maxPerThreadStackUsage=' + str(stackSizeInBytes))
         options.additional_env_var.append('__XPC_JSC_maxPerThreadStackUsage=' + str(stackSizeInBytes))
         run_details = run(port, options, args, stderr)
Comment 2 Carlos Alberto Lopez Perez 2016-07-21 10:20:25 PDT
I marked this test as slow for all platforms in https://trac.webkit.org/changeset/203509/trunk/LayoutTests/TestExpectations
Comment 3 Mark Lam 2016-07-21 10:40:21 PDT
(In reply to comment #1)
> The tests seems quite sensible to the JSC_stackSizeInBytes value.
> 
> This patch makes it finish in 10 seconds instead of 25:
> 
> 
> --- a/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
> +++ b/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
> @@ -75,7 +75,7 @@ def main(argv, stdout, stderr):
>  
>      try:
>          # Force all tests to use a smaller stack so that stack overflow
> tests can run faster.
> -        stackSizeInBytes = int(1.5 * 1024 * 1024)
> +        stackSizeInBytes = int(0.5 * 1024 * 1024)
>          options.additional_env_var.append('JSC_maxPerThreadStackUsage=' +
> str(stackSizeInBytes))
>         
> options.additional_env_var.append('__XPC_JSC_maxPerThreadStackUsage=' +
> str(stackSizeInBytes))
>          run_details = run(port, options, args, stderr)

We can't do this because it will cause other tests to fail.  This setting here is a broad brush and was picked to be 1.5M because that was found to be the minimum needed for all tests to pass.

Let's see if we can make this test behave better while still maintaining its original testing purpose.
Comment 4 Ryan Haddad 2016-09-20 11:15:24 PDT
Marked test as flaky on mac-wk2 debug in http://trac.webkit.org/projects/webkit/changeset/206155