Bug 262262 - ASSERTION FAILED: lineEndingEllipsisPolicy != LineEndingEllipsisPolicy::WhenContentOverflowsInInlineDirection || truncateRight.has_value() || right(boxes.last()) == visualRightForContentEnd /app/webkit/Source/WebCore/layout/formattingContexts/inline/displ
Summary: ASSERTION FAILED: lineEndingEllipsisPolicy != LineEndingEllipsisPolicy::WhenC...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: zalan
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-09-27 22:02 PDT by djinn
Modified: 2024-03-14 06:33 PDT (History)
5 users (show)

See Also:


Attachments
testcase to trigger the crash (2.74 MB, text/html)
2023-09-27 22:02 PDT, djinn
no flags Details
testcase trimmed (12.21 KB, text/html)
2024-03-10 20:17 PDT, djinn
no flags Details
crash message (124.79 KB, image/png)
2024-03-12 08:01 PDT, djinn
no flags Details
Test reduction (204 bytes, text/html)
2024-03-13 19:51 PDT, zalan
no flags Details
[fast-cq]Patch (3.27 KB, patch)
2024-03-13 20:29 PDT, zalan
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description djinn 2023-09-27 22:02:37 PDT
Created attachment 467936 [details]
testcase to trigger the crash

ASSERTION FAILED: displayLine.lineBoxLogicalRect().x() + displayLine.contentLogicalLeft() + displayLine.contentLogicalWidth() + ellipsisWidth > displayLine.lineBoxLogicalRect().maxX()
/app/webkit/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp(230) : float WebCore::Layout::truncateOverflowingDisplayBoxes(const WebCore::InlineDisplay::Line&, WebCore::InlineDisplay::Boxes&, float, const WebCore::RenderStyle&, LineEndingEllipsisPolicy)
Comment 1 djinn 2023-09-27 22:03:09 PDT
I will upload the minimized testcase as soon as possible.
Comment 2 Radar WebKit Bug Importer 2023-10-04 22:03:14 PDT
<rdar://problem/116503519>
Comment 3 djinn 2023-11-03 23:02:53 PDT
Hello, I would like to ask if a previously submitted bug is still not processed or unconfirmed, was it submitted in the wrong way? Or is it something else? Should I offer more info?
Comment 4 djinn 2024-03-10 20:17:03 PDT
Created attachment 470282 [details]
testcase trimmed

Sorry for uploading the trimmed testcase so late.
Hope it cloud help.
Comment 5 zalan 2024-03-10 20:18:32 PDT
(In reply to djinn from comment #4)
> Created attachment 470282 [details]
> testcase trimmed
> 
> Sorry for uploading the trimmed testcase so late.
> Hope it cloud help.
It does help, thank you! Will look into this shortly.
Comment 6 zalan 2024-03-11 14:31:39 PDT
(In reply to zalan from comment #5)
> (In reply to djinn from comment #4)
> > Created attachment 470282 [details]
> > testcase trimmed
> > 
> > Sorry for uploading the trimmed testcase so late.
> > Hope it cloud help.
> It does help, thank you! Will look into this shortly.
I can't seem to reproduce this anymore on tip of tree Webkit.
Comment 7 djinn 2024-03-12 08:01:32 PDT
Created attachment 470318 [details]
crash message
Comment 8 djinn 2024-03-12 08:06:05 PDT
(In reply to djinn from comment #0)
> Created attachment 467936 [details]
> testcase to trigger the crash
> 
> ASSERTION FAILED: displayLine.lineBoxLogicalRect().x() +
> displayLine.contentLogicalLeft() + displayLine.contentLogicalWidth() +
> ellipsisWidth > displayLine.lineBoxLogicalRect().maxX()
> /app/webkit/Source/WebCore/layout/formattingContexts/inline/display/
> InlineDisplayLineBuilder.cpp(230) : float
> WebCore::Layout::truncateOverflowingDisplayBoxes(const
> WebCore::InlineDisplay::Line&, WebCore::InlineDisplay::Boxes&, float, const
> WebCore::RenderStyle&, LineEndingEllipsisPolicy)

So sorry for uploading wrong crashed message before. I've reproduce several times. And the crashed message should be:
ASSERTION FAILED: lineEndingEllipsisPolicy != LineEndingEllipsisPolicy::WhenContentOverflowsInInlineDirection || truncateRight.has_value() || right(boxes.last()) == visualRightForContentEnd
/app/webkit/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp(260) : float WebCore::Layout::truncateOverflowingDisplayBoxes(const WebCore::InlineDisplay::Line&, WebCore::InlineDisplay::Boxes&, float, const WebCore::RenderStyle&, LineEndingEllipsisPolicy)

And the minimized testcase could trigger the crash within minutes.
Comment 9 zalan 2024-03-13 19:29:07 PDT
(In reply to djinn from comment #8)
> (In reply to djinn from comment #0)
> > Created attachment 467936 [details]
> > testcase to trigger the crash
> > 
> > ASSERTION FAILED: displayLine.lineBoxLogicalRect().x() +
> > displayLine.contentLogicalLeft() + displayLine.contentLogicalWidth() +
> > ellipsisWidth > displayLine.lineBoxLogicalRect().maxX()
> > /app/webkit/Source/WebCore/layout/formattingContexts/inline/display/
> > InlineDisplayLineBuilder.cpp(230) : float
> > WebCore::Layout::truncateOverflowingDisplayBoxes(const
> > WebCore::InlineDisplay::Line&, WebCore::InlineDisplay::Boxes&, float, const
> > WebCore::RenderStyle&, LineEndingEllipsisPolicy)
> 
> So sorry for uploading wrong crashed message before. I've reproduce several
> times. And the crashed message should be:
> ASSERTION FAILED: lineEndingEllipsisPolicy !=
> LineEndingEllipsisPolicy::WhenContentOverflowsInInlineDirection ||
> truncateRight.has_value() || right(boxes.last()) == visualRightForContentEnd
> /app/webkit/Source/WebCore/layout/formattingContexts/inline/display/
> InlineDisplayLineBuilder.cpp(260) : float
> WebCore::Layout::truncateOverflowingDisplayBoxes(const
> WebCore::InlineDisplay::Line&, WebCore::InlineDisplay::Boxes&, float, const
> WebCore::RenderStyle&, LineEndingEllipsisPolicy)
> 
> And the minimized testcase could trigger the crash within minutes.
Oh right, it indeed takes a while (I incorrectly assumed an instant crash). Thank you!
Comment 10 zalan 2024-03-13 19:51:59 PDT
Created attachment 470356 [details]
Test reduction
Comment 11 zalan 2024-03-13 20:29:30 PDT
Created attachment 470358 [details]
[fast-cq]Patch
Comment 12 EWS 2024-03-14 06:33:02 PDT
Committed 276089@main (f7185dc48501): <https://commits.webkit.org/276089@main>

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