WebKit Bugzilla
Attachment 369860 Details for
Bug 197883
: Crash under WebKit::WebProcessProxy::didBecomeUnresponsive()
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197883-20190514093048.patch (text/plain), 1.99 KB, created by
Chris Dumez
on 2019-05-14 09:30:49 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2019-05-14 09:30:49 PDT
Size:
1.99 KB
patch
obsolete
>Subversion Revision: 245281 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 87b7fe4dca22c5586cee086c0b306049d257911d..7841d7e3ee90806993ca5506a1fcb0e36bce3343 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,18 @@ >+2019-05-14 Chris Dumez <cdumez@apple.com> >+ >+ Crash under WebKit::WebProcessProxy::didBecomeUnresponsive() >+ https://bugs.webkit.org/show_bug.cgi?id=197883 >+ <rdar://problem/50665984> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Protect |this| in didBecomeUnresponsive() and didExceedCPULimit() since we call client >+ delegates and those may cause |this| to get destroyed. >+ >+ * UIProcess/WebProcessProxy.cpp: >+ (WebKit::WebProcessProxy::didBecomeUnresponsive): >+ (WebKit::WebProcessProxy::didExceedCPULimit): >+ > 2019-05-14 Alex Christensen <achristensen@webkit.org> > > Add a unit test for client certificate authentication >diff --git a/Source/WebKit/UIProcess/WebProcessProxy.cpp b/Source/WebKit/UIProcess/WebProcessProxy.cpp >index 79c2e5a56cae66b32076688204d4d2059301cd24..5c7ff9ec6871342e246182dd8c9e421f56f93eb7 100644 >--- a/Source/WebKit/UIProcess/WebProcessProxy.cpp >+++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp >@@ -713,6 +713,8 @@ void WebProcessProxy::didReceiveInvalidMessage(IPC::Connection& connection, IPC: > > void WebProcessProxy::didBecomeUnresponsive() > { >+ auto protectedThis = makeRef(*this); >+ > m_isResponsive = NoOrMaybe::No; > > auto isResponsiveCallbacks = WTFMove(m_isResponsiveCallbacks); >@@ -1322,6 +1324,8 @@ void WebProcessProxy::didExceedInactiveMemoryLimit() > > void WebProcessProxy::didExceedCPULimit() > { >+ auto protectedThis = makeRef(*this); >+ > for (auto& page : pages()) { > if (page->isPlayingAudio()) { > RELEASE_LOG(PerformanceLogging, "%p - WebProcessProxy::didExceedCPULimit() WebProcess with pid %d has exceeded the background CPU limit but we are not terminating it because there is audio playing", this, processIdentifier());
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197883
: 369860 |
369873