Bug 61976 - RenderLayer::updateClipRects assertion
Summary: RenderLayer::updateClipRects assertion
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL: http://maps.google.com
Keywords: NeedsReduction
Depends on:
Blocks:
 
Reported: 2011-06-02 16:24 PDT by Adrienne Walker
Modified: 2013-01-08 23:20 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adrienne Walker 2011-06-02 16:24:04 PDT
I went to this maps page:

http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=FcJTywIdOgBs-SnTinstnCtBUzEYbCrPWNZx9Q%3BFfIBfwIdGnFz-ikZYPjxb17uhzHZWcdXSmPvxg&q=montana+to+iowa&sll=37.0625,-95.677068&sspn=50.777825,59.326172&ie=UTF8&ll=41.934977,-99.580078&spn=24.023147,29.663086&z=5&saddr=montana&daddr=iowa

The directions on Google Maps contains a canvas which triggers compositing (for Chromium).  As soon as compositing kicks in, I get an assert in RenderLayer.cpp:3308, ASSERT(rootLayer == m_clipRectsRoot).

What is this assert trying to check? Does this mean something is using the wrong clip rects?

Here's a callstack:

#0  0x00007ffff5142062 in WebCore::RenderLayer::updateClipRects (this=0x7fffc0a5d2d8, rootLayer=0x7fffc0a5d2d8, relevancy=WebCore::IgnoreOverlayScrollbarSize) at third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:3308
#1  0x00007ffff51429f2 in WebCore::RenderLayer::parentClipRects (this=0x7fffbf6fd9b8, rootLayer=0x7fffc0a5d2d8, clipRects=..., temporaryClipRects=false, relevancy=WebCore::IgnoreOverlayScrollbarSize) at third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:3399
#2  0x00007ffff5142aaa in WebCore::RenderLayer::backgroundClipRect (this=0x7fffbf6fd9b8, rootLayer=0x7fffc0a5d2d8, temporaryClipRects=false, relevancy=WebCore::IgnoreOverlayScrollbarSize) at third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:3408
#3  0x00007ffff5142cb0 in WebCore::RenderLayer::calculateRects (this=0x7fffbf6fd9b8, rootLayer=0x7fffc0a5d2d8, paintDirtyRect=..., layerBounds=..., backgroundRect=..., foregroundRect=..., outlineRect=..., temporaryClipRects=false, relevancy=WebCore::IgnoreOverlayScrollbarSize) at third_party/WebKit/Source/WebCore/ren dering/RenderLayer.cpp:3425
#4  0x00007ffff513e9c9 in WebCore::RenderLayer::paintLayer (this=0x7fffbf6fd9b8, rootLayer=0x7fffc0a5d2d8, p=0x7fffc09daab0, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x7fffc0a62eb8, overlapTestRequests=0x0, paintFlags=0) at third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2600
#5  0x00007ffff513f33e in WebCore::RenderLayer::paintList (this=0x7fffc0a5d2d8, list=0x7fffc00f1d20, rootLayer=0x7fffc0a5d2d8, p=0x7fffc09daab0, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x7fffc0a62eb8, overlapTestRequests=0x0, paintFlags=0) at third_party/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2723
#6  0x00007ffff5151953 in WebCore::RenderLayerBacking::paintIntoLayer (this=0x7fffc015c7e0, rootLayer=0x7fffc0a5d2d8, context=0x7fffc09daab0, paintDirtyRect=..., paintBehavior=0, paintingPhase=WebCore::GraphicsLayerPaintAll, paintingRoot=0x7fffc0a62eb8) at third_party/WebKit/Source/WebCore/rendering/RenderLayerBackin g.cpp:1169
#7  0x00007ffff5151e4b in WebCore::RenderLayerBacking::paintContents (this=0x7fffc015c7e0, graphicsLayer=0x7fffc015f800, context=..., paintingPhase=WebCore::GraphicsLayerPaintAll, clip=...) at third_party/WebKit/Source/WebCore/rendering/RenderLayerBacking.cpp:1222
#8  0x00007ffff48051cc in WebCore::GraphicsLayer::paintGraphicsLayerContents (this=0x7fffc015f800, context=..., clip=...) at third_party/WebKit/Source/WebCore/platform/graphics/GraphicsLayer.cpp:248
#9  0x00007ffff48220b3 in WebCore::ContentLayerPainter::paint (this=0x7fffc02fe050, context=..., contentRect=...) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:71
#10 0x00007ffff483b359 in WebCore::LayerTextureUpdaterCanvas::paintContents (this=0x7fffc02fa190, context=..., contentRect=...) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:60
#11 0x00007ffff483b536 in WebCore::LayerTextureUpdaterBitmap::prepareToUpdate (this=0x7fffc02fa190, contentRect=..., tileSize=..., borderTexels=1) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:82
#12 0x00007ffff483dd9a in WebCore::LayerTilerChromium::prepareToUpdate (this=0x7fffc0302480, contentRect=...) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerTilerChromium.cpp:262
#13 0x00007ffff48210c7 in WebCore::ContentLayerChromium::paintContentsIfDirty (this=0x7fffc015f600, targetSurfaceRect=...) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp:112
#14 0x00007ffff483050c in WebCore::LayerRendererChromium::paintLayerContents (this=0x7ffff7ec0900, renderSurfaceLayerList=...) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:427
#15 0x00007ffff482fff9 in WebCore::LayerRendererChromium::updateLayers (this=0x7ffff7ec0900, renderSurfaceLayerList=...) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:328
#16 0x00007ffff482f937 in WebCore::LayerRendererChromium::updateAndDrawLayers (this=0x7ffff7ec0900) at third_party/WebKit/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:239
#17 0x00007ffff46ae117 in WebKit::WebViewImpl::doComposite (this=0x7ffff7ec0480) at third_party/WebKit/Source/WebKit/chromium/src/WebViewImpl.cpp:2514
Comment 1 Simon Fraser (smfr) 2011-06-02 16:59:12 PDT
> Does this mean something is using the wrong clip rects?
Yes. There are a number of sites that trigger this. A reduction would be most welcome.