[Webkit-unassigned] [Bug 151907] New: Surrogates without valid trail assert in ComplexTextController

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Dec 4 21:07:40 PST 2015


https://bugs.webkit.org/show_bug.cgi?id=151907

            Bug ID: 151907
           Summary: Surrogates without valid trail assert in
                    ComplexTextController
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Macintosh
                OS: Mac OS X 10.11
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Text
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: benjamin at webkit.org
                CC: mmaxfield at apple.com

The test of https://bugs.webkit.org/show_bug.cgi?id=147608 hits an assertion in ComplexTextController for perfectly reasonable input. We should have a test specifically for this case.

The backtrace:

0   com.apple.JavaScriptCore          0x000000010d8a1d77 WTFCrash + 39
1   com.apple.WebCore                 0x00000001124128c4 WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun(WebCore::Font const&, unsigned short const*, unsigned int, unsigned long, bool) + 484 (ComplexTextControllerCoreText.mm:154)
2   com.apple.WebCore                 0x0000000112412d54 WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun(WebCore::Font const&, unsigned short const*, unsigned int, unsigned long, bool) + 68 (ComplexTextControllerCoreText.mm:173)
3   com.apple.WebCore                 0x00000001124155c8 WebCore::ComplexTextController::ComplexTextRun::create(WebCore::Font const&, unsigned short const*, unsigned int, unsigned long, bool) + 120 (ComplexTextController.h:85)
4   com.apple.WebCore                 0x000000011241408b WebCore::ComplexTextController::collectComplexTextRunsForCharacters(unsigned short const*, unsigned int, unsigned int, WebCore::Font const*) + 4907 (ComplexTextControllerCoreText.mm:285)
5   com.apple.WebCore                 0x0000000112401eb8 WebCore::ComplexTextController::collectComplexTextRuns() + 1448 (ComplexTextController.cpp:366)
6   com.apple.WebCore                 0x00000001124017ff WebCore::ComplexTextController::ComplexTextController(WebCore::FontCascade const&, WebCore::TextRun const&, bool, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, bool) + 671 (ComplexTextController.cpp:144)
7   com.apple.WebCore                 0x0000000112403a24 WebCore::ComplexTextController::ComplexTextController(WebCore::FontCascade const&, WebCore::TextRun const&, bool, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, bool) + 84 (ComplexTextController.cpp:158)
8   com.apple.WebCore                 0x0000000112a0da1f WebCore::FontCascade::floatWidthForComplexText(WebCore::TextRun const&, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*) const + 111 (FontCascadeCocoa.mm:677)
9   com.apple.WebCore                 0x00000001129f90f8 WebCore::FontCascade::width(WebCore::TextRun const&, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*) const + 536 (FontCascade.cpp:372)
10  com.apple.WebCore                 0x0000000113e1ead5 WebCore::RenderText::widthFromCache(WebCore::FontCascade const&, int, int, float, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*, WebCore::RenderStyle const&) const + 1237 (RenderText.cpp:502)
11  com.apple.WebCore                 0x0000000113e1be94 WebCore::RenderText::width(unsigned int, unsigned int, WebCore::FontCascade const&, float, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*) const + 628 (RenderText.cpp:1238)
12  com.apple.WebCore                 0x000000011379ca2f WebCore::textWidth(WebCore::RenderText&, unsigned int, unsigned int, WebCore::FontCascade const&, float, bool, bool, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, WebCore::TextLayout*) + 239 (BreakingContext.h:619)
13  com.apple.WebCore                 0x000000011379346f WebCore::BreakingContext::handleText(WTF::Vector<WebCore::WordMeasurement, 64ul, WTF::CrashOnOverflow, 16ul>&, bool&, unsigned int&) + 5775 (BreakingContext.h:843)
14  com.apple.WebCore                 0x000000011378ebf1 WebCore::LineBreaker::nextLineBreak(WebCore::BidiResolverWithIsolate<WebCore::InlineIterator, WebCore::BidiRun, WebCore::BidiIsolatedRun>&, WebCore::LineInfo&, WebCore::LineLayoutState&, WebCore::RenderTextInfo&, WebCore::FloatingObject*, unsigned int, WTF::Vector<WebCore::WordMeasurement, 64ul, WTF::CrashOnOverflow, 16ul>&) + 993 (LineBreaker.cpp:110)
15  com.apple.WebCore                 0x0000000113b71e85 WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&, WebCore::BidiResolverWithIsolate<WebCore::InlineIterator, WebCore::BidiRun, WebCore::BidiIsolatedRun>&, WebCore::InlineIterator const&, WebCore::BidiStatus const&, unsigned int) + 1093 (RenderBlockLineLayout.cpp:1264)
16  com.apple.WebCore                 0x0000000113b709bb WebCore::RenderBlockFlow::layoutRunsAndFloats(WebCore::LineLayoutState&, bool) + 1211 (RenderBlockLineLayout.cpp:1218)
17  com.apple.WebCore                 0x0000000113b7563a WebCore::RenderBlockFlow::layoutLineBoxes(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&) + 2010 (RenderBlockLineLayout.cpp:1647)
18  com.apple.WebCore                 0x0000000113b4da12 WebCore::RenderBlockFlow::layoutInlineChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&) + 386 (RenderBlockFlow.cpp:652)
19  com.apple.WebCore                 0x0000000113b4ca6b WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) + 1099 (RenderBlockFlow.cpp:483)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20151205/01fb4fef/attachment.html>


More information about the webkit-unassigned mailing list