Title: [256666] branches/safari-609-branch/Source/WebKit
Revision
256666
Author
repst...@apple.com
Date
2020-02-14 19:01:16 -0800 (Fri, 14 Feb 2020)

Log Message

Cherry-pick r256187. rdar://problem/59446994

    Crash under WebProcessProxy::shouldSendPendingMessage()
    https://bugs.webkit.org/show_bug.cgi?id=207464
    <rdar://problem/59293825>

    Reviewed by Alex Christensen.

    I suspect the WebProcessProxy object is getting destroyed as we are iterating over the
    pending messages in AuxiliaryProcessProxy::didFinishLaunching(), thus crashing when
    calling WebProcessProxy::shouldSendPendingMessage() inside the loop. As a speculative
    fix, protect |this| at the beginning of WebProcessProxy::didFinishLaunching().

    * UIProcess/WebProcessProxy.cpp:
    (WebKit::WebProcessProxy::didFinishLaunching):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256187 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-609-branch/Source/WebKit/ChangeLog (256665 => 256666)


--- branches/safari-609-branch/Source/WebKit/ChangeLog	2020-02-15 02:57:49 UTC (rev 256665)
+++ branches/safari-609-branch/Source/WebKit/ChangeLog	2020-02-15 03:01:16 UTC (rev 256666)
@@ -1,3 +1,40 @@
+2020-02-14  Russell Epstein  <repst...@apple.com>
+
+        Cherry-pick r256187. rdar://problem/59446994
+
+    Crash under WebProcessProxy::shouldSendPendingMessage()
+    https://bugs.webkit.org/show_bug.cgi?id=207464
+    <rdar://problem/59293825>
+    
+    Reviewed by Alex Christensen.
+    
+    I suspect the WebProcessProxy object is getting destroyed as we are iterating over the
+    pending messages in AuxiliaryProcessProxy::didFinishLaunching(), thus crashing when
+    calling WebProcessProxy::shouldSendPendingMessage() inside the loop. As a speculative
+    fix, protect |this| at the beginning of WebProcessProxy::didFinishLaunching().
+    
+    * UIProcess/WebProcessProxy.cpp:
+    (WebKit::WebProcessProxy::didFinishLaunching):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-02-10  Chris Dumez  <cdu...@apple.com>
+
+            Crash under WebProcessProxy::shouldSendPendingMessage()
+            https://bugs.webkit.org/show_bug.cgi?id=207464
+            <rdar://problem/59293825>
+
+            Reviewed by Alex Christensen.
+
+            I suspect the WebProcessProxy object is getting destroyed as we are iterating over the
+            pending messages in AuxiliaryProcessProxy::didFinishLaunching(), thus crashing when
+            calling WebProcessProxy::shouldSendPendingMessage() inside the loop. As a speculative
+            fix, protect |this| at the beginning of WebProcessProxy::didFinishLaunching().
+
+            * UIProcess/WebProcessProxy.cpp:
+            (WebKit::WebProcessProxy::didFinishLaunching):
+
 2020-02-13  Russell Epstein  <repst...@apple.com>
 
         Revert r256407. rdar://problem/59299143

Modified: branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessProxy.cpp (256665 => 256666)


--- branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessProxy.cpp	2020-02-15 02:57:49 UTC (rev 256665)
+++ branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessProxy.cpp	2020-02-15 03:01:16 UTC (rev 256666)
@@ -884,6 +884,7 @@
 {
     RELEASE_ASSERT(isMainThreadOrCheckDisabled());
 
+    auto protectedThis = makeRef(*this);
     AuxiliaryProcessProxy::didFinishLaunching(launcher, connectionIdentifier);
 
     if (!IPC::Connection::identifierIsValid(connectionIdentifier)) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to