WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
Bug 139392
ASSERTION FAILED: !isCalculated() in WebCore::Length::value
https://bugs.webkit.org/show_bug.cgi?id=139392
Summary
ASSERTION FAILED: !isCalculated() in WebCore::Length::value
Renata Hodovan
Reported
2014-12-08 05:33:30 PST
Created
attachment 242804
[details]
Test case The failing test: <!DOCTYPE html> <table> <td style="width: calc(100% + 100px);"></td> </table> Backtrace: ASSERTION FAILED: !isCalculated() ../../Source/WebCore/platform/Length.h(244) : float WebCore::Length::value() const Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff98927700 (LWP 9861)] 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 0x00007ffff2d09fe2 in WebCore::Length::value (this=0x7fffffffb920) at ../../Source/WebCore/platform/Length.h:244 #2 0x00007ffff38e3a88 in WebCore::AutoTableLayout::recalcColumn (this=0x70a750, effCol=0) at ../../Source/WebCore/rendering/AutoTableLayout.cpp:88 #3 0x00007ffff38e42ed in WebCore::AutoTableLayout::fullRecalc (this=0x70a750) at ../../Source/WebCore/rendering/AutoTableLayout.cpp:180 #4 0x00007ffff38e45ed in WebCore::AutoTableLayout::computeIntrinsicLogicalWidths (this=0x70a750, minWidth=..., maxWidth=...) at ../../Source/WebCore/rendering/AutoTableLayout.cpp:215 #5 0x00007ffff3ae8e27 in WebCore::RenderTable::computeIntrinsicLogicalWidths (this=0x63f040, minWidth=..., maxWidth=...) at ../../Source/WebCore/rendering/RenderTable.cpp:765 #6 0x00007ffff3ae8e8d in WebCore::RenderTable::computePreferredLogicalWidths (this=0x63f040) at ../../Source/WebCore/rendering/RenderTable.cpp:774 #7 0x00007ffff399189a in WebCore::RenderBox::maxPreferredLogicalWidth (this=0x63f040) at ../../Source/WebCore/rendering/RenderBox.cpp:1010 #8 0x00007ffff3ae5bb4 in WebCore::RenderTable::updateLogicalWidth (this=0x63f040) at ../../Source/WebCore/rendering/RenderTable.cpp:304 #9 0x00007ffff3ae6b81 in WebCore::RenderTable::layout (this=0x63f040) at ../../Source/WebCore/rendering/RenderTable.cpp:441 #10 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x7126a0, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699 #11 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x7126a0, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620 #12 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x7126a0, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #13 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x7126a0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #14 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x7125d0, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699 #15 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x7125d0, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620 #16 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x7125d0, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #17 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x7125d0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #18 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x790830, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699 #19 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x790830, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620 #20 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x790830, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473 #21 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x790830) at ../../Source/WebCore/rendering/RenderBlock.cpp:931 #22 0x00007ffff3b2e84d in WebCore::RenderView::layoutContent (this=0x790830, state=...) at ../../Source/WebCore/rendering/RenderView.cpp:232 #23 0x00007ffff3b2ef1d in WebCore::RenderView::layout (this=0x790830) at ../../Source/WebCore/rendering/RenderView.cpp:357 #24 0x00007ffff369c389 in WebCore::FrameView::layout (this=0x78db30, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1313 #25 0x00007ffff3067dc5 in WebCore::Document::implicitClose (this=0x843b20) at ../../Source/WebCore/dom/Document.cpp:2486 #26 0x00007ffff3547a0d in WebCore::FrameLoader::checkCallImplicitClose (this=0x602258) at ../../Source/WebCore/loader/FrameLoader.cpp:898 #27 0x00007ffff3547779 in WebCore::FrameLoader::checkCompleted (this=0x602258) at ../../Source/WebCore/loader/FrameLoader.cpp:844 #28 0x00007ffff35474e2 in WebCore::FrameLoader::finishedParsing (this=0x602258) at ../../Source/WebCore/loader/FrameLoader.cpp:764 #29 0x00007ffff3070c99 in WebCore::Document::finishedParsing (this=0x843b20) at ../../Source/WebCore/dom/Document.cpp:4615 #30 0x00007ffff33c6039 in WebCore::HTMLConstructionSite::finishedParsing (this=0x78f628) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:395 #31 0x00007ffff3403a33 in WebCore::HTMLTreeBuilder::finished (this=0x78f610) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:3009 #32 0x00007ffff33ced4e in WebCore::HTMLDocumentParser::end (this=0x695350) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:439 #33 0x00007ffff33cee39 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x695350) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:450 #34 0x00007ffff33cd8e7 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x695350) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:165 #35 0x00007ffff33cee7c in WebCore::HTMLDocumentParser::attemptToEnd (this=0x695350) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:462 #36 0x00007ffff33cef33 in WebCore::HTMLDocumentParser::finish (this=0x695350) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:490 #37 0x00007ffff3538b7f in WebCore::DocumentWriter::end (this=0x6ff480) at ../../Source/WebCore/loader/DocumentWriter.cpp:246 #38 0x00007ffff35248db in WebCore::DocumentLoader::finishedLoading (this=0x6ff3e0, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:440 #39 0x00007ffff3524644 in WebCore::DocumentLoader::notifyFinished (this=0x6ff3e0, resource=0x59dd50) at ../../Source/WebCore/loader/DocumentLoader.cpp:374 #40 0x00007ffff35d5370 in WebCore::CachedResource::checkNotify (this=0x59dd50) at ../../Source/WebCore/loader/cache/CachedResource.cpp:293 #41 0x00007ffff35d546e in WebCore::CachedResource::finishLoading (this=0x59dd50) at ../../Source/WebCore/loader/cache/CachedResource.cpp:309 #42 0x00007ffff35d1b63 in WebCore::CachedRawResource::finishLoading (this=0x59dd50, data=0x789c80) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:104 #43 0x00007ffff358594c in WebCore::SubresourceLoader::didFinishLoading (this=0x59e400, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:306 #44 0x00007ffff35816e1 in WebCore::ResourceLoader::didFinishLoading (this=0x59e400, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:508 #45 0x00007ffff3f303e1 in WebCore::readCallback (asyncResult=0x7891d0, data=0x59ea90) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1300 #46 0x00007fffeb7ab7d6 in async_ready_callback_wrapper (source_object=0x7c66d0, res=0x7891d0, user_data=user_data@entry=0x59ea90) at ginputstream.c:523 #47 0x00007fffeb7d10d5 in g_task_return_now (task=0x7891d0) at gtask.c:1077 #48 0x00007fffeb7d10f9 in complete_in_idle_cb (task=0x7891d0) at gtask.c:1086 #49 0x00007fffeaa10a1d in g_main_dispatch (context=0x4780a0) at gmain.c:3064 #50 g_main_context_dispatch (context=context@entry=0x4780a0) at gmain.c:3663 #51 0x00007fffeaa10d88 in g_main_context_iterate (context=0x4780a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3734 #52 0x00007fffeaa1104a in g_main_loop_run (loop=0x8eb810) at gmain.c:3928 #53 0x00007ffff45df9dc in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59 #54 0x00007ffff2b44f82 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61 #55 0x00007ffff2b44de7 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:73 #56 0x0000000000400891 in main (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44
Attachments
Test case
(81 bytes, text/html)
2014-12-08 05:33 PST
,
Renata Hodovan
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Darin Adler
Comment 1
2014-12-09 09:04:52 PST
Chris Dumez has been tackling bugs like this one.
Chris Dumez
Comment 2
2014-12-09 10:19:11 PST
Yes, I am working on those. There are unfortunately a lot of places where we don't handle calculated values properly and end up hitting assertions.
Brent Fulgham
Comment 3
2016-08-04 11:49:24 PDT
Reproduces in
r204037
.
Radar WebKit Bug Importer
Comment 4
2016-08-04 11:49:50 PDT
<
rdar://problem/27704140
>
Renata Hodovan
Comment 5
2018-11-18 00:59:00 PST
Reproduces in
r238359
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug