Title: [227909] trunk/Source/WebCore
- Revision
- 227909
- Author
- [email protected]
- Date
- 2018-01-31 11:14:51 -0800 (Wed, 31 Jan 2018)
Log Message
com.apple.WebKit.Storage crashing at com.apple.WebCore: WebCore::SWServerRegistration::removeClientUsingRegistration
https://bugs.webkit.org/show_bug.cgi?id=182316
<rdar://problem/37025976>
Patch by Youenn Fablet <[email protected]> on 2018-01-31
Reviewed by Chris Dumez.
SWServer.m_clientToControllingWorker and SWServerRegistration.m_clientsUsingRegistration might currently get out of sync.
This is a defensive fix to ensure storage process will not crash in Release.
We keep the ASSERT as this probably means there is an abnormal situation that other patches might fix.
* workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::removeClientUsingRegistration):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (227908 => 227909)
--- trunk/Source/WebCore/ChangeLog 2018-01-31 19:13:31 UTC (rev 227908)
+++ trunk/Source/WebCore/ChangeLog 2018-01-31 19:14:51 UTC (rev 227909)
@@ -1,3 +1,18 @@
+2018-01-31 Youenn Fablet <[email protected]>
+
+ com.apple.WebKit.Storage crashing at com.apple.WebCore: WebCore::SWServerRegistration::removeClientUsingRegistration
+ https://bugs.webkit.org/show_bug.cgi?id=182316
+ <rdar://problem/37025976>
+
+ Reviewed by Chris Dumez.
+
+ SWServer.m_clientToControllingWorker and SWServerRegistration.m_clientsUsingRegistration might currently get out of sync.
+ This is a defensive fix to ensure storage process will not crash in Release.
+ We keep the ASSERT as this probably means there is an abnormal situation that other patches might fix.
+
+ * workers/service/server/SWServerRegistration.cpp:
+ (WebCore::SWServerRegistration::removeClientUsingRegistration):
+
2018-01-31 Antoine Quint <[email protected]>
[Modern Media Controls] Turn media/modern-media-controls/start-support tests back on
Modified: trunk/Source/WebCore/workers/service/server/SWServerRegistration.cpp (227908 => 227909)
--- trunk/Source/WebCore/workers/service/server/SWServerRegistration.cpp 2018-01-31 19:13:31 UTC (rev 227908)
+++ trunk/Source/WebCore/workers/service/server/SWServerRegistration.cpp 2018-01-31 19:14:51 UTC (rev 227909)
@@ -181,6 +181,9 @@
{
auto iterator = m_clientsUsingRegistration.find(clientIdentifier.serverConnectionIdentifier);
ASSERT(iterator != m_clientsUsingRegistration.end());
+ if (iterator == m_clientsUsingRegistration.end())
+ return;
+
bool wasRemoved = iterator->value.remove(clientIdentifier.contextIdentifier);
ASSERT_UNUSED(wasRemoved, wasRemoved);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes