Title: [286563] trunk/Source/WebKit
Revision
286563
Author
bfulg...@apple.com
Date
2021-12-06 13:03:27 -0800 (Mon, 06 Dec 2021)

Log Message

REGRESSION (r286527): Three API tests crashing under WebKit::ProcessLauncher::launchProcess()
https://bugs.webkit.org/show_bug.cgi?id=233882
<rdar://problem/86111726>

Reviewed by Brent Fulgham.

Correct the eventHandler to capture the process name, rather than using a raw pointer to the character string.

* UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
(WebKit::ProcessLauncher::launchProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (286562 => 286563)


--- trunk/Source/WebKit/ChangeLog	2021-12-06 21:01:35 UTC (rev 286562)
+++ trunk/Source/WebKit/ChangeLog	2021-12-06 21:03:27 UTC (rev 286563)
@@ -1,3 +1,16 @@
+2021-12-06  Brent Fulgham  <bfulg...@apple.com>
+
+        REGRESSION (r286527): Three API tests crashing under WebKit::ProcessLauncher::launchProcess()
+        https://bugs.webkit.org/show_bug.cgi?id=233882
+        <rdar://problem/86111726>
+
+        Reviewed by Brent Fulgham.
+
+        Correct the eventHandler to capture the process name, rather than using a raw pointer to the character string.
+
+        * UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
+        (WebKit::ProcessLauncher::launchProcess):
+
 2021-12-06  Per Arne Vollan  <pvol...@apple.com>
 
         [iOS][WP] Block access to unused IOKit class

Modified: trunk/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm (286562 => 286563)


--- trunk/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm	2021-12-06 21:01:35 UTC (rev 286562)
+++ trunk/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm	2021-12-06 21:03:27 UTC (rev 286563)
@@ -239,7 +239,7 @@
 
     xpc_dictionary_set_value(bootstrapMessage.get(), "extra-initialization-data", extraInitializationData.get());
 
-    auto errorHandlerImpl = [weakProcessLauncher = WeakPtr { *this }, listeningPort, name] (xpc_object_t event) {
+    auto errorHandlerImpl = [weakProcessLauncher = WeakPtr { *this }, listeningPort, logName = String(name)] (xpc_object_t event) {
         ASSERT(!event || xpc_get_type(event) == XPC_TYPE_ERROR);
 
         auto processLauncher = weakProcessLauncher.get();
@@ -250,10 +250,13 @@
             return;
 
 #if ERROR_DISABLED
-        UNUSED_PARAM(name);
+        UNUSED_PARAM(logName);
 #endif
 
-        LOG_ERROR("Error while launching %s: %s", name, xpc_dictionary_get_string(event, XPC_ERROR_KEY_DESCRIPTION));
+        if (event)
+            LOG_ERROR("Error while launching %s: %s", logName.utf8().data(), xpc_dictionary_get_string(event, XPC_ERROR_KEY_DESCRIPTION));
+        else
+            LOG_ERROR("Error while launching %s: No xpc_object_t event available.", logName.utf8().data());
 
 #if ASSERT_ENABLED
         mach_port_urefs_t sendRightCount = 0;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to