[Webkit-unassigned] [Bug 281806] New: [GLIB] test-webkitpy randomly freezing after XvfbDriverTest.test_xvfb_not_replying returns
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Oct 18 22:43:35 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=281806
Bug ID: 281806
Summary: [GLIB] test-webkitpy randomly freezing after
XvfbDriverTest.test_xvfb_not_replying returns
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Tools / Tests
Assignee: webkit-unassigned at lists.webkit.org
Reporter: lmoura at igalia.com
Test case: webkitpy.port.xvfbdriver_unittest.XvfbDriverTest.test_xvfb_not_replying
The issue seems to manifest more frequently on the desktop when using many parallel jobs, more than the default of `multiprocessing.cpu_count()`. This issue is happening consistently on the WPE release post-commit bot with default options, making the step fail with "no output for 1200 seocnds..."
Steps to reproduce:
./Tools/Scripts/test-webkitpy --verbose --pass-through -j 32 (on a 20-core machine)
After a while:
<snip>
[2340/2375] webkitpy.layout_tests.servers.web_platform_test_server_unittest.TestWebPlatformTestServer.test_server_fails_to_start_throws_exception passed
[2341/2375] webkitpy.layout_tests.servers.web_platform_test_server_unittest.TestWebPlatformTestServer.test_corrupted_subserver_files passed
[2342/2375] webkitpy.port.xvfbdriver_unittest.XvfbDriverTest.test_xvfb_not_replying passed
<stuck>
And `ps` shows many defuct ptyhon processes, so looks like something is getting stuck when reaping the existed workers.
Trace of main thread after interrupting:
Traceback (most recent call last):
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/test/main.py", line 618, in <module>
(pid, sts) = os.waitpid(self.pid, wait_flags)
sys.exit(main())
^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/test/main.py", line 341, in main
KeyboardInterrupt
return not tester.run()
^^^^^^^^^^^^
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/test/main.py", line 419, in run
return self._run_tests(names)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/test/main.py", line 460, in _run_tests
test_runner.run(parallel_tests, getattr(self._options, 'child_processes', 1))
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/test/runner.py", line 45, in run
pool.run(('test', test_name) for test_name in test_names)
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/common/message_pool.py", line 104, in run
self.wait()
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/common/message_pool.py", line 141, in wait
self._close()
File "/home/lauro/wkdev-shared/dev/wk-webdriver/WebKit-WebDriver/Tools/Scripts/webkitpy/common/message_pool.py", line 151, in _close
worker.join(timeout=max(deadline - time.time(), 0))
File "/usr/lib/python3.11/multiprocessing/process.py", line 149, in join
res = self._popen.wait(timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/multiprocessing/popen_fork.py", line 40, in wait
if not wait([self.sentinel], timeout):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/multiprocessing/connection.py", line 930, in wait
ready = selector.select(timeout)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/selectors.py", line 415, in select
fd_event_list = self._selector.poll(timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20241019/6b1925e1/attachment.htm>
More information about the webkit-unassigned
mailing list