<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>160142</bug_id>
          
          <creation_ts>2016-07-24 02:31:15 -0700</creation_ts>
          <short_desc>[Coordinated Graphics] ASSERTION FAILED: !m_flushingLayers in fast/repaint/animation-after-layer-scroll.html</short_desc>
          <delta_ts>2016-07-25 00:16:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=160156</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>154066</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1214029</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-24 02:31:15 -0700</bug_when>
    <thetext>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&amp;, 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&amp;, unsigned short, int&amp;) 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]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214030</commentid>
    <comment_count>1</comment_count>
      <attachid>284442</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-07-24 02:36:27 -0700</bug_when>
    <thetext>Created attachment 284442
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214040</commentid>
    <comment_count>2</comment_count>
      <attachid>284442</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-24 06:09:16 -0700</bug_when>
    <thetext>Comment on attachment 284442
Patch

Clearing flags on attachment: 284442

Committed r203663: &lt;http://trac.webkit.org/changeset/203663&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1214041</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-24 06:09:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284442</attachid>
            <date>2016-07-24 02:36:27 -0700</date>
            <delta_ts>2016-07-24 06:09:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-layer-flush-crash.diff</filename>
            <type>text/plain</type>
            <size>4274</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MTA2NjkzLi4xOWFiZjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTYtMDctMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtDb29yZGluYXRlZCBHcmFwaGljc10gQVNTRVJUSU9OIEZBSUxFRDogIW1f
Zmx1c2hpbmdMYXllcnMgaW4gZmFzdC9yZXBhaW50L2FuaW1hdGlvbi1hZnRlci1sYXllci1zY3Jv
bGwuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYwMTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBvbmx5IGhhcHBlbnMgaW4gbGF5b3V0IHRlc3RzLCBiZWNhdXNlIGl0IGhhcHBlbnMgd2hl
biBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dCgpIGlzCisgICAgICAgIGNh
bGxlZC4gVGhlIHRoaW5nIGlzIHRoYXQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpmbHVzaENv
bXBvc2l0aW5nU3RhdGUoKSBjYWxscyBub3RpZnlGbHVzaFJlcXVpcmVkKCkgdGhhdAorICAgICAg
ICBjaGVja3MgaWYgdGhlIGNvb3JkaW5hdG9yIGlzIGZsdXNpbmcgbGF5ZXJzIGFuZCBpZiBub3Qg
aXQgY2FsbHMgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpub3RpZnlGbHVzaFJlcXVpcmVkKCkgYW5k
CisgICAgICAgIHJldHVybnMgZWFybHkuIFRoaXMgbm9ybWFsbHkgd29ya3MgYmVjYXVzZSB0aGUg
Y29vZGluYXRvciBpcyB0aGUgb25lIHN0YXJ0aW5nIHRoZSBsYXllciBmbHVzaCwgc28gdGhhdCB3
aGVuCisgICAgICAgIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFu
Z2VzKCkgaXMgY2FsbGVkIHRoZSBjb29yZGluYXRvciBpcyBhbHdheXMgZmx1c2luZyBsYXllcnMu
IEJ1dAorICAgICAgICBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dCgpIGNh
bGxzIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkgZGly
ZWN0bHksIHNvIGF0CisgICAgICAgIHRoYXQgbW9tZW50IHRoZSBjb29yZGluYXRvciBpcyBub3Qg
Zmx1c2luZyBsYXllcnMsIHdoYXQgY2F1c2VzIHRoYXQKKyAgICAgICAgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjpmbHVzaENvbXBvc2l0aW5nU3RhdGUoKSBlbmRzIHVwIGNhbGxpbmcgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpub3RpZnlGbHVzaFJlcXVpcmVkKCkKKyAgICAgICAgdGhhdCBzY2hl
ZHVsZXMgYSBuZXcgZmx1c2ggd2hpbGUgZmx1c2luZyBsYXllcnMgY2F1c2luZyB0aGUKKyAgICAg
ICAgYXNzZXJ0aW9uLiBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmZsdXNoQ29tcG9zaXRpbmdT
dGF0ZSgpIGlzIGFsd2F5cyBjYWxsZWQgZnJvbQorICAgICAgICBDb21wb3NpdGluZ0Nvb3JkaW5h
dG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKSBvciBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpIHNvIHdlCisgICAgICAgIG5ldmVyIG5lZWQgdG8g
Y2FsbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5vdGlmeUZsdXNoUmVxdWlyZWQoKSBmcm9tIHRo
ZXJlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXI6Om5vdGlmeUZsdXNoUmVxdWlyZWQpOiBUaGlzIGlzIHZvaWQgbm93IHNp
bmNlIHRoZSByZXR1cm4gdmFsdWUgaXMgbm90IGNoZWNrZWQgYW55d2hlcmUuCisgICAgICAgIChX
ZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSk6
IFJlbW92ZSB0aGUgY2FsbCB0byBub3RpZnlGbHVzaFJlcXVpcmVkKCkuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXll
ci5oOgorCiAyMDE2LTA3LTIzICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU3RvcCBpc0VtcHR5KCkgZnJvbSBsZWFraW5nIG91dCBvZiBTVkcuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4
IDBhMzI5NWQuLjUzMzNiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC01NSwxNCArNTUsMTMgQEAgc3RhdGljIENv
b3JkaW5hdGVkTGF5ZXJJRCB0b0Nvb3JkaW5hdGVkTGF5ZXJJRChHcmFwaGljc0xheWVyKiBsYXll
cikKICAgICByZXR1cm4gaXM8Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyPihsYXllcikgPyBkb3du
Y2FzdDxDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI+KCpsYXllcikuaWQoKSA6IDA7CiB9CiAKLWJv
b2wgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpub3RpZnlGbHVzaFJlcXVpcmVkKCkKK3ZvaWQg
Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpub3RpZnlGbHVzaFJlcXVpcmVkKCkKIHsKICAgICBB
U1NFUlQobV9jb29yZGluYXRvcik7Ci0gICAgaWYgKCFtX2Nvb3JkaW5hdG9yLT5pc0ZsdXNoaW5n
TGF5ZXJDaGFuZ2VzKCkpIHsKLSAgICAgICAgY2xpZW50KCkubm90aWZ5Rmx1c2hSZXF1aXJlZCh0
aGlzKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAobV9jb29yZGluYXRvci0+aXNGbHVzaGluZ0xheWVyQ2hhbmdlcygpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBjbGllbnQoKS5ub3RpZnlGbHVzaFJlcXVpcmVkKHRoaXMpOwogfQogCiB2
b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6ZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpCkBAIC01
ODcsOSArNTg2LDYgQEAgdm9pZCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OnNldEZpeGVkVG9W
aWV3cG9ydChib29sIGlzRml4ZWQpCiAKIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjpm
bHVzaENvbXBvc2l0aW5nU3RhdGUoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBib29sIHZpZXdwb3J0
SXNTdGFibGUpCiB7Ci0gICAgaWYgKG5vdGlmeUZsdXNoUmVxdWlyZWQoKSkKLSAgICAgICAgcmV0
dXJuOwotCiAgICAgaWYgKENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciogbWFzayA9IGRvd25jYXN0
PENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcj4obWFza0xheWVyKCkpKQogICAgICAgICBtYXNrLT5m
bHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KHZpZXdwb3J0SXNTdGFibGUpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
LmgKaW5kZXggNjk1MDI4OC4uNzUyZDk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXll
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAtMTkzLDcgKzE5Myw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBjcmVhdGVCYWNraW5nU3RvcmUoKTsKICAgICB2b2lkIHJlbGVhc2VJbWFn
ZUJhY2tpbmdJZk5lZWRlZCgpOwogCi0gICAgYm9vbCBub3RpZnlGbHVzaFJlcXVpcmVkKCk7Cisg
ICAgdm9pZCBub3RpZnlGbHVzaFJlcXVpcmVkKCk7CiAKICAgICAvLyBDb29yZGluYXRlZEltYWdl
QmFja2luZzo6SG9zdAogICAgIGJvb2wgaW1hZ2VCYWNraW5nVmlzaWJsZSgpIG92ZXJyaWRlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>