NEW306034
[WKCI] EWS for WK2 tests for GTK And WPE ports should not pass the list of tests to be repeated via argv
https://bugs.webkit.org/show_bug.cgi?id=306034
Summary [WKCI] EWS for WK2 tests for GTK And WPE ports should not pass the list of te...
Carlos Alberto Lopez Perez
Reported 2026-01-22 08:36:01 PST
When a PR is marked with the tag "no-failure-limits" then the EWS runs without the flags `--skip-failing-tests --exit-after-n-failures=500` so that makes it useful using the EWS for rebasing lot of tests. Problem with the WK2 GTK/WPE EWS is that it passes the list of tests that failed via argv to be repeated, and if that list is too big (for example 4500 failing tests) then it crashes with "OSError: [Errno 7] Argument list too long: b'/bin/bash'." See: https://ews-build.webkit.org/#/builders/34/builds/107225/steps/33/logs/stdio This was not a problem before the implementation of the usage of "Tools/Scripts/filter-test-logs", but since we are using that instead of passing the tests in multiple arguments we are passing a big argument to bash like in: /bin/bash --posix -o pipefail -c 'python3 Tools/Scripts/run-webkit-tests fast/test1 svg/test2 imported/test3 fast/test4 [...] crash/test5000' 2>&1 | Tools/Scripts/filter-test-logs layout' So then the list of tests becomes one single argument that is passed to bash. And Linux has a relatively low limit for that: MAX_ARG_STRLEN (which is unfortunately hard-coded to be 32*PAGESIZE => 131072) at https://github.com/torvalds/linux/blob/v6.18/include/uapi/linux/binfmts.h Previously to filter-test-logs the limit was much bigger because each test was passed as a separate argument $ getconf ARG_MAX 2097152 More info: https://serverfault.com/a/844666 Anyway, moving forward I think we need to stop passing the list of tests via arguments and instead write the list to a file in disk and on the retry pass the path to file to the runner and teach the runner to pick the list of tests from it.
Attachments
Note You need to log in before you can comment on or make changes to this bug.