Title: [162461] trunk/Source/WebKit2
Revision
162461
Author
simon.fra...@apple.com
Date
2014-01-21 12:25:46 -0800 (Tue, 21 Jan 2014)

Log Message

Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
https://bugs.webkit.org/show_bug.cgi?id=127121

Reviewed by Anders Carlsson.

A common cause of early WebProcess crashes during development is a null return
from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
this case rather than passing a null C string to dlsym().

* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
(WebKit::BootstrapMain):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (162460 => 162461)


--- trunk/Source/WebKit2/ChangeLog	2014-01-21 20:19:59 UTC (rev 162460)
+++ trunk/Source/WebKit2/ChangeLog	2014-01-21 20:25:46 UTC (rev 162461)
@@ -1,3 +1,17 @@
+2014-01-16  Simon Fraser  <simon.fra...@apple.com>
+
+        Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
+        https://bugs.webkit.org/show_bug.cgi?id=127121
+
+        Reviewed by Anders Carlsson.
+        
+        A common cause of early WebProcess crashes during development is a null return
+        from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
+        this case rather than passing a null C string to dlsym().
+
+        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
+        (WebKit::BootstrapMain):
+
 2014-01-21  Tim Horton  <timothy_hor...@apple.com>
 
         Sort headers after the rename that happened in r162454.

Modified: trunk/Source/WebKit2/Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm (162460 => 162461)


--- trunk/Source/WebKit2/Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm	2014-01-21 20:19:59 UTC (rev 162460)
+++ trunk/Source/WebKit2/Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm	2014-01-21 20:25:46 UTC (rev 162461)
@@ -66,6 +66,11 @@
     BootstrapMainFunction bootstrapMainFunction;
     @autoreleasepool {
         NSString *entryPointFunctionName = (NSString *)CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), CFSTR("WebKitEntryPoint"));
+        if (![entryPointFunctionName length]) {
+            NSLog(@"Failed to get value for \"WebKitEntryPoint\" from bundle dictionary %@", CFBundleGetLocalInfoDictionary(CFBundleGetMainBundle()));
+            return EXIT_FAILURE;
+        }
+
         bootstrapMainFunction = reinterpret_cast<BootstrapMainFunction>(dlsym(frameworkLibrary, [entryPointFunctionName UTF8String]));
         if (!bootstrapMainFunction) {
             NSLog(@"Unable to find entry point '%s' in WebKit2.framework: %s\n", [entryPointFunctionName UTF8String], dlerror());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to