Summary: | [GTK]ASSERTION FAILED: resolvedMainSize >= 0 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Renata Hodovan <rhodovan.u-szeged> | ||||
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | REOPENED --- | ||||||
Severity: | Normal | CC: | ahmad.saleem792, bfulgham, darin, mcatanzaro, svillar | ||||
Priority: | P2 | ||||||
Version: | WebKit Local Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 116980 | ||||||
Attachments: |
|
This problem does not reproduce under r204037. If you believe there is still a problem, please reopen this bug and provide a revised test case. Using the attached test case the issue still seems valid in r204165 with debug EFL and GTK builds. Seems peculiar that this would be platform dependent. When someone finds a fix I would like to understand why the platform difference exists. Similar assertion was fixed in this commit by Blink: https://chromium.googlesource.com/chromium/src.git/+/a66aa95b886d50d216f74b82d85b050b1b24b756 |
Created attachment 264929 [details] Test Load the attached test with debug MiniBrowser: <style> desc, #id_2, .class_0, *, .class_0 { -webkit-background-composite: source-out; -webkit-margin-bottom-collapse: collapse !important; overflow-x: scroll; box-sizing: content-box; @keyframes animation_7 {}; word-wrap: break-word; color-rendering: optimizeSpeed; display: flex; will-change:contents; } </style> −06j3Pϖc4ms <progress> OS: Ubuntu 15.04 x86_64 Checked build: debug EFL Checked version: babd346 Backtrace: ASSERTION FAILED: resolvedMainSize >= 0 ../../Source/WebCore/rendering/RenderFlexibleBox.cpp(879) : WebCore::LayoutUnit WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax(WebCore::RenderBox&, WebCore::LayoutUnit) 1 0x7fa03072ebb5 WTFCrash 2 0x7fa037074209 WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax(WebCore::RenderBox&, WebCore::LayoutUnit) 3 0x7fa0370746e6 WebCore::RenderFlexibleBox::computeNextFlexLine(WTF::Vector<WebCore::RenderBox*, 0ul, WTF::CrashOnOverflow, 16ul>&, WebCore::LayoutUnit&, double&, double&, WebCore::LayoutUnit&, bool&) 4 0x7fa0370731eb WebCore::RenderFlexibleBox::layoutFlexItems(bool, WTF::Vector<WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul>&) 5 0x7fa0370712bb WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit) 6 0x7fa036fae46e WebCore::RenderBlock::layout() 7 0x7fa036f81939 WebCore::RenderElement::layoutIfNeeded() 8 0x7fa037075948 WebCore::RenderFlexibleBox::layoutAndPlaceChildren(WebCore::LayoutUnit&, WTF::Vector<WebCore::RenderBox*, 0ul, WTF::CrashOnOverflow, 16ul> const&, WTF::Vector<WebCore::LayoutUnit, 0ul, WTF::CrashOnOverflow, 16ul> const&, WebCore::LayoutUnit, bool, WTF::Vector<WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul>&) 9 0x7fa03707319a WebCore::RenderFlexibleBox::layoutFlexItems(bool, WTF::Vector<WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul>&) 10 0x7fa0370712bb WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit) 11 0x7fa036fae46e WebCore::RenderBlock::layout() 12 0x7fa036f81939 WebCore::RenderElement::layoutIfNeeded() 13 0x7fa037075948 WebCore::RenderFlexibleBox::layoutAndPlaceChildren(WebCore::LayoutUnit&, WTF::Vector<WebCore::RenderBox*, 0ul, WTF::CrashOnOverflow, 16ul> const&, WTF::Vector<WebCore::LayoutUnit, 0ul, WTF::CrashOnOverflow, 16ul> const&, WebCore::LayoutUnit, bool, WTF::Vector<WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul>&) 14 0x7fa03707319a WebCore::RenderFlexibleBox::layoutFlexItems(bool, WTF::Vector<WebCore::RenderFlexibleBox::LineContext, 0ul, WTF::CrashOnOverflow, 16ul>&) 15 0x7fa0370712bb WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit) 16 0x7fa036fae46e WebCore::RenderBlock::layout() 17 0x7fa036fdcd7e WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&) 18 0x7fa036fdc8bd WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&) 19 0x7fa036fdbd21 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) 20 0x7fa036fae46e WebCore::RenderBlock::layout() 21 0x7fa0371bf63f WebCore::RenderView::layoutContent(WebCore::LayoutState const&) 22 0x7fa0371bfd32 WebCore::RenderView::layout() 23 0x7fa036d9375d WebCore::FrameView::layout(bool) 24 0x7fa0367f530a WebCore::Document::implicitClose() 25 0x7fa036c5703b WebCore::FrameLoader::checkCallImplicitClose() 26 0x7fa036c56d72 WebCore::FrameLoader::checkCompleted() 27 0x7fa036c56ae2 WebCore::FrameLoader::finishedParsing() 28 0x7fa0367ff33a WebCore::Document::finishedParsing() 29 0x7fa037b55033 WebCore::HTMLConstructionSite::finishedParsing() 30 0x7fa036b4e8b2 WebCore::HTMLTreeBuilder::finished() 31 0x7fa036b1ee66 WebCore::HTMLDocumentParser::end() Aborted (core dumped) Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007fa03072ebba in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321 321 *(int *)(uintptr_t)0xbbadbeef = 0; #0 0x00007fa03072ebba in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321 #1 0x00007fa037074209 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax (this=0x7fa013bbf7d0, child=..., childSize=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:879 #2 0x00007fa0370746e6 in WebCore::RenderFlexibleBox::computeNextFlexLine (this=0x7fa013bbf7d0, orderedChildren=..., preferredMainAxisExtent=..., totalFlexGrow=@0x7ffe1557f300: 0, totalWeightedFlexShrink=@0x7ffe1557f308: -1.875, minMaxAppliedMainAxisExtent=..., hasInfiniteLineLength=@0x7ffe1557f2af: false) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:922 #3 0x00007fa0370731eb in WebCore::RenderFlexibleBox::layoutFlexItems (this=0x7fa013bbf7d0, relayoutChildren=true, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:695 #4 0x00007fa0370712bb in WebCore::RenderFlexibleBox::layoutBlock (this=0x7fa013bbf7d0, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:272 #5 0x00007fa036fae46e in WebCore::RenderBlock::layout (this=0x7fa013bbf7d0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #6 0x00007fa036f81939 in WebCore::RenderElement::layoutIfNeeded (this=0x7fa013bbf7d0) at ../../Source/WebCore/rendering/RenderElement.h:135 #7 0x00007fa037075948 in WebCore::RenderFlexibleBox::layoutAndPlaceChildren (this=0x7fa013bbf708, crossAxisOffset=..., children=..., childSizes=..., availableFreeSpace=..., relayoutChildren=true, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:1128 #8 0x00007fa03707319a in WebCore::RenderFlexibleBox::layoutFlexItems (this=0x7fa013bbf708, relayoutChildren=true, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:705 #9 0x00007fa0370712bb in WebCore::RenderFlexibleBox::layoutBlock (this=0x7fa013bbf708, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:272 #10 0x00007fa036fae46e in WebCore::RenderBlock::layout (this=0x7fa013bbf708) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #11 0x00007fa036f81939 in WebCore::RenderElement::layoutIfNeeded (this=0x7fa013bbf708) at ../../Source/WebCore/rendering/RenderElement.h:135 #12 0x00007fa037075948 in WebCore::RenderFlexibleBox::layoutAndPlaceChildren (this=0x7fa013bbf258, crossAxisOffset=..., children=..., childSizes=..., availableFreeSpace=..., relayoutChildren=true, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:1128 #13 0x00007fa03707319a in WebCore::RenderFlexibleBox::layoutFlexItems (this=0x7fa013bbf258, relayoutChildren=true, lineContexts=...) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:705 #14 0x00007fa0370712bb in WebCore::RenderFlexibleBox::layoutBlock (this=0x7fa013bbf258, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderFlexibleBox.cpp:272 #15 0x00007fa036fae46e in WebCore::RenderBlock::layout (this=0x7fa013bbf258) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #16 0x00007fa036fdcd7e in WebCore::RenderBlockFlow::layoutBlockChild (this=0x7fa013ade228, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:709 #17 0x00007fa036fdc8bd in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x7fa013ade228, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:632 #18 0x00007fa036fdbd21 in WebCore::RenderBlockFlow::layoutBlock (this=0x7fa013ade228, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:485 #19 0x00007fa036fae46e in WebCore::RenderBlock::layout (this=0x7fa013ade228) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #20 0x00007fa0371bf63f in WebCore::RenderView::layoutContent (this=0x7fa013ade228, state=...) at ../../Source/WebCore/rendering/RenderView.cpp:253 #21 0x00007fa0371bfd32 in WebCore::RenderView::layout (this=0x7fa013ade228) at ../../Source/WebCore/rendering/RenderView.cpp:378 #22 0x00007fa036d9375d in WebCore::FrameView::layout (this=0x7fa01380c000, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1414 #23 0x00007fa0367f530a in WebCore::Document::implicitClose (this=0x7fa013836000) at ../../Source/WebCore/dom/Document.cpp:2704 #24 0x00007fa036c5703b in WebCore::FrameLoader::checkCallImplicitClose (this=0x7fa013ae4098) at ../../Source/WebCore/loader/FrameLoader.cpp:889 #25 0x00007fa036c56d72 in WebCore::FrameLoader::checkCompleted (this=0x7fa013ae4098) at ../../Source/WebCore/loader/FrameLoader.cpp:835 #26 0x00007fa036c56ae2 in WebCore::FrameLoader::finishedParsing (this=0x7fa013ae4098) at ../../Source/WebCore/loader/FrameLoader.cpp:756 #27 0x00007fa0367ff33a in WebCore::Document::finishedParsing (this=0x7fa013836000) at ../../Source/WebCore/dom/Document.cpp:4897 #28 0x00007fa037b55033 in WebCore::HTMLConstructionSite::finishedParsing (this=0x7fa013afe6e0) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:403 #29 0x00007fa036b4e8b2 in WebCore::HTMLTreeBuilder::finished (this=0x7fa013afe6c0) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2937 #30 0x00007fa036b1ee66 in WebCore::HTMLDocumentParser::end (this=0x7fa01382e000) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:402 #31 0x00007fa036b1ef3f in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x7fa01382e000) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:411 #32 0x00007fa036b1db51 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x7fa01382e000) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:132 #33 0x00007fa036b1ef82 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x7fa01382e000) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:423 #34 0x00007fa036b1f039 in WebCore::HTMLDocumentParser::finish (this=0x7fa01382e000) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:451 #35 0x00007fa036c42160 in WebCore::DocumentWriter::end (this=0x7fa013825a60) at ../../Source/WebCore/loader/DocumentWriter.cpp:247 #36 0x00007fa036c2ba36 in WebCore::DocumentLoader::finishedLoading (this=0x7fa0138259c0, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:437 #37 0x00007fa036c2b794 in WebCore::DocumentLoader::notifyFinished (this=0x7fa0138259c0, resource=0x7fa013837980) at ../../Source/WebCore/loader/DocumentLoader.cpp:384 #38 0x00007fa036cd6989 in WebCore::CachedResource::checkNotify (this=0x7fa013837980) at ../../Source/WebCore/loader/cache/CachedResource.cpp:297 #39 0x00007fa036cd6a98 in WebCore::CachedResource::finishLoading (this=0x7fa013837980) at ../../Source/WebCore/loader/cache/CachedResource.cpp:313 #40 0x00007fa036cd2c8c in WebCore::CachedRawResource::finishLoading (this=0x7fa013837980, data=0x7fa013bbc700) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:103 #41 0x00007fa036c9b688 in WebCore::SubresourceLoader::didFinishLoading (this=0x7fa01383f000, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:372 #42 0x00007fa036c96167 in WebCore::ResourceLoader::didFinishLoading (this=0x7fa01383f000, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:638 #43 0x00007fa037481556 in WebCore::readCallback (asyncResult=0x10a09e0, data=0x7fa013bbd680) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1341 #44 0x00007fa02cd1b5b6 in async_ready_callback_wrapper (source_object=0xff95b0, res=0x10a09e0, user_data=0x7fa013bbd680) at ginputstream.c:523 #45 0x00007fa02cd41b84 in g_task_return_now (task=0x10a09e0) at gtask.c:1077 #46 0x00007fa02cd41ba9 in complete_in_idle_cb (task=0x10a09e0) at gtask.c:1086 #47 0x00007fa02c779add in g_main_dispatch (context=0xff38d0) at gmain.c:3064 #48 g_main_context_dispatch (context=context@entry=0xff38d0) at gmain.c:3663 #49 0x00007fa02e0e5e58 in _ecore_glib_select__locked (ecore_timeout=<optimized out>, efds=0x7ffe15580df0, wfds=0x7ffe15580d70, rfds=0x7ffe15580cf0, ecore_fds=<optimized out>, ctx=<optimized out>) at lib/ecore/ecore_glib.c:172 #50 _ecore_glib_select (ecore_fds=<optimized out>, rfds=0x7ffe15580cf0, wfds=0x7ffe15580d70, efds=0x7ffe15580df0, ecore_timeout=<optimized out>) at lib/ecore/ecore_glib.c:204 #51 0x00007fa02e0e94a4 in _ecore_main_select (timeout=9.532824124368238e-130) at lib/ecore/ecore_main.c:1459 #52 0x00007fa02e0e9ed4 in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:1893 #53 0x00007fa02e0e9fc7 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:983 #54 0x00007fa030789aab in WTF::RunLoop::run () at ../../Source/WTF/wtf/efl/RunLoopEfl.cpp:49 #55 0x00007fa036579bcb in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7ffe15581228) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #56 0x00007fa0365797d9 in WebKit::WebProcessMainUnix (argc=2, argv=0x7ffe15581228) at ../../Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:161 #57 0x00000000004008ea in main (argc=2, argv=0x7ffe15581228) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44