[Webkit-unassigned] [Bug 242083] New: [run-benchmark] Avoid race condition when killing the browser sub-process on Linux
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jun 28 14:30:12 PDT 2022
https://bugs.webkit.org/show_bug.cgi?id=242083
Bug ID: 242083
Summary: [run-benchmark] Avoid race condition when killing the
browser sub-process on Linux
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: clopez at igalia.com
When the run-benchmark runner for Linux attempts to kill the browser first it kills the main browser process and then it kills all the browser subprocess if those are still alive.
The issue is that there is a race condition between the check of the subprocess being alive and the kill call, sometimes the the child ends in the interval between the is_running() and kill() call causing an exception on the runner.
This can be seen here https://build.webkit.org/#/builders/26/builds/2163/steps/13/logs/stdio
2022-06-28 08:58:10,070 - INFO - Cleaning Benchmark
2022-06-28 08:58:10,098 - ERROR - Error running benchmark plan: jetstream2
Traceback (most recent call last):
File "/home/buildbot/worker/GTK-Linux-64-bit-Release-Perf/build/Tools/Scripts/webkitpy/browserperfdash/browserperfdash_runner.py", line 163, in run
runner.execute()
File "/home/buildbot/worker/GTK-Linux-64-bit-Release-Perf/build/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py", line 120, in execute
self._run_benchmark(int(self._plan['count']), web_root)
File "/home/buildbot/worker/GTK-Linux-64-bit-Release-Perf/build/Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py", line 90, in _run_benchmark
result = self._run_one_test(web_root, self._plan['entry_point'])
File "/home/buildbot/worker/GTK-Linux-64-bit-Release-Perf/build/Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py", line 61, in _run_one_test
self._browser_driver.close_browsers()
File "/home/buildbot/worker/GTK-Linux-64-bit-Release-Perf/build/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py", line 85, in close_browsers
browser_child.kill()
File "/usr/lib/python3/dist-packages/psutil/__init__.py", line 383, in wrapper
raise NoSuchProcess(self.pid, self._name)
psutil.NoSuchProcess: psutil.NoSuchProcess process no longer exists (pid=9447)
--
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/20220628/3b026935/attachment.htm>
More information about the webkit-unassigned
mailing list