Title: [255069] trunk/Tools
- Revision
- 255069
- Author
- [email protected]
- Date
- 2020-01-24 07:14:04 -0800 (Fri, 24 Jan 2020)
Log Message
[GTK] API test runner fails with error: too many open files.
https://bugs.webkit.org/show_bug.cgi?id=206743
Reviewed by Carlos Garcia Campos.
The API test runner for google tests was leaking file descriptors because
it was not closing the file descriptor of the pseudo-terminal of the child,
which was referred in the parent because of the forkpty() call.
This was causing a small but constant increase of open file descriptors,
until the point it reached the limit of maximum open files (1024 usually)
causing this error.
Fix that by closing the reference to the fd of the child's pseudo-terminal.
* glib/api_test_runner.py:
(TestRunner._run_google_test):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (255068 => 255069)
--- trunk/Tools/ChangeLog 2020-01-24 14:36:09 UTC (rev 255068)
+++ trunk/Tools/ChangeLog 2020-01-24 15:14:04 UTC (rev 255069)
@@ -1,3 +1,22 @@
+2020-01-24 Carlos Alberto Lopez Perez <[email protected]>
+
+ [GTK] API test runner fails with error: too many open files.
+ https://bugs.webkit.org/show_bug.cgi?id=206743
+
+ Reviewed by Carlos Garcia Campos.
+
+ The API test runner for google tests was leaking file descriptors because
+ it was not closing the file descriptor of the pseudo-terminal of the child,
+ which was referred in the parent because of the forkpty() call.
+ This was causing a small but constant increase of open file descriptors,
+ until the point it reached the limit of maximum open files (1024 usually)
+ causing this error.
+
+ Fix that by closing the reference to the fd of the child's pseudo-terminal.
+
+ * glib/api_test_runner.py:
+ (TestRunner._run_google_test):
+
2020-01-24 Zan Dobersek <[email protected]>
Unreviewed WPE dependency bump.
Modified: trunk/Tools/glib/api_test_runner.py (255068 => 255069)
--- trunk/Tools/glib/api_test_runner.py 2020-01-24 14:36:09 UTC (rev 255068)
+++ trunk/Tools/glib/api_test_runner.py 2020-01-24 15:14:04 UTC (rev 255069)
@@ -229,8 +229,10 @@
try:
common.parse_output_lines(fd, sys.stdout.write)
status = self._waitpid(pid)
+ os.close(fd)
except RuntimeError:
self._kill_process(pid)
+ os.close(fd)
sys.stdout.write("**TIMEOUT** %s\n" % subtest)
sys.stdout.flush()
return {subtest: "TIMEOUT"}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes