Bug 160017

Summary: REGRESSION (r203142): Layout test js/regress-139548.html is 10x slower.
Product: WebKit Reporter: Carlos Alberto Lopez Perez <clopez>
Component: JavaScriptCoreAssignee: Fujii Hironori <Hironori.Fujii>
Status: RESOLVED FIXED    
Severity: Normal CC: fpizlo, ggaren, Hironori.Fujii, mark.lam, msaboff, ryanhaddad, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

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
Comment 5 Fujii Hironori 2023-10-18 21:45:19 PDT
All ports are green recently. 
https://results.webkit.org/?suite=layout-tests&test=js%2Fregress-139548.html
We can close this ticket.
Comment 6 Fujii Hironori 2023-10-18 21:48:05 PDT
Pull request: https://github.com/WebKit/WebKit/pull/19268
Comment 7 EWS 2023-10-19 00:06:23 PDT
Committed 269507@main (0ff06e582825): <https://commits.webkit.org/269507@main>

Reviewed commits have been landed. Closing PR #19268 and removing active labels.
Comment 8 Radar WebKit Bug Importer 2023-10-19 00:07:16 PDT
<rdar://problem/117188481>