Bug 267993
| Summary: | ASSERTION FAILED: containingBlock.isInFlowPositioned() while running `the-anchor-attribute-003-crash.tentative.html` WPT Test | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ahmad Saleem <ahmad.saleem792> |
| Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | CC: | ben_schwartz, bfulgham, mattwoodrow, Morningstar, simon.fraser, webkit-bug-importer, zalan |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Ahmad Saleem
Hi Team,
While trying to import new tests in below PR:
PR - https://github.com/WebKit/WebKit/pull/23133
I noticed that on `mac-AS-debug-wk2`, I get above 'ASSERT failure.
Link - https://ews-build.s3-us-west-2.amazonaws.com/macOS-AppleSilicon-Sonoma-Debug-WK2-Tests-EWS/5e958523-8716-stress-mode/results.html
___
ASSERTION FAILED: containingBlock.isInFlowPositioned()
/Volumes/Data/worker/macOS-AppleSilicon-Sonoma-Debug-Build-EWS/build/Source/WebCore/rendering/RenderBox.cpp(3895) : LayoutUnit WebCore::RenderBox::containingBlockLogicalWidthForPositioned(const RenderBoxModelObject &, RenderFragmentContainer *, bool) const
1 0x1384621b0 WTFCrash
2 0x2844bc1b0 WebCore::NetworkResourcesData::ResourceData::hasContent() const
3 0x28561d2d0 WebCore::RenderBox::containingBlockLogicalWidthForPositioned(WebCore::RenderBoxModelObject const&, WebCore::RenderFragmentContainer*, bool) const
4 0x28561711c WebCore::RenderBox::computePositionedLogicalWidth(WebCore::RenderBox::LogicalExtentComputedValues&, WebCore::RenderFragmentContainer*) const
5 0x2855d684c WebCore::RenderBox::computeLogicalWidthInFragment(WebCore::RenderBox::LogicalExtentComputedValues&, WebCore::RenderFragmentContainer*) const
6 0x285616fb4 WebCore::RenderBox::updateLogicalWidth()
7 0x2855d48c8 WebCore::RenderBlock::recomputeLogicalWidth()
8 0x2855f0278 WebCore::RenderBlockFlow::recomputeLogicalWidthAndColumnWidth()
9 0x2855f0e60 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
10 0x2855d4610 WebCore::RenderBlock::layout()
11 0x28567e5f0 WebCore::RenderElement::layoutIfNeeded()
12 0x2855d77e4 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool)
13 0x2855d64b8 WebCore::RenderBlock::layoutPositionedObjects(bool, bool)
14 0x2855f15f8 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
15 0x2855d4610 WebCore::RenderBlock::layout()
16 0x2855f4b08 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
17 0x2855f3dd0 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
18 0x2855f2108 WebCore::RenderBlockFlow::layoutInFlowChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
19 0x2855f10a0 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
20 0x2855d4610 WebCore::RenderBlock::layout()
21 0x2855f4b08 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
22 0x2855f3dd0 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
23 0x2855f2108 WebCore::RenderBlockFlow::layoutInFlowChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
24 0x2855f10a0 WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
25 0x2855d4610 WebCore::RenderBlock::layout()
26 0x28585d5d0 WebCore::RenderView::layout()
27 0x284aa34d4 WebCore::LocalFrameViewLayoutContext::performLayout()
28 0x284a81f70 WebCore::LocalFrameViewLayoutContext::layout()
29 0x283ae50e0 WebCore::Document::implicitClose()
30 0x28481cc2c WebCore::FrameLoader::checkCallImplicitClose()
31 0x28481c580 WebCore::FrameLoader::checkCompleted()
com.apple.WebKit.WebContent.Development terminated (pid 1086) for reason: crash
LEAK: 1 WebPageProxy
___
Just wanted to raise so we can fix it.
Thanks!
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ahmad Saleem
Might be similar to this Blink fix:
Blink Commit - https://chromium.googlesource.com/chromium/src.git/+/b907c9c34c99ed5445d2f94a8ef4a2fbc85808f6
https://searchfox.org/wubkat/rev/11893003d47a7c29b0ce84a7479980ebf220c589/Source/WebCore/rendering/RenderBox.cpp#3892
Here changing:
return (boxInfo) ? std::max<LayoutUnit>(0, cb->clientLogicalWidth() - (cb->logicalWidth() - boxInfo->logicalWidth())) : cb->clientLogicalWidth();
to:
return (boxInfo) ? std::max<LayoutUnit>(0, cb->clientLogicalWidth() - (cb->logicalWidth() - boxInfo->logicalWidth())) : std::max<LayoutUnit>(0, cb->clientLogicalWidth());
___
@Alan - any input?
Ahmad Saleem
(In reply to Ahmad Saleem from comment #1)
> Might be similar to this Blink fix:
>
> Blink Commit -
> https://chromium.googlesource.com/chromium/src.git/+/
> b907c9c34c99ed5445d2f94a8ef4a2fbc85808f6
>
> https://searchfox.org/wubkat/rev/11893003d47a7c29b0ce84a7479980ebf220c589/
> Source/WebCore/rendering/RenderBox.cpp#3892
>
> Here changing:
>
> return (boxInfo) ? std::max<LayoutUnit>(0, cb->clientLogicalWidth() -
> (cb->logicalWidth() - boxInfo->logicalWidth())) : cb->clientLogicalWidth();
>
> to:
>
> return (boxInfo) ? std::max<LayoutUnit>(0, cb->clientLogicalWidth() -
> (cb->logicalWidth() - boxInfo->logicalWidth())) : std::max<LayoutUnit>(0,
> cb->clientLogicalWidth());
>
> ___
>
> @Alan - any input?
This does not fix it. Test already locally.
alan
This looks like a stale assertion since 268161@main, when backdrop-filter started making an inline box forming a containing block for out-of-flow boxes.
Vitaly Dyackhov
Pull request: https://github.com/WebKit/WebKit/pull/23509
Radar WebKit Bug Importer
<rdar://problem/122003382>
Ahmad Saleem
*** Bug 268580 has been marked as a duplicate of this bug. ***
Ben Schwartz
When this bug is resolved, the test expectation set in 273955@main should be removed.
Ahmad Saleem
*** This bug has been marked as a duplicate of bug 268714 ***