RESOLVED FIXED 139390
ASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox::locateFlowThreadContainingBlock() in WebCore::RenderBlock::locateFlowThreadContainingBlock
https://bugs.webkit.org/show_bug.cgi?id=139390
Summary ASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox:...
Renata Hodovan
Reported 2014-12-08 04:37:52 PST
Created attachment 242802 [details] Test case load this test: <!DOCTYPE html> <style> * { -webkit-columns: 5880; } </style> <progress> <video controls> </progress> <a> <object> <h3></h3> </object> <progress></progress> </a> Backtrace: ASSERTION FAILED: rareData->m_flowThreadContainingBlock.value() == RenderBox::locateFlowThreadContainingBlock() ../../Source/WebCore/rendering/RenderBlock.cpp(3279) : virtual WebCore::RenderFlowThread* WebCore::RenderBlock::locateFlowThreadContainingBlock() const Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff98927700 (LWP 24285)] 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 0x00007ffff39410db in WebCore::RenderBlock::locateFlowThreadContainingBlock (this=0x999500) at ../../Source/WebCore/rendering/RenderBlock.cpp:3279 #2 0x00007ffff317caab in WebCore::RenderObject::flowThreadContainingBlock (this=0x999500) at ../../Source/WebCore/rendering/RenderObject.h:222 #3 0x00007ffff39347fe in WebCore::RenderBlock::preparePaginationBeforeBlockLayout (this=0x999500, relayoutChildren=@0x7fffffffb084: true) at ../../Source/WebCore/rendering/RenderBlock.cpp:972 #4 0x00007ffff395e7f6 in WebCore::RenderBlockFlow::layoutBlock (this=0x999500, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:442 #5 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x999500) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #6 0x00007ffff3900519 in WebCore::RenderElement::layoutIfNeeded (this=0x999500) at ../../Source/WebCore/rendering/RenderElement.h:119 #7 0x00007ffff397faac in WebCore::RenderBlockFlow::layoutLineBoxes (this=0x99a040, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1500 #8 0x00007ffff395f687 in WebCore::RenderBlockFlow::layoutInlineChildren (this=0x99a040, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:640 #9 0x00007ffff395e98a in WebCore::RenderBlockFlow::layoutBlock (this=0x99a040, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:471 #10 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x99a040) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #11 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x54c460, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699 #12 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x54c460, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620 #13 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x54c460, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #14 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x54c460) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #15 0x00007ffff39f612c in WebCore::RenderFlowThread::layout (this=0x54c460) at ../../Source/WebCore/rendering/RenderFlowThread.cpp:201 #16 0x00007ffff3aa390d in WebCore::RenderMultiColumnFlowThread::layout (this=0x54c460) at ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:132 #17 0x00007ffff396e4f2 in WebCore::RenderBlockFlow::layoutSpecialExcludedChild (this=0x898480, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:3681 #18 0x00007ffff395f44a in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x898480, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:592 #19 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x898480, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #20 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x898480) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #21 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x548b30, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699 #22 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x548b30, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620 #23 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x548b30, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #24 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x548b30) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #25 0x00007ffff39f612c in WebCore::RenderFlowThread::layout (this=0x548b30) at ../../Source/WebCore/rendering/RenderFlowThread.cpp:201 #26 0x00007ffff3aa390d in WebCore::RenderMultiColumnFlowThread::layout (this=0x548b30) at ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:132 #27 0x00007ffff396e4f2 in WebCore::RenderBlockFlow::layoutSpecialExcludedChild (this=0x896dc0, relayoutChildren=false) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:3681 #28 0x00007ffff395f44a in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x896dc0, relayoutChildren=false, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:592 #29 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x896dc0, relayoutChildren=false, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #30 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x896dc0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #31 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x8b1400, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699 #32 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x8b1400, relayoutChildren=false, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620 #33 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x8b1400, relayoutChildren=false, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #34 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x8b1400) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #35 0x00007ffff3b2e84d in WebCore::RenderView::layoutContent (this=0x8b1400, state=...) at ../../Source/WebCore/rendering/RenderView.cpp:232 #36 0x00007ffff3b2ef1d in WebCore::RenderView::layout (this=0x8b1400) at ../../Source/WebCore/rendering/RenderView.cpp:357 #37 0x00007ffff369c389 in WebCore::FrameView::layout (this=0x7cdc80, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1313 #38 0x00007ffff3067dc5 in WebCore::Document::implicitClose (this=0x696950) at ../../Source/WebCore/dom/Document.cpp:2486 #39 0x00007ffff3547a0d in WebCore::FrameLoader::checkCallImplicitClose (this=0x79f558) at ../../Source/WebCore/loader/FrameLoader.cpp:898 #40 0x00007ffff3547779 in WebCore::FrameLoader::checkCompleted (this=0x79f558) at ../../Source/WebCore/loader/FrameLoader.cpp:844 #41 0x00007ffff35474e2 in WebCore::FrameLoader::finishedParsing (this=0x79f558) at ../../Source/WebCore/loader/FrameLoader.cpp:764 #42 0x00007ffff3070c99 in WebCore::Document::finishedParsing (this=0x696950) at ../../Source/WebCore/dom/Document.cpp:4615 #43 0x00007ffff33c6039 in WebCore::HTMLConstructionSite::finishedParsing (this=0x7cfb18) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:395 #44 0x00007ffff3403a33 in WebCore::HTMLTreeBuilder::finished (this=0x7cfb00) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:3009 #45 0x00007ffff33ced4e in WebCore::HTMLDocumentParser::end (this=0x6e5140) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:439 #46 0x00007ffff33cee39 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x6e5140) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:450 #47 0x00007ffff33cd8e7 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x6e5140) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:165 #48 0x00007ffff33cee7c in WebCore::HTMLDocumentParser::attemptToEnd (this=0x6e5140) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:462 #49 0x00007ffff33cef33 in WebCore::HTMLDocumentParser::finish (this=0x6e5140) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:490 #50 0x00007ffff3538b7f in WebCore::DocumentWriter::end (this=0x73f1b0) at ../../Source/WebCore/loader/DocumentWriter.cpp:246 #51 0x00007ffff35248db in WebCore::DocumentLoader::finishedLoading (this=0x73f110, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:440 #52 0x00007ffff3524644 in WebCore::DocumentLoader::notifyFinished (this=0x73f110, resource=0x8d3180) at ../../Source/WebCore/loader/DocumentLoader.cpp:374 #53 0x00007ffff35d5370 in WebCore::CachedResource::checkNotify (this=0x8d3180) at ../../Source/WebCore/loader/cache/CachedResource.cpp:293 #54 0x00007ffff35d546e in WebCore::CachedResource::finishLoading (this=0x8d3180) at ../../Source/WebCore/loader/cache/CachedResource.cpp:309 #55 0x00007ffff35d1b63 in WebCore::CachedRawResource::finishLoading (this=0x8d3180, data=0x7c56d0) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:104 #56 0x00007ffff358594c in WebCore::SubresourceLoader::didFinishLoading (this=0x8d3830, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:306 #57 0x00007ffff35816e1 in WebCore::ResourceLoader::didFinishLoading (this=0x8d3830, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:508 #58 0x00007ffff3f303e1 in WebCore::readCallback (asyncResult=0x68b1d0, data=0x689760) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1300 #59 0x00007fffeb7ab7d6 in async_ready_callback_wrapper (source_object=0x7c66d0, res=0x68b1d0, user_data=user_data@entry=0x689760) at ginputstream.c:523 #60 0x00007fffeb7d10d5 in g_task_return_now (task=0x68b1d0) at gtask.c:1077 #61 0x00007fffeb7d10f9 in complete_in_idle_cb (task=0x68b1d0) at gtask.c:1086 #62 0x00007fffeaa10a1d in g_main_dispatch (context=0x478020) at gmain.c:3064 #63 g_main_context_dispatch (context=context@entry=0x478020) at gmain.c:3663 #64 0x00007fffeaa10d88 in g_main_context_iterate (context=0x478020, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3734 #65 0x00007fffeaa1104a in g_main_loop_run (loop=0x8eb810) at gmain.c:3928 #66 0x00007ffff45df9dc in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59 #67 0x00007ffff2b44f82 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #68 0x00007ffff2b44de7 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:73 #69 0x0000000000400891 in main (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44
Attachments
Test case (191 bytes, text/html)
2014-12-08 04:37 PST, Renata Hodovan
no flags
patch (4.56 KB, patch)
2015-01-06 07:01 PST, Mihnea Ovidenie
no flags
patch 2 (4.74 KB, patch)
2015-01-06 08:56 PST, Mihnea Ovidenie
no flags
Mihnea Ovidenie
Comment 1 2015-01-06 07:01:13 PST
Andrei Bucur
Comment 2 2015-01-06 07:56:13 PST
Comment on attachment 244060 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=244060&action=review > LayoutTests/fast/multicol/newmulticol/block-split-inline-in-multicol.html:40 > + window.setTimeout(test, 0); You could just call document.body.offsetTop to trigger the style recalc. Also, the indentation seems to be wrong above this line. > Source/WebCore/rendering/RenderInline.cpp:420 > + cloneInline->invalidateFlowThreadContainingBlockIncludingDescendants(); Please add a small comment about why this is necessary, just like the rest of the function. A suggestion: "Clear the flow thread containing blocks cached during the detached state insertions".
Mihnea Ovidenie
Comment 3 2015-01-06 08:56:19 PST
Andrei Bucur
Comment 4 2015-01-06 09:03:45 PST
Comment on attachment 244064 [details] patch 2 r=me
WebKit Commit Bot
Comment 5 2015-01-07 00:19:41 PST
Comment on attachment 244064 [details] patch 2 Clearing flags on attachment: 244064 Committed r178025: <http://trac.webkit.org/changeset/178025>
WebKit Commit Bot
Comment 6 2015-01-07 00:19:48 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.