[Webkit-unassigned] [Bug 172167] [Threaded Compositor] SHOULD NEVER BE REACHED in WebKit::CompositingRunLoop::updateCompleted

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed May 17 03:08:58 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=172167

--- Comment #8 from Zan Dobersek <zan at falconsigh.net> ---
Comment on attachment 310260
  --> https://bugs.webkit.org/attachment.cgi?id=310260
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=310260&action=review

>>> Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:266
>>> +        sceneUpdateFinished();
>> 
>> How can this occur? renderLayerTree() returns early at the beginning if the scene is not active. If it is active, the function then executes serially, which should make it impossible for any task to be scheduled on this thread that would make the scene inactive.
> 
> Because invalidate happens in the main thread.

That's doing unsafe cross-thread modifications then.

>>> Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:292
>>> +            return;
>> 
>> m_coordinateUpdateCompletion should be set here, but to false if m_inForceRepaint is false as well.
> 
> That happens, because it doesn't return early.

I'm saying it should be set regardless of the value of m_inForceRepaint. But if m_inForceRepaint is false, it should be set to false.

    bool coordinateUpdate = m_inForceRepaint && std::any_of(...

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170517/c0fae5c6/attachment.html>


More information about the webkit-unassigned mailing list