Bug 56107

Summary: REGRESSION: Crash in paintPaginatedChildLayers
Product: WebKit Reporter: Patrick <phanna>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: ap, steveblock
Priority: P1 Keywords: InRadar, Regression
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Test case none

Patrick
Reported 2011-03-10 08:34:13 PST
Created attachment 85335 [details] Test case If a layer is paginated but has a grandparent that is positioned, paintPaginatedChildLayers crashes due to columnLayers being empty. Attached is a test html file. My simple fix was to remove the logic in paintPaginatedChildLayers that checks for curr->parent()->renderer()->isPositioned() similar to updatePagination.
Attachments
Test case (5.80 KB, text/html)
2011-03-10 08:34 PST, Patrick
no flags
Alexey Proskuryakov
Comment 1 2011-03-10 10:48:07 PST
I can reproduce with r80210 nightly, cannot reproduce with Safari 5.0.4. With a debug build, there is an assertion failing: ASSERTION FAILED: columnLayers.size() /Users/ap/Safari/OpenSource/Source/WebCore/rendering/RenderLayer.cpp(2586) : void WebCore::RenderLayer::paintPaginatedChildLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::GraphicsContext*, const WebCore::IntRect&, WebCore::PaintBehavior, WebCore::RenderObject*, WebCore::OverlapTestRequestMap*, unsigned int) 1 WebCore::RenderLayer::paintPaginatedChildLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) 2 WebCore::RenderLayer::paintList(WTF::Vector<WebCore::RenderLayer*, 0ul>*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) 3 WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) 4 WebCore::RenderLayer::paintList(WTF::Vector<WebCore::RenderLayer*, 0ul>*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) 5 WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*, WTF::HashMap<WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::OverlapTestRequestClient*>, WTF::HashTraits<WebCore::IntRect> >*, unsigned int) 6 WebCore::RenderLayer::paint(WebCore::GraphicsContext*, WebCore::IntRect const&, unsigned int, WebCore::RenderObject*) 7 WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&)
Alexey Proskuryakov
Comment 2 2011-03-10 10:48:28 PST
Alexey Proskuryakov
Comment 3 2011-04-27 20:59:50 PDT
I cannot reproduce in r84740 any more.
Steve Block
Comment 4 2011-06-02 10:19:39 PDT
This looks like a duplicate of Bug 48983, which was fixed in http://trac.webkit.org/changeset/82158 *** This bug has been marked as a duplicate of bug 48983 ***
Note You need to log in before you can comment on or make changes to this bug.