WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
136929
ASSERT in RenderBox::instrinsicScrollbarLogicalWidth opening the inspector
https://bugs.webkit.org/show_bug.cgi?id=136929
Summary
ASSERT in RenderBox::instrinsicScrollbarLogicalWidth opening the inspector
Joseph Pecoraro
Reported
2014-09-18 13:41:06 PDT
ASSERT in RenderBox::instrinsicScrollbarLogicalWidth opening the inspector. Could this be related to the following? There was very similar code with asserts that got removed in the change: <
https://webkit.org/b/136861
> overflow:scroll should not leave space for a scroll corner with overlay scrollbars (lldb) bt * thread #1: tid = 0x202065, 0x000000011314d3aa JavaScriptCore`WTFCrash + 42 at Assertions.cpp:334, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xbbadbeef) * frame #0: 0x000000011314d3aa JavaScriptCore`WTFCrash + 42 at Assertions.cpp:334 frame #1: 0x0000000115c1627b WebCore`WebCore::RenderBox::instrinsicScrollbarLogicalWidth(this=0x00007fa32c88fff0) const + 171 at RenderBox.cpp:767 frame #2: 0x0000000115bdb7bd WebCore`WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(this=0x00007fa32c88fff0, minLogicalWidth=0x00007fa32c890068, maxLogicalWidth=0x00007fa32c89006c) const + 893 at RenderBlockFlow.cpp:377 frame #3: 0x0000000115bb5578 WebCore`WebCore::RenderBlock::computePreferredLogicalWidths(this=0x00007fa32c88fff0) + 536 at RenderBlock.cpp:2777 frame #4: 0x0000000115c175b9 WebCore`WebCore::RenderBox::maxPreferredLogicalWidth(this=0x00007fa32c88fff0) const + 89 at RenderBox.cpp:1008 frame #5: 0x0000000115c271f1 WebCore`WebCore::RenderBox::computePositionedLogicalWidthUsing(this=0x00007fa32c88fff0, logicalWidth=<unavailable>, containerBlock=0x00007fa3466f4da0, containerDirection=LTR, containerLogicalWidth=LayoutUnit at 0x00007fff56aec0c8, bordersPlusPadding=LayoutUnit at 0x00007fff56aec0c0, logicalLeft=<unavailable>, logicalRight=<unavailable>, marginLogicalLeft=<unavailable>, marginLogicalRight=Length at 0x00007fff56aec3e0, computedValues=0x00007fff56aec830) const + 2417 at RenderBox.cpp:3500 frame #6: 0x0000000115c1f443 WebCore`WebCore::RenderBox::computePositionedLogicalWidth(this=0x00007fa32c88fff0, computedValues=0x00007fff56aec830, region=0x0000000000000000) const + 835 at RenderBox.cpp:3296 frame #7: 0x0000000115c1e486 WebCore`WebCore::RenderBox::computeLogicalWidthInRegion(this=0x00007fa32c88fff0, computedValues=0x00007fff56aec830, region=0x0000000000000000) const + 310 at RenderBox.cpp:2275 frame #8: 0x0000000115c1e2e7 WebCore`WebCore::RenderBox::updateLogicalWidth(this=0x00007fa32c88fff0) + 55 at RenderBox.cpp:2257 frame #9: 0x0000000115ba9743 WebCore`WebCore::RenderBlock::recomputeLogicalWidth(this=0x00007fa32c88fff0) + 51 at RenderBlock.cpp:1069 frame #10: 0x0000000115bdcbaf WebCore`WebCore::RenderBlockFlow::recomputeLogicalWidthAndColumnWidth(this=0x00007fa32c88fff0) + 31 at RenderBlockFlow.cpp:384 frame #11: 0x0000000115bdd64b WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa32c88fff0, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aecc08) + 235 at RenderBlockFlow.cpp:439 frame #12: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa32c88fff0) + 125 at RenderBlock.cpp:1019 frame #13: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa32c88fff0) + 60 at RenderElement.h:102 frame #14: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa3466f4da0, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #15: 0x0000000115bdde73 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa3466f4da0, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aed108) + 2323 at RenderBlockFlow.cpp:525 frame #16: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3466f4da0) + 125 at RenderBlock.cpp:1019 frame #17: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3466f4da0) + 60 at RenderElement.h:102 frame #18: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa3466f2ac0, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #19: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa3466f2ac0) + 632 at RenderBlock.cpp:1337 frame #20: 0x0000000115bdd5e9 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa3466f2ac0, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aed6b8) + 137 at RenderBlockFlow.cpp:434 frame #21: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3466f2ac0) + 125 at RenderBlock.cpp:1019 frame #22: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3466f2ac0) + 60 at RenderElement.h:102 frame #23: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa3475b0270, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #24: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa3475b0270) + 632 at RenderBlock.cpp:1337 frame #25: 0x0000000115bdd5e9 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa3475b0270, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aedc68) + 137 at RenderBlockFlow.cpp:434 frame #26: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3475b0270) + 125 at RenderBlock.cpp:1019 frame #27: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3475b0270) + 60 at RenderElement.h:102 frame #28: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa3472aad40, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #29: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa3472aad40) + 632 at RenderBlock.cpp:1337 frame #30: 0x0000000115bdd5e9 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa3472aad40, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aee218) + 137 at RenderBlockFlow.cpp:434 frame #31: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3472aad40) + 125 at RenderBlock.cpp:1019 frame #32: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3472aad40) + 60 at RenderElement.h:102 frame #33: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa3472aaaf0, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #34: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa3472aaaf0) + 632 at RenderBlock.cpp:1337 frame #35: 0x0000000115bdd5e9 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa3472aaaf0, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aee7c8) + 137 at RenderBlockFlow.cpp:434 frame #36: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3472aaaf0) + 125 at RenderBlock.cpp:1019 frame #37: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3472aaaf0) + 60 at RenderElement.h:102 frame #38: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa3472aa870, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #39: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa3472aa870) + 632 at RenderBlock.cpp:1337 frame #40: 0x0000000115bdd5e9 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa3472aa870, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aeed78) + 137 at RenderBlockFlow.cpp:434 frame #41: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3472aa870) + 125 at RenderBlock.cpp:1019 frame #42: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3472aa870) + 60 at RenderElement.h:102 frame #43: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa3472aa250, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #44: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa3472aa250) + 632 at RenderBlock.cpp:1337 frame #45: 0x0000000115bdd5e9 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa3472aa250, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56aef328) + 137 at RenderBlockFlow.cpp:434 frame #46: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3472aa250) + 125 at RenderBlock.cpp:1019 frame #47: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3472aa250) + 60 at RenderElement.h:102 frame #48: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa34720be60, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #49: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa34720be60) + 632 at RenderBlock.cpp:1337 frame #50: 0x0000000115c8057a WebCore`WebCore::RenderFlexibleBox::layoutBlock(this=0x00007fa34720be60, relayoutChildren=false, (null)=LayoutUnit at 0x00007fff56aef778) + 122 at RenderFlexibleBox.cpp:257 frame #51: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa34720be60) + 125 at RenderBlock.cpp:1019 frame #52: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa34720be60) + 60 at RenderElement.h:102 frame #53: 0x0000000115baac47 WebCore`WebCore::RenderBlock::simplifiedNormalFlowLayout(this=0x00007fa347209060) + 679 at RenderBlock.cpp:1306 frame #54: 0x0000000115baae24 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa347209060) + 420 at RenderBlock.cpp:1323 frame #55: 0x0000000115c8057a WebCore`WebCore::RenderFlexibleBox::layoutBlock(this=0x00007fa347209060, relayoutChildren=false, (null)=LayoutUnit at 0x00007fff56aefbd8) + 122 at RenderFlexibleBox.cpp:257 frame #56: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa347209060) + 125 at RenderBlock.cpp:1019 frame #57: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa347209060) + 60 at RenderElement.h:102 frame #58: 0x0000000115baac47 WebCore`WebCore::RenderBlock::simplifiedNormalFlowLayout(this=0x00007fa347208b90) + 679 at RenderBlock.cpp:1306 frame #59: 0x0000000115baae24 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa347208b90) + 420 at RenderBlock.cpp:1323 frame #60: 0x0000000115c8057a WebCore`WebCore::RenderFlexibleBox::layoutBlock(this=0x00007fa347208b90, relayoutChildren=false, (null)=LayoutUnit at 0x00007fff56af0038) + 122 at RenderFlexibleBox.cpp:257 frame #61: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa347208b90) + 125 at RenderBlock.cpp:1019 frame #62: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa347208b90) + 60 at RenderElement.h:102 frame #63: 0x0000000115baac47 WebCore`WebCore::RenderBlock::simplifiedNormalFlowLayout(this=0x00007fa3472081c0) + 679 at RenderBlock.cpp:1306 frame #64: 0x0000000115baae24 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa3472081c0) + 420 at RenderBlock.cpp:1323 frame #65: 0x0000000115c8057a WebCore`WebCore::RenderFlexibleBox::layoutBlock(this=0x00007fa3472081c0, relayoutChildren=false, (null)=LayoutUnit at 0x00007fff56af0498) + 122 at RenderFlexibleBox.cpp:257 frame #66: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa3472081c0) + 125 at RenderBlock.cpp:1019 frame #67: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa3472081c0) + 60 at RenderElement.h:102 frame #68: 0x0000000115baac47 WebCore`WebCore::RenderBlock::simplifiedNormalFlowLayout(this=0x00007fa347202b40) + 679 at RenderBlock.cpp:1306 frame #69: 0x0000000115baae24 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa347202b40) + 420 at RenderBlock.cpp:1323 frame #70: 0x0000000115c8057a WebCore`WebCore::RenderFlexibleBox::layoutBlock(this=0x00007fa347202b40, relayoutChildren=false, (null)=LayoutUnit at 0x00007fff56af08f8) + 122 at RenderFlexibleBox.cpp:257 frame #71: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa347202b40) + 125 at RenderBlock.cpp:1019 frame #72: 0x0000000114ce889c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x00007fa347202b40) + 60 at RenderElement.h:102 frame #73: 0x0000000115bab25c WebCore`WebCore::RenderBlock::layoutPositionedObjects(this=0x00007fa33dd0ab90, relayoutChildren=false, fixedPositionObjectsOnly=false) + 668 at RenderBlock.cpp:1456 frame #74: 0x0000000115baaef8 WebCore`WebCore::RenderBlock::simplifiedLayout(this=0x00007fa33dd0ab90) + 632 at RenderBlock.cpp:1337 frame #75: 0x0000000115bdd5e9 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x00007fa33dd0ab90, relayoutChildren=false, pageLogicalHeight=LayoutUnit at 0x00007fff56af0e18) + 137 at RenderBlockFlow.cpp:434 frame #76: 0x0000000115ba957d WebCore`WebCore::RenderBlock::layout(this=0x00007fa33dd0ab90) + 125 at RenderBlock.cpp:1019 frame #77: 0x0000000115ec357d WebCore`WebCore::RenderView::layoutContent(this=0x00007fa33dd0ab90, state=0x00007fa32c891ef0) + 93 at RenderView.cpp:230 frame #78: 0x0000000115ec43e1 WebCore`WebCore::RenderView::layout(this=0x00007fa33dd0ab90) + 1873 at RenderView.cpp:355 frame #79: 0x0000000114e1b604 WebCore`WebCore::FrameView::layout(this=0x00007fa341807a00, allowSubtree=true) + 3220 at FrameView.cpp:1301 frame #80: 0x0000000114a7cd2d WebCore`WebCore::Document::updateLayout(this=0x00007fa341802600) + 349 at Document.cpp:1821 frame #81: 0x0000000114a80222 WebCore`WebCore::Document::updateLayoutIgnorePendingStylesheets(this=0x00007fa341802600, runPostLayoutTasks=Asynchronously) + 210 at Document.cpp:1853 frame #82: 0x0000000114c1f8dc WebCore`WebCore::Element::clientHeight(this=0x00007fa34728e6a0) + 44 at Element.cpp:776 frame #83: 0x000000011544e20c WebCore`WebCore::jsElementClientHeight(exec=0x00007fff56af1880, slotBase=0x000000011dfff740, thisValue=4798395408, (null)=PropertyName at 0x00007fff56af1580) + 204 at JSElement.cpp:734 frame #84: 0x00000001128d44d8 JavaScriptCore`JSC::PropertySlot::getValue(this=0x00007fff56af1750, exec=0x00007fff56af1880, propertyName=PropertyName at 0x00007fff56af15e0) const + 184 at PropertySlot.h:255 frame #85: 0x00000001128f7da7 JavaScriptCore`JSC::JSValue::get(this=0x00007fff56af1788, exec=0x00007fff56af1880, propertyName=PropertyName at 0x00007fff56af1650, slot=0x00007fff56af1750) const + 295 at JSCJSValueInlines.h:696 frame #86: 0x0000000112f11d71 JavaScriptCore`llint_slow_path_get_by_id(exec=0x00007fff56af1880, pc=0x00007fa33e2f7dc0) + 241 at LLIntSlowPaths.cpp:578 ...
Attachments
Patch
(2.26 KB, patch)
2014-09-18 14:22 PDT
,
Beth Dakin
simon.fraser
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Beth Dakin
Comment 1
2014-09-18 14:22:52 PDT
Created
attachment 238323
[details]
Patch
Simon Fraser (smfr)
Comment 2
2014-09-18 14:32:12 PDT
Comment on
attachment 238323
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=238323&action=review
> Source/WebCore/ChangeLog:14 > + change, overflow:scroll elements would always, universally create scrollbars > + regardless of whether or not there was content to scroll to. But that was a very > + silly thing to do in the overlay scrollbar case, so we stopped doing it, and > + reaped various benefits outlined in that bug as a result. This code is wrong in > + our brave new world because it assumes that overflow:scroll will always have a > + scrollbar. That is no longer the case. We need to check to make sure itâs an
I think you could say less about what
r173668
did.
Beth Dakin
Comment 3
2014-09-18 14:38:14 PDT
Thanks Simon!
http://trac.webkit.org/changeset/173734
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