Bug 59862

Summary: REGRESSION: ASSERTION FAILED: m_attributes.xValues().size() == textLength()
Product: WebKit Reporter: Dirk Schulze <krit>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WORKSFORME    
Severity: Normal CC: rwlbuis, zimmermann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
URL: http://files.myopera.com/MacDev_ed/svg/svgtime/circularclip.svg

Description Dirk Schulze 2011-04-30 03:21:50 PDT
Visit Eriks test and you'll see the following Assertion immediately: 

ASSERTION FAILED: m_attributes.xValues().size() == textLength()
/../Source/WebCore/rendering/svg/RenderSVGInlineText.cpp(131) : bool WebCore::RenderSVGInlineText::characterStartsNewTextChunk(int) const
1   WebCore::RenderSVGInlineText::characterStartsNewTextChunk(int) const
2   WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath(WebCore::SVGInlineTextBox*, WebCore::RenderSVGInlineText*, WebCore::RenderStyle const*)
3   WebCore::SVGTextLayoutEngine::layoutInlineTextBox(WebCore::SVGInlineTextBox*)
4   WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes(WebCore::InlineFlowBox*, WebCore::SVGTextLayoutEngine&)
5   WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes(WebCore::InlineFlowBox*, WebCore::SVGTextLayoutEngine&)
6   WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation()
7   WebCore::RenderBlock::layoutInlineChildren(bool, int&, int&)
8   WebCore::RenderBlock::forceLayoutInlineChildren()
9   WebCore::RenderSVGText::layout()
10  WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderObject*, bool)
11  WebCore::RenderSVGHiddenContainer::layout()
12  WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderObject*, bool)
13  WebCore::RenderSVGRoot::layout()
14  WebCore::FrameView::layout(bool)
15  WebCore::Document::updateLayout()
16  WebCore::Document::updateLayoutIgnorePendingStylesheets()
17  WebCore::SVGElementInstance::invalidateAllInstancesOfElement(WebCore::SVGElement*)
18  WebCore::SVGStyledElement::childrenChanged(bool, WebCore::Node*, WebCore::Node*, int)
19  WebCore::SVGTextPositioningElement::childrenChanged(bool, WebCore::Node*, WebCore::Node*, int)
20  WebCore::ContainerNode::removeChildren()
21  WebCore::Node::setTextContent(WTF::String const&, int&)
22  WebCore::setJSNodeTextContent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue)

I hope I can find the time to create a minimal test, but I can't promise.
Comment 1 Rob Buis 2011-05-17 15:06:17 PDT
Hi Dirk,

The url is slow and probably buggy, but I dont hit the asserts mentioned below anymore on Snow Leopard and QtWebkit.
Cheers,

Rob.
Comment 2 Dirk Schulze 2011-05-18 08:05:38 PDT
Yes,I can confirm that it does not happen with the latest trunk build. The performance is more worse than it used to be. But this is another bug.