Bug 53989

Summary: svg/custom/use-multiple-on-nested-disallowed-font.html sometimes fails an assertion in StyleSelectorParentPusher
Product: WebKit Reporter: Mario Sanchez Prada <mario>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: hyatt, jschuh, krit, mrobinson
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   

Description Mario Sanchez Prada 2011-02-08 02:46:25 PST
The mentioned layout test is occasionally failing in the GTK Debug bots.

See this dump from the buildbot logs:

 Feb 08 01:19	77916	failure	#19083	Failed 1 test case (<1%) had incorrect layout 2 test cases (<1%) crashed
 Feb 08 00:50	77915	success	#19082	Build successful
 Feb 07 23:53	77914	failure	#19081	Failed 1 test case (<1%) crashed 1 api tests failed

Changes in 77915 and 77916 seem to be unrelated, hence skipping the test in GTK while not fixing the problem.

The crash, as dumped in the output:

ASSERTION FAILED: m_pushedStyleSelector == m_parent->document()->styleSelector()
(../../../Source/WebCore/dom/Element.cpp:90 WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher())


Adding the author of the test to CC.
Comment 1 Martin Robinson 2011-02-08 07:48:11 PST
Here's the full stack trace:

Thread 1 (Thread 3075):
#0  0x00007f2479e37af0 in WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher (this=0x7fff98a17a00, __in_chrg=<value optimized out>) at ../../Source/WebCore/dom/Element.cpp:90
#1  0x00007f2479e339b4 in WebCore::Element::recalcStyle (this=0x4d47360, change=WebCore::Node::NoChange) at ../../Source/WebCore/dom/Element.cpp:1121
#2  0x00007f2479e338a7 in WebCore::Element::recalcStyle (this=0x4d030e0, change=WebCore::Node::NoChange) at ../../Source/WebCore/dom/Element.cpp:1107
#3  0x00007f2479e338a7 in WebCore::Element::recalcStyle (this=0x4d7b8d0, change=WebCore::Node::NoChange) at ../../Source/WebCore/dom/Element.cpp:1107
#4  0x00007f2479deedad in WebCore::Document::recalcStyle (this=0x4d4b750, change=WebCore::Node::NoChange) at ../../Source/WebCore/dom/Document.cpp:1527
#5  0x00007f2479deefdb in WebCore::Document::updateStyleIfNeeded (this=0x4d4b750) at ../../Source/WebCore/dom/Document.cpp:1569
#6  0x00007f2479def174 in WebCore::Document::updateLayout (this=0x4d4b750) at ../../Source/WebCore/dom/Document.cpp:1596
#7  0x00007f2479def2c6 in WebCore::Document::updateLayoutIgnorePendingStylesheets (this=0x4d4b750) at ../../Source/WebCore/dom/Document.cpp:1632
#8  0x00007f247a52340b in WebCore::SVGElementInstance::invalidateAllInstancesOfElement (element=0x4d62050) at ../../Source/WebCore/svg/SVGElementInstance.cpp:111
#9  0x00007f247a5801d2 in WebCore::SVGStyledElement::svgAttributeChanged (this=0x4d62050, attrName=...) at ../../Source/WebCore/svg/SVGStyledElement.cpp:256
#10 0x00007f247a54b72d in WebCore::SVGGradientElement::svgAttributeChanged (this=0x4d62050, attrName=...) at ../../Source/WebCore/svg/SVGGradientElement.cpp:87
#11 0x00007f247a5520fd in WebCore::SVGLinearGradientElement::svgAttributeChanged (this=0x4d62050, attrName=...) at ../../Source/WebCore/svg/SVGLinearGradientElement.cpp:79
#12 0x00007f247a5201e6 in WebCore::SVGElement::attributeChanged (this=0x4d62050, attr=0x4ca81f0, preserveDecls=false) at ../../Source/WebCore/svg/SVGElement.cpp:358
#13 0x00007f2479e4a601 in WebCore::NamedNodeMap::addAttribute (this=0x4d8cce0, prpAttribute=...) at ../../Source/WebCore/dom/NamedNodeMap.cpp:261
#14 0x00007f2479e318c4 in WebCore::Element::setAttribute (this=0x4d62050, name=..., value=...) at ../../Source/WebCore/dom/Element.cpp:692
#15 0x00007f2479e2fa4c in WebCore::Element::setAttribute (this=0x4d62050, name=..., value=...) at ../../Source/WebCore/dom/Element.cpp:223
#16 0x00007f247a508533 in WebCore::SVGAnimateTransformElement::resetToBaseValue (this=0x4d05ce0, baseValue=...) at ../../Source/WebCore/svg/SVGAnimateTransformElement.cpp:109
#17 0x00007f247a4dc8fc in WebCore::SMILTimeContainer::updateAnimations (this=0x49cba90, elapsed=...) at ../../Source/WebCore/svg/animation/SMILTimeContainer.cpp:280
#18 0x00007f247a4dbb86 in WebCore::SMILTimeContainer::begin (this=0x49cba90) at ../../Source/WebCore/svg/animation/SMILTimeContainer.cpp:103
#19 0x00007f247a5160ef in WebCore::SVGDocumentExtensions::startAnimations (this=0x49cbc50) at ../../Source/WebCore/svg/SVGDocumentExtensions.cpp:102
#20 0x00007f2479df0c7b in WebCore::Document::implicitClose (this=0x4d4b750) at ../../Source/WebCore/dom/Document.cpp:2122
#21 0x00007f247a10fe0b in WebCore::FrameLoader::checkCallImplicitClose (this=0x123dac0) at ../../Source/WebCore/loader/FrameLoader.cpp:893
#22 0x00007f247a10fbde in WebCore::FrameLoader::checkCompleted (this=0x123dac0) at ../../Source/WebCore/loader/FrameLoader.cpp:841
#23 0x00007f247a10f94d in WebCore::FrameLoader::finishedParsing (this=0x123dac0) at ../../Source/WebCore/loader/FrameLoader.cpp:775
#24 0x00007f2479df8f74 in WebCore::Document::finishedParsing (this=0x4d4b750) at ../../Source/WebCore/dom/Document.cpp:4196
#25 0x00007f247a020492 in WebCore::HTMLTreeBuilder::finished (this=0x4d8b8f0) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2807
#26 0x00007f2479ff6d3a in WebCore::HTMLDocumentParser::end (this=0x4d81650) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:338
#27 0x00007f2479ff6e37 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x4d81650) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:347
#28 0x00007f2479ff6209 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x4d81650) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:151
#29 0x00007f2479ff6e7c in WebCore::HTMLDocumentParser::attemptToEnd (this=0x4d81650) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:359
#30 0x00007f2479ff6f35 in WebCore::HTMLDocumentParser::finish (this=0x4d81650) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:387
#31 0x00007f2479df10c8 in WebCore::Document::finishParsing (this=0x4d4b750) at ../../Source/WebCore/dom/Document.cpp:2222
#32 0x00007f247a10987f in WebCore::DocumentWriter::endIfNotLoadingMainResource (this=0x123dc90) at ../../Source/WebCore/loader/DocumentWriter.cpp:221
#33 0x00007f247a1097d5 in WebCore::DocumentWriter::end (this=0x123dc90) at ../../Source/WebCore/loader/DocumentWriter.cpp:206
#34 0x00007f247a0fe627 in WebCore::DocumentLoader::finishedLoading (this=0x4d569f0) at ../../Source/WebCore/loader/DocumentLoader.cpp:279
#35 0x00007f247a11624d in WebCore::FrameLoader::finishedLoading (this=0x123dac0) at ../../Source/WebCore/loader/FrameLoader.cpp:2183
#36 0x00007f247a146bff in WebCore::MainResourceLoader::didFinishLoading (this=0x4d5a820, finishTime=0) at ../../Source/WebCore/loader/MainResourceLoader.cpp:471
#37 0x00007f247a152ea5 in WebCore::ResourceLoader::didFinishLoading (this=0x4d5a820, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:434
#38 0x00007f2479acd2be in WebCore::readCallback (source=0x3893b00, asyncResult=0x7f246800d800, data=0x0) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:754
#39 0x00007f247783af65 in async_ready_callback_wrapper (source_object=0x3893b00, res=0x7f246800d800, user_data=0x0) at /tmp/buildd/glib2.0-2.27.91/./gio/ginputstream.c:470
#40 0x00007f247784c628 in complete_in_idle_cb_for_thread (_data=<value optimized out>) at /tmp/buildd/glib2.0-2.27.91/./gio/gsimpleasyncresult.c:812
#41 0x00007f2476ce1362 in g_main_dispatch (context=0x121b1e0) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:2440
#42 g_main_context_dispatch (context=0x121b1e0) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3013
#43 0x00007f2476ce5a28 in g_main_context_iterate (context=0x121b1e0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3091
#44 0x00007f2476ce5f35 in g_main_loop_run (loop=0x4d476b0) at /tmp/buildd/glib2.0-2.27.91/./glib/gmain.c:3299
#45 0x00007f2478c1a657 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#46 0x000000000041ce32 in runTest (testPathOrURL=...) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:654
#47 0x000000000041c502 in runTestingServerLoop () at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:468
#48 0x000000000041e435 in main (argc=2, argv=0x7fff98a19448) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:1095
Comment 2 Dirk Schulze 2011-02-08 09:40:36 PST
It just fails for GTK?
Comment 3 Martin Robinson 2011-02-08 09:44:54 PST
(In reply to comment #2)
> It just fails for GTK?

As I understand it, not many of the debug bots run tests, so it isn't so surprising.
Comment 4 Mario Sanchez Prada 2011-02-08 10:15:58 PST
(In reply to comment #2)
> It just fails for GTK?

I just ran it in the GTK debug bots (32 and 64 bits) and it was randomly failing there.
Comment 5 Dirk Schulze 2011-02-10 07:05:59 PST
I can confirm the problem on my Mac debug build.
Comment 6 Dirk Schulze 2011-02-12 15:21:02 PST

*** This bug has been marked as a duplicate of bug 54344 ***