WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
221377
[WPE] Missing hyphenation support
https://bugs.webkit.org/show_bug.cgi?id=221377
Summary
[WPE] Missing hyphenation support
Lauro Moura
Reported
2021-02-03 20:13:40 PST
fast/text/hyphenation-unknown-locale.html Crashes in Hyphenation.cpp lastHyphenLocation, ASSERT_NOT_REACHED. (trace below) GTK enables usage of libhyphen, while WPE does not, falling back to this stub. Should WPE expose an option to use libhyphen, like GTK? Skipping in debug mode while this is sorted out. Top of trace: Thread 1 (Thread 0x7f85b92e79c0 (LWP 55)): #0 WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:295 #1 0x00007f85cd6f3e5f in CRASH_WITH_INFO(...) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:713 #2 0x00007f85d17dcd49 in WebCore::lastHyphenLocation(WTF::StringView, unsigned long, WTF::AtomString const&) () at ../../Source/WebCore/platform/text/Hyphenation.cpp:43 #3 0x00007f85d1ad0283 in WebCore::maxWordFragmentWidth(WebCore::RenderText&, WebCore::RenderStyle const&, WebCore::FontCascade const&, WTF::StringView, unsigned int, unsigned int, unsigned int&, WTF::Ha shSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, WebCore::GlyphOverflow&) (renderer=..., style=..., font=..., word=..., minimumPrefixLength=0, minimumSuffixLength=0, suffixStart=@0x7ffdc1c7e9e0: 0, fallbackFonts=..., glyphOverflow=...) at ../../Source/WebCore/rendering/RenderText.cpp:932 #4 0x00007f85d1ad1153 in WebCore::RenderText::computePreferredLogicalWidths(float, WTF::HashSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, We bCore::GlyphOverflow&) (this=0x7f8572f1cdf0, leadWidth=0, fallbackFonts=..., glyphOverflow=...) at ../../Source/WebCore/rendering/RenderText.cpp:1102 #5 0x00007f85d1ad3028 in WebCore::RenderText::width(unsigned int, unsigned int, WebCore::FontCascade const&, float, WTF::HashSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*) const (this=0x7f8572f1cdf0, from=0, len=1, f=..., xPos=0, fallbackFonts=0x7ffdc1c7f258, glyphOverflow=0x7ffdc1c7ebf0) at ../../Source/WebCore/rendering/RenderText.cpp:1541 #6 0x00007f85d1b4f89f in WebCore::textWidth(WebCore::RenderText&, unsigned int, unsigned int, WebCore::FontCascade const&, float, bool, bool, WTF::HashSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, WebCore::TextLayout*) (text=..., from=0, len=1, font=..., xPos=0, isFixedPitch=false, collapseWhiteSpace=true, fallbackFonts=..., layout=0x0) at ../../Source/WebCore/rendering/line/BreakingContext.h:559 #7 0x00007f85d1b5303f in WebCore::BreakingContext::handleText(WTF::Vector<WebCore::WordMeasurement, 64ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, bool&, unsigned int&) (this=0x7ffdc1c7eea0, wordMeasurements=..., hyphenated=@0x7ffdc1c7f108: false, consecutiveHyphenatedLines=@0x7ffdc1c7f000: 0) at ../../Source/WebCore/rendering/line/BreakingContext.h:1049 #8 0x00007f85d1b4590b in WebCore::LineBreaker::nextLineBreak(WebCore::BidiResolverWithIsolate<WebCore::InlineIterator, WebCore::BidiRun, WebCore::BidiIsolatedRun>&, WebCore::LineInfo&, WebCore::RenderTextInfo&, WebCore::FloatingObject*, unsigned int, WTF::Vector<WebCore::WordMeasurement, 64ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&) (this=0x7ffdc1c7f100, resolver=..., lineInfo=..., renderTextInfo=..., lastFloatFromPreviousLine=0x0, consecutiveHyphenatedLines=0, wordMeasurements=...) at ../../Source/WebCore/rendering/line/LineBreaker.cpp:110 #9 0x00007f85d181922f in WebCore::ComplexLineLayout::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&, WebCore::BidiResolverWithIsolate<WebCore::InlineIterator, WebCore::BidiRun, WebCore::BidiIsolatedRun>&, WebCore::InlineIterator const&, WebCore::BidiStatus const&, unsigned int) (this=0x7f8518470108, layoutState=..., resolver=..., cleanLineStart=..., cleanLineBidiStatus=..., consecutiveHyphenatedLines=0) at ../../Source/WebCore/rendering/ComplexLineLayout.cpp:1416 #10 0x00007f85d1818e5d in WebCore::ComplexLineLayout::layoutRunsAndFloats(WebCore::LineLayoutState&, bool) (this=0x7f8518470108, layoutState=..., hasInlineChild=true) at ../../Source/WebCore/rendering/ComplexLineLayout.cpp:1369 #11 0x00007f85d181b47d in WebCore::ComplexLineLayout::layoutLineBoxes(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&) (this=0x7f8518470108, relayoutChildren=false, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/ComplexLineLayout.cpp:1776 #12 0x00007f85d18c2d0c in WebCore::RenderBlockFlow::layoutInlineChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&) (this=0x7f85b8a6d7a0, relayoutChildren=false, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:704 #13 0x00007f85d18c2035 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) (this=0x7f85b8a6d7a0, relayoutChildren=false, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:523
Attachments
Add attachment
proposed patch, testcase, etc.
Claudio Saavedra
Comment 1
2026-01-15 08:22:31 PST
I am going to reuse this bug since the patch I have to add support for libhyphen makes this test pass.
Claudio Saavedra
Comment 2
2026-01-15 08:22:40 PST
***
Bug 258166
has been marked as a duplicate of this bug. ***
Claudio Saavedra
Comment 3
2026-01-15 08:33:25 PST
Pull request:
https://github.com/WebKit/WebKit/pull/56638
EWS
Comment 4
2026-01-19 03:52:07 PST
Committed
305816@main
(fc62d6a59485): <
https://commits.webkit.org/305816@main
> Reviewed commits have been landed. Closing PR #56638 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug