RESOLVED FIXED 160142
[Coordinated Graphics] ASSERTION FAILED: !m_flushingLayers in fast/repaint/animation-after-layer-scroll.html
https://bugs.webkit.org/show_bug.cgi?id=160142
Summary [Coordinated Graphics] ASSERTION FAILED: !m_flushingLayers in fast/repaint/an...
Carlos Garcia Campos
Reported 2016-07-24 02:31:15 PDT
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::flushPendingLayerChanges() or RenderLayerCompositor::flushPendingLayerChanges() so we never need to call RenderLayerCompositor::notifyFlushRequired() from there. 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]
Attachments
Patch (4.17 KB, patch)
2016-07-24 02:36 PDT, Carlos Garcia Campos
no flags
Carlos Garcia Campos
Comment 1 2016-07-24 02:36:27 PDT
WebKit Commit Bot
Comment 2 2016-07-24 06:09:16 PDT
Comment on attachment 284442 [details] Patch Clearing flags on attachment: 284442 Committed r203663: <http://trac.webkit.org/changeset/203663>
WebKit Commit Bot
Comment 3 2016-07-24 06:09:20 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.