Title: [242771] trunk/Source/WebKit
Revision
242771
Author
[email protected]
Date
2019-03-11 21:12:32 -0700 (Mon, 11 Mar 2019)

Log Message

[CoordinatedGraphics] ASSERTION FAILED: !m_state.isSuspended
https://bugs.webkit.org/show_bug.cgi?id=195550

Reviewed by Carlos Garcia Campos.

CompositingRunLoop::suspend() locks a mutex and stops the update
timer. But, the timer can be fired after the lock was acquired and
before the timer is stopped.

* Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::updateTimerFired): Removed the
assertion. Return early if m_state.isSuspended.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (242770 => 242771)


--- trunk/Source/WebKit/ChangeLog	2019-03-12 03:49:45 UTC (rev 242770)
+++ trunk/Source/WebKit/ChangeLog	2019-03-12 04:12:32 UTC (rev 242771)
@@ -1,3 +1,18 @@
+2019-03-11  Fujii Hironori  <[email protected]>
+
+        [CoordinatedGraphics] ASSERTION FAILED: !m_state.isSuspended
+        https://bugs.webkit.org/show_bug.cgi?id=195550
+
+        Reviewed by Carlos Garcia Campos.
+
+        CompositingRunLoop::suspend() locks a mutex and stops the update
+        timer. But, the timer can be fired after the lock was acquired and
+        before the timer is stopped.
+
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
+        (WebKit::CompositingRunLoop::updateTimerFired): Removed the
+        assertion. Return early if m_state.isSuspended.
+
 2019-03-11  Per Arne Vollan  <[email protected]>
 
         [macOS] Remove the Kerberos rules from the WebContent sandbox

Modified: trunk/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp (242770 => 242771)


--- trunk/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp	2019-03-12 03:49:45 UTC (rev 242770)
+++ trunk/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp	2019-03-12 04:12:32 UTC (rev 242771)
@@ -222,7 +222,8 @@
     {
         // Both composition and scene update are now in progress.
         LockHolder locker(m_state.lock);
-        ASSERT(!m_state.isSuspended);
+        if (m_state.isSuspended)
+            return;
         m_state.composition = CompositionState::InProgress;
         m_state.update = UpdateState::InProgress;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to