Title: [226813] trunk
Revision
226813
Author
[email protected]
Date
2018-01-11 15:41:31 -0800 (Thu, 11 Jan 2018)

Log Message

ASSERTION FAILED: registration in WebCore::SWServerWorker::skipWaiting()
https://bugs.webkit.org/show_bug.cgi?id=181222
<rdar://problem/36332686>

Reviewed by Youenn Fablet.

Source/WebCore:

Replace assertion in SWServerWorker::skipWaiting() that assumes the worker
has a registration. Nowadays, a SWServerWorker can stay alive for a short
period without having a registration, while it is terminating.

No new tests, unskipped existing test.

* workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::skipWaiting):

LayoutTests:

Unskip test that is no longer flakily crashing.

* TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (226812 => 226813)


--- trunk/LayoutTests/ChangeLog	2018-01-11 23:28:16 UTC (rev 226812)
+++ trunk/LayoutTests/ChangeLog	2018-01-11 23:41:31 UTC (rev 226813)
@@ -1,3 +1,15 @@
+2018-01-11  Chris Dumez  <[email protected]>
+
+        ASSERTION FAILED: registration in WebCore::SWServerWorker::skipWaiting()
+        https://bugs.webkit.org/show_bug.cgi?id=181222
+        <rdar://problem/36332686>
+
+        Reviewed by Youenn Fablet.
+
+        Unskip test that is no longer flakily crashing.
+
+        * TestExpectations:
+
 2018-01-11  Youenn Fablet  <[email protected]>
 
         RTCController should disable ICE candidate filtering in case of getUserMedia based on the RTCPerrConnection origin

Modified: trunk/LayoutTests/TestExpectations (226812 => 226813)


--- trunk/LayoutTests/TestExpectations	2018-01-11 23:28:16 UTC (rev 226812)
+++ trunk/LayoutTests/TestExpectations	2018-01-11 23:41:31 UTC (rev 226813)
@@ -1687,4 +1687,3 @@
 
 media/event-queue-crash.html [ DumpJSConsoleLogInStdErr ]
 
-webkit.org/b/181222 http/tests/workers/service/cors-image-fetch.html [ Skip ]

Modified: trunk/Source/WebCore/ChangeLog (226812 => 226813)


--- trunk/Source/WebCore/ChangeLog	2018-01-11 23:28:16 UTC (rev 226812)
+++ trunk/Source/WebCore/ChangeLog	2018-01-11 23:41:31 UTC (rev 226813)
@@ -1,3 +1,20 @@
+2018-01-11  Chris Dumez  <[email protected]>
+
+        ASSERTION FAILED: registration in WebCore::SWServerWorker::skipWaiting()
+        https://bugs.webkit.org/show_bug.cgi?id=181222
+        <rdar://problem/36332686>
+
+        Reviewed by Youenn Fablet.
+
+        Replace assertion in SWServerWorker::skipWaiting() that assumes the worker
+        has a registration. Nowadays, a SWServerWorker can stay alive for a short
+        period without having a registration, while it is terminating.
+
+        No new tests, unskipped existing test.
+
+        * workers/service/server/SWServerWorker.cpp:
+        (WebCore::SWServerWorker::skipWaiting):
+
 2018-01-11  Antti Koivisto  <[email protected]>
 
         Don't call RenderElement::setStyle when nothing changes

Modified: trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp (226812 => 226813)


--- trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp	2018-01-11 23:28:16 UTC (rev 226812)
+++ trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp	2018-01-11 23:41:31 UTC (rev 226813)
@@ -133,8 +133,9 @@
     m_isSkipWaitingFlagSet = true;
 
     auto* registration = m_server.getRegistration(m_registrationKey);
-    ASSERT(registration);
-    registration->tryActivate();
+    ASSERT(registration || isTerminating());
+    if (registration)
+        registration->tryActivate();
 }
 
 void SWServerWorker::setHasPendingEvents(bool hasPendingEvents)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to