[Webkit-unassigned] [Bug 160142] New: [Coordinated Graphics] ASSERTION FAILED: !m_flushingLayers in fast/repaint/animation-after-layer-scroll.html

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jul 24 02:31:15 PDT 2016


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

            Bug ID: 160142
           Summary: [Coordinated Graphics] ASSERTION FAILED:
                    !m_flushingLayers in
                    fast/repaint/animation-after-layer-scroll.html
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Local Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Keywords: Gtk, LayoutTestFailure
          Severity: Normal
          Priority: P2
         Component: WebKit2
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: cgarcia at igalia.com
            Blocks: 154066

This only happens in layout tests, because it happens when RenderLayerCompositor::layerTreeAsText() is called. The thing is that CoordinatedGraphicsLayer::flushCompositingState() calls notifyFlushRequired() that checks if the coordinator is flusing layers and if not it calls RenderLayerCompositor::notifyFlushRequired() and returns early. This normally works because the coodinator is the one starting the layer flush, so that when RenderLayerCompositor::flushPendingLayerChanges() is called the coordinator is always flusing layers. But RenderLayerCompositor::layerTreeAsText() calls RenderLayerCompositor::flushPendingLayerChanges() directly, so at that moment the coordinator is not flusing layers, what causes that CoordinatedGraphicsLayer::flushCompositingState() ends up calling RenderLayerCompositor::notifyFlushRequired() that schedules a new flush while flusing layers causing the assertion. CoordinatedGraphicsLayer::flushCompositingState() is always called from CompositingCoordinator::

STDERR: ASSERTION FAILED: !m_flushingLayers
STDERR: ../../Source/WebCore/rendering/RenderLayerCompositor.cpp(409) : void WebCore::RenderLayerCompositor::scheduleLayerFlush(bool)
STDERR: 1   0x7fd2de764aef /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7fd2de764aef]
STDERR: 2   0x7fd2e64c4b16 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderLayerCompositor::scheduleLayerFlush(bool)+0x44) [0x7fd2e64c4b16]
STDERR: 3   0x7fd2e64c4a7a /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderLayerCompositor::notifyFlushRequired(WebCore::GraphicsLayer const*)+0x3a) [0x7fd2e64c4a7a]
STDERR: 4   0x7fd2e697d948 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::CoordinatedGraphicsLayer::notifyFlushRequired()+0x8a) [0x7fd2e697d948]
STDERR: 5   0x7fd2e697f3b7 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::CoordinatedGraphicsLayer::flushCompositingState(WebCore::FloatRect const&, bool)+0x21) [0x7fd2e697f3b7]
STDERR: 6   0x7fd2e64c5019 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderLayerCompositor::flushPendingLayerChanges(bool)+0x339) [0x7fd2e64c5019]
STDERR: 7   0x7fd2e64c9f95 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::RenderLayerCompositor::layerTreeAsText(unsigned int)+0x63) [0x7fd2e64c9f95]
STDERR: 8   0x7fd2e6050fbe /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(WebCore::Frame::layerTreeAsText(unsigned int) const+0x74) [0x7fd2e6050fbe]
STDERR: 9   0x7fd28c2ab073 /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/Debug/lib/libTestRunnerInjectedBundle.so(WebCore::Internals::layerTreeAsText(WebCore::Document&, unsigned short, int&) const+0xbf) [0x7fd28c2ab073]
STDERR: 10  0x7fd28c274b9e /home/slave/webkitgtk/gtk-linux-64-debug-tests/build/WebKitBuild/Debug/lib/libTestRunnerInjectedBundle.so(WebCore::jsInternalsPrototypeFunctionLayerTreeAsText(JSC::ExecState*)+0x27d) [0x7fd28c274b9e]
STDERR: 11  0x7fd28d7fe028 [0x7fd28d7fe028]

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


More information about the webkit-unassigned mailing list