Created attachment 242794 [details] Test case Load this test with debug WebKit: <!DOCTYPE html> <style> * { display: table-caption; -webkit-columns: 5418in; column-span: all; } </style> <summary> <video> <object> <video controls> </object> </video> </summary> Backtrace: ASSERTION FAILED: ancestor->style().columnSpan() != ColumnSpanAll || !isValidColumnSpanner(flowThread, ancestor) ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp(271) : bool WebCore::isValidColumnSpanner(WebCore::RenderMultiColumnFlowThread*, WebCore::RenderObject*) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff98927700 (LWP 17653)] 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 0x00007ffff3aa41bc in WebCore::isValidColumnSpanner (flowThread=0x91d6a0, descendant=0x8b0d10) at ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:271 #2 0x00007ffff3aa4297 in WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant (this=0x91d6a0, subtreeRoot=@0x7fffffffc818: 0x8b0d10, descendant=0x8b0d10) at ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:286 #3 0x00007ffff3aa488f in WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted (this=0x91d6a0, descendant=0x8b0d10) at ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:400 #4 0x00007ffff3ac9cbb in WebCore::RenderObject::insertedIntoTree (this=0x8b0d10) at ../../Source/WebCore/rendering/RenderObject.cpp:1905 #5 0x00007ffff39dda91 in WebCore::RenderElement::insertedIntoTree (this=0x8b0d10) at ../../Source/WebCore/rendering/RenderElement.cpp:1022 #6 0x00007ffff39dbfe9 in WebCore::RenderElement::insertChildInternal (this=0x546c00, newChild=0x8b0d10, beforeChild=0x0, notifyChildren=WebCore::RenderElement::NotifyChildren) at ../../Source/WebCore/rendering/RenderElement.cpp:574 #7 0x00007ffff39dbb68 in WebCore::RenderElement::addChild (this=0x546c00, newChild=0x8b0d10, beforeChild=0x0) at ../../Source/WebCore/rendering/RenderElement.cpp:498 #8 0x00007ffff3932bb3 in WebCore::RenderBlock::addChildIgnoringContinuation (this=0x546c00, newChild=0x8b0d10, beforeChild=0x0) at ../../Source/WebCore/rendering/RenderBlock.cpp:494 #9 0x00007ffff3932696 in WebCore::RenderBlock::addChild (this=0x546c00, newChild=0x8b0d10, beforeChild=0x0) at ../../Source/WebCore/rendering/RenderBlock.cpp:409 #10 0x00007ffff396e5cf in WebCore::RenderBlockFlow::addChild (this=0x546c00, newChild=0x8b0d10, beforeChild=0x0) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:3706 #11 0x00007ffff3c37f10 in WebCore::Style::RenderTreePosition::insert (this=0x7fffffffcb20, renderer=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:222 #12 0x00007ffff3c386c7 in WebCore::Style::createRendererIfNeeded (element=..., inheritedStyle=..., renderTreePosition=..., resolvedStyle=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:334 #13 0x00007ffff3c39a57 in WebCore::Style::attachRenderTree (current=..., inheritedStyle=..., renderTreePosition=..., resolvedStyle=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:615 #14 0x00007ffff3c3924f in WebCore::Style::attachDistributedChildren (insertionPoint=..., inheritedStyle=..., renderTreePosition=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:506 #15 0x00007ffff3c399e1 in WebCore::Style::attachRenderTree (current=..., inheritedStyle=..., renderTreePosition=..., resolvedStyle=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:606 #16 0x00007ffff3c390d1 in WebCore::Style::attachChildren (current=..., inheritedStyle=..., renderTreePosition=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:484 #17 0x00007ffff3c39395 in WebCore::Style::attachShadowRoot (shadowRoot=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:521 #18 0x00007ffff3c39ae8 in WebCore::Style::attachRenderTree (current=..., inheritedStyle=..., renderTreePosition=..., resolvedStyle=...) at ../../Source/WebCore/style/StyleResolveTree.cpp:625 #19 0x00007ffff3c3a378 in WebCore::Style::resolveLocal (current=..., inheritedStyle=..., renderTreePosition=..., inheritedChange=WebCore::Style::NoChange) at ../../Source/WebCore/style/StyleResolveTree.cpp:756 #20 0x00007ffff3c3ab2f in WebCore::Style::resolveTree (current=..., inheritedStyle=..., renderTreePosition=..., change=WebCore::Style::NoChange) at ../../Source/WebCore/style/StyleResolveTree.cpp:918 #21 0x00007ffff3c3ad9e in WebCore::Style::resolveTree (current=..., inheritedStyle=..., renderTreePosition=..., change=WebCore::Style::NoChange) at ../../Source/WebCore/style/StyleResolveTree.cpp:955 #22 0x00007ffff3c3ad9e in WebCore::Style::resolveTree (current=..., inheritedStyle=..., renderTreePosition=..., change=WebCore::Style::NoChange) at ../../Source/WebCore/style/StyleResolveTree.cpp:955 #23 0x00007ffff3c3b099 in WebCore::Style::resolveTree (document=..., change=WebCore::Style::NoChange) at ../../Source/WebCore/style/StyleResolveTree.cpp:997 #24 0x00007ffff30657ff in WebCore::Document::recalcStyle (this=0x6d4b10, change=WebCore::Style::NoChange) at ../../Source/WebCore/dom/Document.cpp:1796 #25 0x00007ffff3065b0a in WebCore::Document::updateStyleIfNeeded (this=0x6d4b10) at ../../Source/WebCore/dom/Document.cpp:1841 #26 0x00007ffff3070c7d in WebCore::Document::finishedParsing (this=0x6d4b10) at ../../Source/WebCore/dom/Document.cpp:4613 #27 0x00007ffff33c6039 in WebCore::HTMLConstructionSite::finishedParsing (this=0x76c858) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:395 #28 0x00007ffff3403a33 in WebCore::HTMLTreeBuilder::finished (this=0x76c840) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:3009 #29 0x00007ffff33ced4e in WebCore::HTMLDocumentParser::end (this=0x68aba0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:439 #30 0x00007ffff33cee39 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x68aba0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:450 #31 0x00007ffff33cd8e7 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x68aba0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:165 #32 0x00007ffff33cee7c in WebCore::HTMLDocumentParser::attemptToEnd (this=0x68aba0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:462 #33 0x00007ffff33cef33 in WebCore::HTMLDocumentParser::finish (this=0x68aba0) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:490 #34 0x00007ffff3538b7f in WebCore::DocumentWriter::end (this=0x73f1d0) at ../../Source/WebCore/loader/DocumentWriter.cpp:246 #35 0x00007ffff35248db in WebCore::DocumentLoader::finishedLoading (this=0x73f130, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:440 #36 0x00007ffff3524644 in WebCore::DocumentLoader::notifyFinished (this=0x73f130, resource=0x8d51d0) at ../../Source/WebCore/loader/DocumentLoader.cpp:374 #37 0x00007ffff35d5370 in WebCore::CachedResource::checkNotify (this=0x8d51d0) at ../../Source/WebCore/loader/cache/CachedResource.cpp:293 #38 0x00007ffff35d546e in WebCore::CachedResource::finishLoading (this=0x8d51d0) at ../../Source/WebCore/loader/cache/CachedResource.cpp:309 #39 0x00007ffff35d1b63 in WebCore::CachedRawResource::finishLoading (this=0x8d51d0, data=0x6559f0) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:104 #40 0x00007ffff358594c in WebCore::SubresourceLoader::didFinishLoading (this=0x8d1140, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:306 #41 0x00007ffff35816e1 in WebCore::ResourceLoader::didFinishLoading (this=0x8d1140, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:508 #42 0x00007ffff3f303e1 in WebCore::readCallback (asyncResult=0x7111f0, data=0x8d17a0) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1300 #43 0x00007fffeb7ab7d6 in async_ready_callback_wrapper (source_object=0x7c66d0, res=0x7111f0, user_data=user_data@entry=0x8d17a0) at ginputstream.c:523 #44 0x00007fffeb7d10d5 in g_task_return_now (task=0x7111f0) at gtask.c:1077 #45 0x00007fffeb7d10f9 in complete_in_idle_cb (task=0x7111f0) at gtask.c:1086 #46 0x00007fffeaa10a1d in g_main_dispatch (context=0x478020) at gmain.c:3064 #47 g_main_context_dispatch (context=context@entry=0x478020) at gmain.c:3663 #48 0x00007fffeaa10d88 in g_main_context_iterate (context=0x478020, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3734 #49 0x00007fffeaa1104a in g_main_loop_run (loop=0x901620) at gmain.c:3928 #50 0x00007ffff45df9dc in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59 #51 0x00007ffff2b44f82 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #52 0x00007ffff2b44de7 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:73 #53 0x0000000000400891 in main (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44
This reproduces under r204037.
<rdar://problem/27702722>
I can’t reproduce this with r209438.