Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d56b981275a4256e3cfdef89249795f1c8596bf1
https://github.com/WebKit/WebKit/commit/d56b981275a4256e3cfdef89249795f1c8596bf1
Author: David Kilzer <[email protected]>
Date: 2026-08-04 (Tue, 04 Aug 2026)
Changed paths:
M Tools/Scripts/webkitpy/common/system/crashlogs.py
M Tools/Scripts/webkitpy/common/system/crashlogs_unittest.py
M Tools/Scripts/webkitpy/port/darwin.py
M Tools/Scripts/webkitpy/port/mac_unittest.py
Log Message:
-----------
run-webkit-tests never finds crash logs for ServiceWorkerProcess crashes
<https://bugs.webkit.org/show_bug.cgi?id=321022>
<rdar://184059659>
Reviewed by Zak Ridouh.
run-webkit-tests matches a crashed process to its on-disk crash report
by process name. A service worker runs inside a WebContent process, so
WebKitTestRunner reports its crash as "ServiceWorkerProcess" while the
crash report's procName is a WebContent process name. The name-based
match therefore never succeeds, so run-webkit-tests writes a "No crash
log found for ServiceWorkerProcess:<pid>" placeholder even when a
report exists.
Alias "ServiceWorkerProcess" to the exact WebContent process names that
TestController::webProcessName() reports on Cocoa, both
"com.apple.WebKit.WebContent" and its internal ".Development" form.
Honor the alias in both crash-report file filters (".crash" and ".ips")
and match a report whose procName is exactly one of those and whose PID
matches the crashed process.
Also honor the alias when merging the second-pass crash logs.
look_for_new_crash_logs() collects each crash twice -- once per crashed
process by name and PID, and once by scanning every on-disk report --
and relies on _merge_crash_logs() to drop the second-pass duplicates by
matching each report's procName against the crashed process names.
The report is stored under its WebContent procName, so without
consulting the alias there, the ServiceWorkerProcess crash already
collected in the first pass would be appended a second time.
Covered by new webkitpy unit tests.
* Tools/Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs):
- Added PROCESS_NAME_ALIASES.
(CrashLogs._find_newest_log_darwin):
* Tools/Scripts/webkitpy/common/system/crashlogs_unittest.py:
(CrashLogsTest.test_find_log_darwin_service_worker_process): Added.
* Tools/Scripts/webkitpy/port/darwin.py:
(DarwinPort._merge_crash_logs):
* Tools/Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_merge_crash_logs_service_worker_process): Added.
Canonical link: https://commits.webkit.org/318611@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications