Bug 146194

Summary: ASSERTION FAILED: typesettingFeatures & (Kerning | Ligatures) in WebCore::applyFontTransforms
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebCore Misc.Assignee: Myles C. Maxfield <mmaxfield>
Status: RESOLVED FIXED    
Severity: Normal CC: agomez, cgarcia, clopez, mcatanzaro, mmaxfield
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
backtrace
none
Patch
none
Patch dino: review+

Description Michael Catanzaro 2015-06-21 08:45:26 PDT
Created attachment 255326 [details]
backtrace

ASSERTION FAILED: typesettingFeatures & (Kerning | Ligatures)

In WebCore::applyFontTransforms, at ../../Source/WebCore/platform/graphics/WidthIterator.cpp:102, loading www.vox.com on a debug build of master, GTK port. Seems to happen 100%. Backtrace attached.
Comment 1 Carlos Alberto Lopez Perez 2015-09-04 10:29:25 PDT
This also happens on https://www.scaleway.com/pricing/ (Uploaded copy of the site, just in case it changes to http://people.igalia.com/clopez/wkbug/146194/ )
Comment 2 Myles C. Maxfield 2015-09-09 13:23:27 PDT
Unfortunately http://people.igalia.com/clopez/wkbug/146194/ doesn't cause an assert in a debug build on Yosemite as of r189543 :(
Comment 3 Myles C. Maxfield 2015-09-09 13:25:08 PDT
I'm also not getting an assert on http://www.vox.com/ :(
Comment 4 Myles C. Maxfield 2015-09-09 13:32:55 PDT
From inspection, it must be that the following is true

glyphBuffer && glyphBuffer->size() == lastGlyphCount + 1 && isSoftBankEmoji(previousCharacter)

but there are no m_typesettingFeatures.
Comment 5 Myles C. Maxfield 2015-09-09 13:33:42 PDT
This is a case where the assert is wrong.
Comment 6 Myles C. Maxfield 2015-09-09 13:49:34 PDT
Created attachment 260871 [details]
Patch
Comment 7 Myles C. Maxfield 2015-09-09 14:05:32 PDT
Comment on attachment 260871 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=260871&action=review

> Source/WebCore/ChangeLog:10
> +        No new tests because there is no behavior change.

This isn't quite true. I should still create a test.
Comment 8 Myles C. Maxfield 2015-09-09 14:40:44 PDT
Created attachment 260874 [details]
Patch
Comment 9 Dean Jackson 2015-09-09 14:46:55 PDT
Comment on attachment 260874 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=260874&action=review

> Source/WebCore/platform/graphics/WidthIterator.cpp:105
> +    if (glyphBuffer && glyphBuffer->size() == lastGlyphCount + 1 && isSoftBankEmoji(previousCharacter))

Could you put () around lastGlyphCount + 1?
Comment 10 Myles C. Maxfield 2015-09-09 15:42:59 PDT
Committed r189557: <http://trac.webkit.org/changeset/189557>
Comment 11 Carlos Garcia Campos 2015-10-29 02:09:16 PDT
*** Bug 150638 has been marked as a duplicate of this bug. ***