RESOLVED FIXED 262262
ASSERTION FAILED: lineEndingEllipsisPolicy != LineEndingEllipsisPolicy::WhenContentOverflowsInInlineDirection || truncateRight.has_value() || right(boxes.last()) == visualRightForContentEnd /app/webkit/Source/WebCore/layout/formattingContexts/inline/displ
https://bugs.webkit.org/show_bug.cgi?id=262262
Summary ASSERTION FAILED: lineEndingEllipsisPolicy != LineEndingEllipsisPolicy::WhenC...
djinn
Reported 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)
Attachments
testcase to trigger the crash (2.74 MB, text/html)
2023-09-27 22:02 PDT, djinn
no flags
testcase trimmed (12.21 KB, text/html)
2024-03-10 20:17 PDT, djinn
no flags
crash message (124.79 KB, image/png)
2024-03-12 08:01 PDT, djinn
no flags
Test reduction (204 bytes, text/html)
2024-03-13 19:51 PDT, alan
no flags
[fast-cq]Patch (3.27 KB, patch)
2024-03-13 20:29 PDT, alan
no flags
djinn
Comment 1 2023-09-27 22:03:09 PDT
I will upload the minimized testcase as soon as possible.
Radar WebKit Bug Importer
Comment 2 2023-10-04 22:03:14 PDT
djinn
Comment 3 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?
djinn
Comment 4 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.
alan
Comment 5 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.
alan
Comment 6 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.
djinn
Comment 7 2024-03-12 08:01:32 PDT
Created attachment 470318 [details] crash message
djinn
Comment 8 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.
alan
Comment 9 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!
alan
Comment 10 2024-03-13 19:51:59 PDT
Created attachment 470356 [details] Test reduction
alan
Comment 11 2024-03-13 20:29:30 PDT
Created attachment 470358 [details] [fast-cq]Patch
EWS
Comment 12 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].
Note You need to log in before you can comment on or make changes to this bug.