Created attachment 242801 [details] Test case Load this test with debug WebKit: <!DOCTYPE html> <table> <th> <u> <audio controls> </u> <select></select> <tfoot></tfoot> </th> </table> Backtrace: ASSERTION FAILED: !needsSectionRecalc() ../../Source/WebCore/rendering/RenderTable.h(376) : WebCore::RenderTableSection* WebCore::RenderTable::topSection() const Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff98927700 (LWP 22876)] 0x00007fffedbca36f in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321 321 *(int *)(uintptr_t)0xbbadbeef = 0; #0 0x00007fffedbca36f in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321 #1 0x00007ffff2d42046 in WebCore::RenderTable::topSection (this=0x61f7e0) at ../../Source/WebCore/rendering/RenderTable.h:376 #2 0x00007ffff2d43c77 in WebCore::AccessibilityTableCell::rowIndexRange (this=0x9ae790, rowRange=...) at ../../Source/WebCore/accessibility/AccessibilityTableCell.cpp:316 #3 0x00007ffff2d43383 in WebCore::AccessibilityTableCell::isColumnHeaderCell (this=0x9ae790) at ../../Source/WebCore/accessibility/AccessibilityTableCell.cpp:163 #4 0x00007ffff2d4313e in WebCore::AccessibilityTableCell::determineAccessibilityRole (this=0x9ae790) at ../../Source/WebCore/accessibility/AccessibilityTableCell.cpp:129 #5 0x00007ffff2d0c35f in WebCore::AccessibilityNodeObject::init (this=0x9ae790) at ../../Source/WebCore/accessibility/AccessibilityNodeObject.cpp:117 #6 0x00007ffff2d2737e in WebCore::AccessibilityRenderObject::init (this=0x9ae790) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:132 #7 0x00007ffff2ced095 in WebCore::AXObjectCache::getOrCreate (this=0x8ff400, renderer=0x54a7d0) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:433 #8 0x00007ffff2d28493 in WebCore::AccessibilityRenderObject::parentObject (this=0x9a9c40) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:495 #9 0x00007ffff2d2094b in WebCore::AccessibilityObject::isARIAHidden (this=0x9a9c40) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2486 #10 0x00007ffff2d209ec in WebCore::AccessibilityObject::defaultObjectInclusion (this=0x9a9c40) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2507 #11 0x00007ffff2d2af0e in WebCore::AccessibilityRenderObject::defaultObjectInclusion (this=0x9a9c40) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1158 #12 0x00007ffff2d208e3 in WebCore::AccessibilityObject::accessibilityIsIgnoredByDefault (this=0x9a9c40) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2479 #13 0x00007ffff3e83668 in WebCore::AXObjectCache::attachWrapper (this=0x8ff400, obj=0x9a9c40) at ../../Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp:80 #14 0x00007ffff2ced0b9 in WebCore::AXObjectCache::getOrCreate (this=0x8ff400, renderer=0x98ef70) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:434 #15 0x00007ffff2d28493 in WebCore::AccessibilityRenderObject::parentObject (this=0x9ab5b0) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:495 #16 0x00007ffff2d2094b in WebCore::AccessibilityObject::isARIAHidden (this=0x9ab5b0) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2486 #17 0x00007ffff2d209ec in WebCore::AccessibilityObject::defaultObjectInclusion (this=0x9ab5b0) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2507 #18 0x00007ffff2d2af0e in WebCore::AccessibilityRenderObject::defaultObjectInclusion (this=0x9ab5b0) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1158 #19 0x00007ffff2d208e3 in WebCore::AccessibilityObject::accessibilityIsIgnoredByDefault (this=0x9ab5b0) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2479 #20 0x00007ffff3e83668 in WebCore::AXObjectCache::attachWrapper (this=0x8ff400, obj=0x9ab5b0) at ../../Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp:80 #21 0x00007ffff2ced0b9 in WebCore::AXObjectCache::getOrCreate (this=0x8ff400, renderer=0x98d5d0) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:434 #22 0x00007ffff2d28493 in WebCore::AccessibilityRenderObject::parentObject (this=0x89c2f0) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:495 #23 0x00007ffff2d2094b in WebCore::AccessibilityObject::isARIAHidden (this=0x89c2f0) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2486 #24 0x00007ffff2d209ec in WebCore::AccessibilityObject::defaultObjectInclusion (this=0x89c2f0) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2507 #25 0x00007ffff2d2af0e in WebCore::AccessibilityRenderObject::defaultObjectInclusion (this=0x89c2f0) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:1158 #26 0x00007ffff2d208e3 in WebCore::AccessibilityObject::accessibilityIsIgnoredByDefault (this=0x89c2f0) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:2479 #27 0x00007ffff3e83668 in WebCore::AXObjectCache::attachWrapper (this=0x8ff400, obj=0x89c2f0) at ../../Source/WebCore/accessibility/atk/AXObjectCacheAtk.cpp:80 #28 0x00007ffff2ced0b9 in WebCore::AXObjectCache::getOrCreate (this=0x8ff400, renderer=0x99d2a0) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:434 #29 0x00007ffff2cedb95 in WebCore::AXObjectCache::textChanged (this=0x8ff400, renderer=0x99d2a0) at ../../Source/WebCore/accessibility/AXObjectCache.cpp:625 #30 0x00007ffff3b11ad7 in WebCore::RenderText::setText (this=0x99d2a0, text=..., force=true) at ../../Source/WebCore/rendering/RenderText.cpp:1126 #31 0x00007ffff3aa073d in WebCore::RenderMenuList::setText (this=0x98ef70, s=...) at ../../Source/WebCore/rendering/RenderMenuList.cpp:295 #32 0x00007ffff3aa0601 in WebCore::RenderMenuList::setTextFromOption (this=0x98ef70, optionIndex=-1) at ../../Source/WebCore/rendering/RenderMenuList.cpp:286 #33 0x00007ffff3aa04c0 in WebCore::RenderMenuList::updateFromElement (this=0x98ef70) at ../../Source/WebCore/rendering/RenderMenuList.cpp:260 #34 0x00007ffff32be3e0 in WebCore::HTMLFormControlElement::__lambda6::operator() (__closure=0x46a600) at ../../Source/WebCore/html/HTMLFormControlElement.cpp:320 #35 0x00007ffff32bf370 in std::_Function_handler<void(), WebCore::HTMLFormControlElement::didRecalcStyle(WebCore::Style::Change)::__lambda6>::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/4.8/functional:2071 #36 0x00007ffff2727ec6 in std::function<void ()>::operator()() const (this=0x9a65a0) at /usr/include/c++/4.8/functional:2464 #37 0x00007ffff3c3b38e in WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler (this=0x7fffffffd166, __in_chrg=<optimized out>) at ../../Source/WebCore/style/StyleResolveTree.cpp:1050 #38 0x00007ffff306587a in WebCore::Document::recalcStyle (this=0x696550, change=WebCore::Style::NoChange) at ../../Source/WebCore/dom/Document.cpp:1808 #39 0x00007ffff3065b0a in WebCore::Document::updateStyleIfNeeded (this=0x696550) at ../../Source/WebCore/dom/Document.cpp:1841 #40 0x00007ffff3070c7d in WebCore::Document::finishedParsing (this=0x696550) at ../../Source/WebCore/dom/Document.cpp:4613 #41 0x00007ffff33c6039 in WebCore::HTMLConstructionSite::finishedParsing (this=0x7cf148) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:395 #42 0x00007ffff3403a33 in WebCore::HTMLTreeBuilder::finished (this=0x7cf130) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:3009 #43 0x00007ffff33ced4e in WebCore::HTMLDocumentParser::end (this=0x689440) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:439 #44 0x00007ffff33cee39 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x689440) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:450 #45 0x00007ffff33cd8e7 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x689440) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:165 #46 0x00007ffff33cee7c in WebCore::HTMLDocumentParser::attemptToEnd (this=0x689440) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:462 #47 0x00007ffff33cef33 in WebCore::HTMLDocumentParser::finish (this=0x689440) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:490 #48 0x00007ffff3538b7f in WebCore::DocumentWriter::end (this=0x73f1b0) at ../../Source/WebCore/loader/DocumentWriter.cpp:246 #49 0x00007ffff35248db in WebCore::DocumentLoader::finishedLoading (this=0x73f110, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:440 #50 0x00007ffff3524644 in WebCore::DocumentLoader::notifyFinished (this=0x73f110, resource=0x8d2eb0) at ../../Source/WebCore/loader/DocumentLoader.cpp:374 #51 0x00007ffff35d5370 in WebCore::CachedResource::checkNotify (this=0x8d2eb0) at ../../Source/WebCore/loader/cache/CachedResource.cpp:293 #52 0x00007ffff35d546e in WebCore::CachedResource::finishLoading (this=0x8d2eb0) at ../../Source/WebCore/loader/cache/CachedResource.cpp:309 #53 0x00007ffff35d1b63 in WebCore::CachedRawResource::finishLoading (this=0x8d2eb0, data=0x8b11a0) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:104 #54 0x00007ffff358594c in WebCore::SubresourceLoader::didFinishLoading (this=0x8d3570, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:306 #55 0x00007ffff35816e1 in WebCore::ResourceLoader::didFinishLoading (this=0x8d3570, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:508 #56 0x00007ffff3f303e1 in WebCore::readCallback (asyncResult=0x8d49d0, data=0x8d3bf0) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1300 #57 0x00007fffeb7ab7d6 in async_ready_callback_wrapper (source_object=0x7c66d0, res=0x8d49d0, user_data=user_data@entry=0x8d3bf0) at ginputstream.c:523 #58 0x00007fffeb7d10d5 in g_task_return_now (task=0x8d49d0) at gtask.c:1077 #59 0x00007fffeb7d10f9 in complete_in_idle_cb (task=0x8d49d0) at gtask.c:1086 #60 0x00007fffeaa10a1d in g_main_dispatch (context=0x478020) at gmain.c:3064 #61 g_main_context_dispatch (context=context@entry=0x478020) at gmain.c:3663 #62 0x00007fffeaa10d88 in g_main_context_iterate (context=0x478020, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3734 #63 0x00007fffeaa1104a in g_main_loop_run (loop=0x8eb810) at gmain.c:3928 #64 0x00007ffff45df9dc in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59 #65 0x00007ffff2b44f82 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #66 0x00007ffff2b44de7 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:73 #67 0x0000000000400891 in main (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44
This issue no longer happens in r204037 under GuardMalloc or ASAN. If you believe there is still an issue, please reopen this bug with a revised test case.