Bug 136364 - ASSERTION FAILED: computedBreadth != infinity in WebCore::RenderGrid::computeUsedBreadthOfMaxLength
Summary: ASSERTION FAILED: computedBreadth != infinity in WebCore::RenderGrid::compute...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 116980
  Show dependency treegraph
 
Reported: 2014-08-29 04:39 PDT by Renata Hodovan
Modified: 2015-01-29 07:04 PST (History)
3 users (show)

See Also:


Attachments
Test case (119 bytes, text/html)
2014-08-29 04:39 PDT, Renata Hodovan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Renata Hodovan 2014-08-29 04:39:33 PDT
Created attachment 237342 [details]
Test case

the test case to reproduce:

<style>
* {
    display: -webkit-inline-grid;
    -webkit-grid-auto-rows: minmax(-webkit-min-content, 100%);
}
</style>

ASSERTION FAILED: computedBreadth != infinity
/home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderGrid.cpp(407) : WebCore::LayoutUnit WebCore::RenderGrid::computeUsedBreadthOfMaxLength(WebCore::GridTrackSizingDirection, const WebCore::GridLength&, WebCore::LayoutUnit) const
1   0x7ffff3ef343b WTFCrash
2   0x7ffff2faab46 WebCore::RenderGrid::computeUsedBreadthOfMaxLength(WebCore::GridTrackSizingDirection, WebCore::GridLength const&, WebCore::LayoutUnit) const
3   0x7ffff2faa0b3 WebCore::RenderGrid::computeUsedBreadthOfGridTracks(WebCore::GridTrackSizingDirection, WebCore::RenderGrid::GridSizingData&, WebCore::LayoutUnit&)
4   0x7ffff2fa9f47 WebCore::RenderGrid::computeUsedBreadthOfGridTracks(WebCore::GridTrackSizingDirection, WebCore::RenderGrid::GridSizingData&)
5   0x7ffff2fad8c1 WebCore::RenderGrid::layoutGridItems()
6   0x7ffff2fa9b06 WebCore::RenderGrid::layoutBlock(bool, WebCore::LayoutUnit)
7   0x7ffff2ed25af WebCore::RenderBlock::layout()
8   0x7ffff2f00790 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
9   0x7ffff2f002b1 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
10  0x7ffff2eff6ce WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
11  0x7ffff2ed25af WebCore::RenderBlock::layout()
12  0x7ffff30bd207 WebCore::RenderView::layoutContent(WebCore::LayoutState const&)
13  0x7ffff30bd8d7 WebCore::RenderView::layout()
14  0x7ffff2cfd2e5 WebCore::FrameView::layout(bool)
15  0x7ffff27e806b WebCore::Document::implicitClose()
16  0x7ffff2bc4749 WebCore::FrameLoader::checkCallImplicitClose()
17  0x7ffff2bc44b1 WebCore::FrameLoader::checkCompleted()
18  0x7ffff2bc421a WebCore::FrameLoader::finishedParsing()
19  0x7ffff27f0aed WebCore::Document::finishedParsing()
20  0x7ffff39011b9 WebCore::HTMLConstructionSite::finishedParsing()
21  0x7ffff2adf389 WebCore::HTMLTreeBuilder::finished()
22  0x7ffff2ab1028 WebCore::HTMLDocumentParser::end()
23  0x7ffff2ab1113 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd()
24  0x7ffff2aafac9 WebCore::HTMLDocumentParser::prepareToStopParsing()
25  0x7ffff2ab1156 WebCore::HTMLDocumentParser::attemptToEnd()
26  0x7ffff2ab120d WebCore::HTMLDocumentParser::finish()
27  0x7ffff2bb5911 WebCore::DocumentWriter::end()
28  0x7ffff2ba0ea7 WebCore::DocumentLoader::finishedLoading(double)
29  0x7ffff2ba0c10 WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*)
30  0x7ffff2c54952 WebCore::CachedResource::checkNotify()
31  0x7ffff2c54a5c WebCore::CachedResource::finishLoading(WebCore::ResourceBuffer*)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff91255700 (LWP 14387)]
0x00007ffff3ef3440 in WTFCrash () at /home/reni/data/REPOS/webkit_sec/Source/WTF/wtf/Assertions.cpp:329
329	    *(int *)(uintptr_t)0xbbadbeef = 0;
#0  0x00007ffff3ef3440 in WTFCrash () at /home/reni/data/REPOS/webkit_sec/Source/WTF/wtf/Assertions.cpp:329
#1  0x00007ffff2faab46 in WebCore::RenderGrid::computeUsedBreadthOfMaxLength (this=0x6e1ad0, direction=WebCore::ForRows, gridLength=..., usedBreadth=...) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderGrid.cpp:407
#2  0x00007ffff2faa0b3 in WebCore::RenderGrid::computeUsedBreadthOfGridTracks (this=0x6e1ad0, direction=WebCore::ForRows, sizingData=..., availableLogicalSpace=...) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderGrid.cpp:308
#3  0x00007ffff2fa9f47 in WebCore::RenderGrid::computeUsedBreadthOfGridTracks (this=0x6e1ad0, direction=WebCore::ForRows, sizingData=...) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderGrid.cpp:286
#4  0x00007ffff2fad8c1 in WebCore::RenderGrid::layoutGridItems (this=0x6e1ad0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderGrid.cpp:850
#5  0x00007ffff2fa9b06 in WebCore::RenderGrid::layoutBlock (this=0x6e1ad0, relayoutChildren=false) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderGrid.cpp:218
#6  0x00007ffff2ed25af in WebCore::RenderBlock::layout (this=0x6e1ad0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderBlock.cpp:1019
#7  0x00007ffff2f00790 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x700de0, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderBlockFlow.cpp:711
#8  0x00007ffff2f002b1 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x700de0, relayoutChildren=true, maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderBlockFlow.cpp:632
#9  0x00007ffff2eff6ce in WebCore::RenderBlockFlow::layoutBlock (this=0x700de0, relayoutChildren=true, pageLogicalHeight=...) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderBlockFlow.cpp:485
#10 0x00007ffff2ed25af in WebCore::RenderBlock::layout (this=0x700de0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderBlock.cpp:1019
#11 0x00007ffff30bd207 in WebCore::RenderView::layoutContent (this=0x700de0, state=...) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderView.cpp:232
#12 0x00007ffff30bd8d7 in WebCore::RenderView::layout (this=0x700de0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/rendering/RenderView.cpp:357
#13 0x00007ffff2cfd2e5 in WebCore::FrameView::layout (this=0x75fa00, allowSubtree=true) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/page/FrameView.cpp:1301
#14 0x00007ffff27e806b in WebCore::Document::implicitClose (this=0x70f2b0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/dom/Document.cpp:2440
#15 0x00007ffff2bc4749 in WebCore::FrameLoader::checkCallImplicitClose (this=0x6cfe18) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:898
#16 0x00007ffff2bc44b1 in WebCore::FrameLoader::checkCompleted (this=0x6cfe18) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:844
#17 0x00007ffff2bc421a in WebCore::FrameLoader::finishedParsing (this=0x6cfe18) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:764
#18 0x00007ffff27f0aed in WebCore::Document::finishedParsing (this=0x70f2b0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/dom/Document.cpp:4523
#19 0x00007ffff39011b9 in WebCore::HTMLConstructionSite::finishedParsing (this=0x707098) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLConstructionSite.cpp:395
#20 0x00007ffff2adf389 in WebCore::HTMLTreeBuilder::finished (this=0x707080) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2997
#21 0x00007ffff2ab1028 in WebCore::HTMLDocumentParser::end (this=0x70ea80) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:451
#22 0x00007ffff2ab1113 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x70ea80) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:462
#23 0x00007ffff2aafac9 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x70ea80) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:165
#24 0x00007ffff2ab1156 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x70ea80) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:474
#25 0x00007ffff2ab120d in WebCore::HTMLDocumentParser::finish (this=0x70ea80) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:502
#26 0x00007ffff2bb5911 in WebCore::DocumentWriter::end (this=0x783de0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/DocumentWriter.cpp:250
#27 0x00007ffff2ba0ea7 in WebCore::DocumentLoader::finishedLoading (this=0x783d40, finishTime=0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:441
#28 0x00007ffff2ba0c10 in WebCore::DocumentLoader::notifyFinished (this=0x783d40, resource=0x79ebf0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:375
#29 0x00007ffff2c54952 in WebCore::CachedResource::checkNotify (this=0x79ebf0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:333
#30 0x00007ffff2c54a5c in WebCore::CachedResource::finishLoading (this=0x79ebf0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:349
#31 0x00007ffff2c5138a in WebCore::CachedRawResource::finishLoading (this=0x79ebf0, data=0x6c2e10) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedRawResource.cpp:101
#32 0x00007ffff2c0452c in WebCore::SubresourceLoader::didFinishLoading (this=0x79f150, finishTime=0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/SubresourceLoader.cpp:306
#33 0x00007ffff2c001bb in WebCore::ResourceLoader::didFinishLoading (this=0x79f150, finishTime=0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/loader/ResourceLoader.cpp:512
#34 0x00007ffff339390d in WebCore::readCallback (asyncResult=0x7a31f0, data=0x79f7d0) at /home/reni/data/REPOS/webkit_sec/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1302
#35 0x00007fffeb3c1816 in async_ready_callback_wrapper (source_object=0x6c4db0, res=0x7a31f0, user_data=user_data@entry=0x79f7d0) at ginputstream.c:523
#36 0x00007fffeb3e7115 in g_task_return_now (task=0x7a31f0) at gtask.c:1077
#37 0x00007fffeb3e7139 in complete_in_idle_cb (task=0x7a31f0) at gtask.c:1086
#38 0x00007fffeae23a7d in g_main_dispatch (context=0x6bc390) at gmain.c:3064
#39 g_main_context_dispatch (context=context@entry=0x6bc390) at gmain.c:3663
#40 0x00007fffec6875e0 in _ecore_glib_select__locked (ecore_timeout=<optimized out>, efds=<optimized out>, wfds=0x7fffffffd5d0, rfds=0x7fffffffd550, ecore_fds=10, ctx=<optimized out>) at lib/ecore/ecore_glib.c:172
#41 _ecore_glib_select (ecore_fds=10, rfds=0x7fffffffd550, wfds=0x7fffffffd5d0, efds=<optimized out>, ecore_timeout=<optimized out>) at lib/ecore/ecore_glib.c:204
#42 0x00007fffec689ff4 in _ecore_main_select (timeout=<optimized out>) at lib/ecore/ecore_main.c:1579
#43 0x00007fffec68a995 in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2005
#44 0x00007fffec68aa57 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1042
#45 0x00007ffff3f38db5 in WTF::RunLoop::run () at /home/reni/data/REPOS/webkit_sec/Source/WTF/wtf/efl/RunLoopEfl.cpp:51
#46 0x00007ffff207062a in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffda78) at /home/reni/data/REPOS/webkit_sec/Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#47 0x00007ffff2070408 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffda78) at /home/reni/data/REPOS/webkit_sec/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:124
#48 0x000000000040084d in main (argc=2, argv=0x7fffffffda78) at /home/reni/data/REPOS/webkit_sec/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:32
Comment 1 Sergio Villar Senin 2014-09-01 02:33:28 PDT
Thanks for the report. Taking a look...
Comment 2 Sergio Villar Senin 2014-09-01 08:25:00 PDT
I was planing to upload a fix for the handling of percentages of indefinite sizes inside minmax() but haven't had time. That patch fixes this ASSERT. I'll upload it ASAP.
Comment 3 Renata Hodovan 2015-01-29 06:48:19 PST
(In reply to comment #2)
> I was planing to upload a fix for the handling of percentages of indefinite
> sizes inside minmax() but haven't had time. That patch fixes this ASSERT.
> I'll upload it ASAP.

It seems to be fixed now. Can we close this?
Comment 4 Sergio Villar Senin 2015-01-29 07:04:53 PST
Definitely