WebKit Bugzilla
Attachment 370979 Details for
Bug 198379
: REGRESSION (r245873) [Mac WK2] Layout Test http/wpt/service-workers/update-service-worker.https.html is a flaky crash after running new test
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198379-20190530142539.patch (text/plain), 3.59 KB, created by
youenn fablet
on 2019-05-30 14:25:40 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
youenn fablet
Created:
2019-05-30 14:25:40 PDT
Size:
3.59 KB
patch
obsolete
>Subversion Revision: 245849 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 185178e3ffb64dd56efa1b2f750dbca9cf56626a..61f6559c83cb1fc3433b7395824f7de31dae0eff 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,22 @@ >+2019-05-30 Youenn Fablet <youenn@apple.com> >+ >+ REGRESSION (r245873) [Mac WK2] Layout Test http/wpt/service-workers/update-service-worker.https.html is a flaky crash after running new test >+ https://bugs.webkit.org/show_bug.cgi?id=198379 >+ <rdar://problem/51264361> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This case can happen when network process is crashing. >+ Given the WebSWClientConnection may be kept alive, it might reregister itself but in that case will never be unregistered. >+ Remove the WebSWClientConnection from the NetworkProcessConnection corresponding map on destruction time. >+ Covered by no longer crashing tests. >+ >+ * WebProcess/Network/NetworkProcessConnection.cpp: >+ (WebKit::NetworkProcessConnection::removeSWClientConnection): >+ * WebProcess/Network/NetworkProcessConnection.h: >+ * WebProcess/Storage/WebSWClientConnection.cpp: >+ (WebKit::WebSWClientConnection::~WebSWClientConnection): >+ > 2019-05-29 Youenn Fablet <youenn@apple.com> > > Add an option to mute audio capture automatically when page is not visible >diff --git a/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp b/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp >index 037f71004b77153ab1acd6cd9db6ceea6f8a5897..161f8da41fa86e611fd943107dfe6f63640c3e2e 100644 >--- a/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp >+++ b/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp >@@ -265,6 +265,12 @@ WebSWClientConnection& NetworkProcessConnection::serviceWorkerConnectionForSessi > }).iterator->value; > } > >+void NetworkProcessConnection::removeSWClientConnection(WebSWClientConnection& connection) >+{ >+ ASSERT(m_swConnectionsByIdentifier.contains(connection.serverConnectionIdentifier())); >+ m_swConnectionsByIdentifier.remove(connection.serverConnectionIdentifier()); >+} >+ > SWServerConnectionIdentifier NetworkProcessConnection::initializeSWClientConnection(WebSWClientConnection& connection) > { > SWServerConnectionIdentifier identifier; >diff --git a/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h b/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h >index 5a9c4dc4bf41e040fea50dea5f9924cd4f812b50..0cde599b1e049d88313a0d0305f802af5279dcd9 100644 >--- a/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h >+++ b/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h >@@ -77,6 +77,7 @@ public: > WebSWClientConnection& serviceWorkerConnectionForSession(PAL::SessionID); > > WebCore::SWServerConnectionIdentifier initializeSWClientConnection(WebSWClientConnection&); >+ void removeSWClientConnection(WebSWClientConnection&); > #endif > > private: >diff --git a/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp b/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp >index 951e65f6c05b1c5531c80ae3344fb4d540ace35e..d53d133d725e27a0732d527d3cd0ba6d7f67a605 100644 >--- a/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp >+++ b/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp >@@ -62,6 +62,8 @@ WebSWClientConnection::WebSWClientConnection(SessionID sessionID) > > WebSWClientConnection::~WebSWClientConnection() > { >+ if (m_connection) >+ WebProcess::singleton().ensureNetworkProcessConnection().removeSWClientConnection(*this); > } > > void WebSWClientConnection::initializeConnectionIfNeeded()
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 198379
: 370979