Bug 233200

Summary: REGRESSION: [iOS] ASSERTION FAILED: initialLogicalWidth >= 0 in WebCore::Layout::InlineLayoutUnit WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes()
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: bfulgham, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
test reduction none

Description Ryan Haddad 2021-11-16 10:24:20 PST
TestWebKitAPI.AppPrivacyReport.WebProcessPluginTestAppInitiated and TestWebKitAPI.AppPrivacyReport.WebProcessPluginTestNonAppInitiated are asserting on iOS debug bots:

        ASSERTION FAILED: initialLogicalWidth >= 0
        ./layout/formattingContexts/inline/InlineLineBoxBuilder.cpp(332) : WebCore::Layout::InlineLayoutUnit WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes(WebCore::Layout::LineBox &, const Line::RunList &, size_t)
        1   0x7cf2a8789 WTFCrash
        2   0x7f53f401b WTFCrashWithInfo(int, char const*, char const*, int)
        3   0x7f91ccb0a WebCore::Layout::LineBoxBuilder::constructAndAlignInlineLevelBoxes(WebCore::Layout::LineBox&, WTF::Vector<WebCore::Layout::Line::Run, 10ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, unsigned long)
        4   0x7f91cbe85 WebCore::Layout::LineBoxBuilder::build(WebCore::Layout::LineBuilder::LineContent const&, unsigned long)
        5   0x7f91ae686 WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent(WebCore::Layout::LineBuilder::LineContent const&)
        6   0x7f91ad9c4 WebCore::Layout::InlineFormattingContext::lineLayout(WTF::Vector<WebCore::Layout::InlineItem, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, WebCore::Layout::LineBuilder::InlineItemRange, WebCore::Layout::ConstraintsForInFlowContent const&)
        7   0x7f91ae191 WebCore::Layout::InlineFormattingContext::lineLayoutForIntergration(WebCore::Layout::ConstraintsForInFlowContent const&)
        8   0x7f92232ce WebCore::LayoutIntegration::LineLayout::layout()
        9   0x7f9fc5a01 WebCore::RenderBlockFlow::layoutModernLines(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
        10  0x7f9fc33b4 WebCore::RenderBlockFlow::layoutInlineChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
        11  0x7f9fc2588 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
        12  0x7f9fa6978 WebCore::RenderBlock::layout()
        13  0x7f9fc4d84 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
        14  0x7f9fc362b WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
        15  0x7f9fc25a5 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
        16  0x7f9fa6978 WebCore::RenderBlock::layout()
        17  0x7f9fc4d84 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
        18  0x7f9fc362b WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
        19  0x7f9fc25a5 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
        20  0x7f9fa6978 WebCore::RenderBlock::layout()
        21  0x7f9fc4d84 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
        22  0x7f9fc362b WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
        23  0x7f9fc25a5 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
        24  0x7f9fa6978 WebCore::RenderBlock::layout()
        25  0x7f9fc4d84 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
        26  0x7f9fc362b WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
        27  0x7f9fc25a5 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
        28  0x7f9fa6978 WebCore::RenderBlock::layout()
        29  0x7f9fc4d84 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
        30  0x7f9fc362b WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
        31  0x7f9fc25a5 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)

https://results.webkit.org/?suite=api-tests&suite=api-tests&test=TestWebKitAPI.AppPrivacyReport.WebProcessPluginTestAppInitiated&test=TestWebKitAPI.AppPrivacyReport.WebProcessPluginTestNonAppInitiated
Comment 1 Radar WebKit Bug Importer 2021-11-16 10:25:49 PST
<rdar://problem/85464609>
Comment 2 zalan 2021-11-16 10:28:59 PST
will look.
Comment 3 zalan 2021-11-16 10:56:05 PST
I can repro this by loading webkit.org in MiniBrowser with a narrow enough window.
Comment 4 zalan 2021-11-16 11:19:20 PST
Created attachment 444414 [details]
test reduction
Comment 5 zalan 2021-11-16 13:22:53 PST
Actually this looks to be addressed at r285863
Comment 7 zalan 2021-11-16 15:27:55 PST
progressed at r285863.