Bug 221492

Summary: ASSERT NOT REACHED in WebCore::Layout::LineBuilder::candidateContentForLine
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, koivisto, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Ryan Haddad 2021-02-05 11:05:33 PST
The following two tests are asserting on macOS debug WK2 bots:

fast/layoutformattingcontext/float-in-inline-context-simple.html
fast/layoutformattingcontext/floats-shrinking-line-simple.html

https://results.webkit.org/?suite=layout-tests&suite=layout-tests&test=fast%2Flayoutformattingcontext%2Ffloat-in-inline-context-simple.html&test=fast%2Flayoutformattingcontext%2Ffloats-shrinking-line-simple.html

SHOULD NEVER BE REACHED
./layout/inlineformatting/InlineLineBuilder.cpp(537) : auto WebCore::Layout::LineBuilder::candidateContentForLine(WebCore::Layout::LineCandidate &, size_t, const WebCore::Layout::LineBuilder::InlineItemRange &, size_t, WebCore::InlineLayoutUnit)::(anonymous class)::operator()() const
1   0x38ba950f9 WTFCrash
2   0x368076e2b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x36bcad701 WebCore::Layout::LineBuilder::candidateContentForLine(WebCore::Layout::LineCandidate&, unsigned long, WebCore::Layout::LineBuilder::InlineItemRange const&, unsigned long, float)::$_20::operator()() const
4   0x36bcab32b WebCore::Layout::LineBuilder::candidateContentForLine(WebCore::Layout::LineCandidate&, unsigned long, WebCore::Layout::LineBuilder::InlineItemRange const&, unsigned long, float)
5   0x36bcaa422 WebCore::Layout::LineBuilder::placeInlineContent(WebCore::Layout::LineBuilder::InlineItemRange const&, unsigned long)
6   0x36bc9d89a WebCore::Layout::LineBuilder::layoutInlineContent(WebCore::Layout::LineBuilder::InlineItemRange const&, unsigned long, WebCore::Layout::InlineRect const&, bool)
7   0x36bc9cd05 WebCore::Layout::InlineFormattingContext::lineLayout(WTF::Vector<WebCore::Layout::InlineItem, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, WebCore::Layout::LineBuilder::InlineItemRange, WebCore::Layout::FormattingContext::ConstraintsForInFlowContent const&)
8   0x36bc9bc34 WebCore::Layout::InlineFormattingContext::layoutInFlowContent(WebCore::Layout::InvalidationState&, WebCore::Layout::FormattingContext::ConstraintsForInFlowContent const&)
9   0x36bc60858 WebCore::Layout::BlockFormattingContext::layoutInFlowContent(WebCore::Layout::InvalidationState&, WebCore::Layout::FormattingContext::ConstraintsForInFlowContent const&)
10  0x36bc416f7 WebCore::Layout::LayoutContext::layoutFormattingContextSubtree(WebCore::Layout::ContainerBox const&, WebCore::Layout::InvalidationState&)
11  0x36bc413c7 WebCore::Layout::LayoutContext::layoutWithPreparedRootGeometry(WebCore::Layout::InvalidationState&)
12  0x36bc4126b WebCore::Layout::LayoutContext::layout(WebCore::LayoutSize const&, WebCore::Layout::InvalidationState&)
13  0x36c03a4cd WebCore::FrameViewLayoutContext::layoutUsingFormattingContext()
14  0x36c01b4dd WebCore::FrameViewLayoutContext::layout()
15  0x36b0c7036 WebCore::Document::implicitClose()
16  0x36bde213b WebCore::FrameLoader::checkCallImplicitClose()
17  0x36bde1b6a WebCore::FrameLoader::checkCompleted()
18  0x36bddfc57 WebCore::FrameLoader::finishedParsing()
19  0x36b0dbd36 WebCore::Document::finishedParsing()
20  0x36b8d5f68 WebCore::HTMLConstructionSite::finishedParsing()
21  0x36b91ed97 WebCore::HTMLTreeBuilder::finished()
22  0x36b8dd418 WebCore::HTMLDocumentParser::end()
23  0x36b8db288 WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd()
24  0x36b8dafb7 WebCore::HTMLDocumentParser::prepareToStopParsing()
25  0x36b8dd482 WebCore::HTMLDocumentParser::attemptToEnd()
26  0x36b8dd559 WebCore::HTMLDocumentParser::finish()
27  0x36bdb3aa4 WebCore::DocumentWriter::end()
28  0x36bd61bb4 WebCore::DocumentLoader::finishedLoading()
29  0x36bd61551 WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource&, WebCore::NetworkLoadMetrics const&)
30  0x36bf09a7a WebCore::CachedResource::checkNotify(WebCore::NetworkLoadMetrics const&)
31  0x36bf0551c WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*, WebCore::NetworkLoadMetrics const&)
LEAK: 1 WebPageProxy
Comment 1 Ryan Haddad 2021-02-05 11:06:46 PST
The assert was added with https://trac.webkit.org/changeset/272412/webkit
Comment 2 Radar WebKit Bug Importer 2021-02-05 11:07:00 PST
<rdar://problem/74032439>
Comment 3 zalan 2021-02-05 16:10:11 PST
Created attachment 419481 [details]
Patch
Comment 4 EWS 2021-02-06 07:23:02 PST
Committed r272461: <https://commits.webkit.org/r272461>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419481 [details].