Bug 68819 - REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
Summary: REGRESSION (r95926) Assert firing in svg/clip-path/clip-path-on-svg.svg
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P1 Normal
Assignee: mitz
URL:
Keywords: LayoutTestFailure, Regression
Depends on:
Blocks:
 
Reported: 2011-09-26 11:42 PDT by Mihai Parparita
Modified: 2011-09-26 13:07 PDT (History)
1 user (show)

See Also:


Attachments
Revert to using view() in RenderObject::scheduleRelayout() (1.55 KB, patch)
2011-09-26 12:03 PDT, mitz
hyatt: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mihai Parparita 2011-09-26 11:42:50 PDT
After this http://trac.webkit.org/changeset/95926/ the test crashes with:

ASSERTION FAILED: !m_layoutRoot->container() || !m_layoutRoot->container()->needsLayout()

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   WebCore::FrameView::scheduleRelayoutOfSubtree(WebCore::RenderObject*) + 1045 (FrameView.cpp:1960)
1   WebCore::RenderObject::scheduleRelayout() + 127 (RenderObject.cpp:2312)
2   WebCore::RenderObject::markContainingBlocksForLayout(bool, WebCore::RenderObject*) + 945 (RenderObject.cpp:657)
3   WebCore::RenderObject::setNeedsLayout(bool, bool) + 170 (RenderObject.h:954)
4   WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation(WebCore::RenderSVGResourceContainer::InvalidationMode) + 243 (RenderSVGResourceContainer.cpp:111)
5   WebCore::RenderSVGResourceClipper::removeAllClientsFromCache(bool) + 155 (RenderSVGResourceClipper.cpp:80)
6   WebCore::SVGResources::resourceDestroyed(WebCore::RenderSVGResourceContainer*) + 1332 (SVGResources.cpp:397)
7   WebCore::SVGResourcesCache::resourceDestroyed(WebCore::RenderSVGResourceContainer*) + 170 (SVGResourcesCache.cpp:169)
8   WebCore::RenderSVGResourceContainer::willBeDestroyed() + 21 (RenderSVGResourceContainer.cpp:62)
9   WebCore::RenderObject::destroy() + 34 (RenderObject.cpp:2206)
10  WebCore::Node::detach() + 71 (Node.cpp:1390)
11  WebCore::ContainerNode::detach() + 86 (ContainerNode.cpp:777)
12  WebCore::Element::detach() + 65 (Element.cpp:998)
13  WebCore::ContainerNode::detach() + 48 (ContainerNode.cpp:773)
14  WebCore::Element::detach() + 65 (Element.cpp:998)
15  WebCore::ContainerNode::detach() + 48 (ContainerNode.cpp:773)
16  WebCore::Element::detach() + 65 (Element.cpp:998)
17  WebCore::ContainerNode::detach() + 48 (ContainerNode.cpp:773)
18  WebCore::Document::detach() + 438 (Document.cpp:1867)
19  WebCore::Frame::setView(WTF::PassRefPtr<WebCore::FrameView>) + 221 (Frame.cpp:273)
20  WebFrameLoaderClient::transitionToCommittedForNewPage() + 812 (WebFrameLoaderClient.mm:1256)
21  WebCore::FrameLoader::transitionToCommitted(WTF::PassRefPtr<WebCore::CachedPage>) + 1255 (FrameLoader.cpp:1930)
22  WebCore::FrameLoader::commitProvisionalLoad() + 957 (FrameLoader.cpp:1781)
23  WebCore::DocumentLoader::commitIfReady() + 73 (DocumentLoader.cpp:276)
24  WebCore::DocumentLoader::commitLoad(char const*, int) + 58 (DocumentLoader.cpp:296)
25  WebCore::DocumentLoader::receivedData(char const*, int) + 78 (DocumentLoader.cpp:330)
26  WebCore::MainResourceLoader::addData(char const*, int, bool) + 66 (MainResourceLoader.cpp:169)
27  WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool) + 260 (ResourceLoader.cpp:285)
28  WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool) + 686 (MainResourceLoader.cpp:458)
29  WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int) + 128 (ResourceLoader.cpp:436)
30  -[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:] + 282 (ResourceHandleMac.mm:833)
31  _NSURLConnectionDidReceiveData + 137
32  URLConnectionClient::_clientDidReceiveData(__CFData const*, URLConnectionClient::ClientConnectionEventQueue*) + 236
33  URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, 

Full crash log at http://build.webkit.org/results/SnowLeopard%20Intel%20Debug%20(Tests)/r95928%20(2310)/svg/clip-path/clip-path-on-svg-crash-log.txt
Comment 1 mitz 2011-09-26 11:56:27 PDT
Note that AFAICT the assertion comes from teardown of the previous test, clip-path-objectBoundingBox.svg.
Comment 2 mitz 2011-09-26 12:03:05 PDT
Created attachment 108703 [details]
Revert to using view() in RenderObject::scheduleRelayout()
Comment 3 Dave Hyatt 2011-09-26 13:00:15 PDT
Comment on attachment 108703 [details]
Revert to using view() in RenderObject::scheduleRelayout()

r=me
Comment 4 mitz 2011-09-26 13:07:23 PDT
Fixed in <http://trac.webkit.org/r95985>.