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"
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)
I marked this test as slow for all platforms in https://trac.webkit.org/changeset/203509/trunk/LayoutTests/TestExpectations
(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.
Marked test as flaky on mac-wk2 debug in http://trac.webkit.org/projects/webkit/changeset/206155