Bug 146194 - ASSERTION FAILED: typesettingFeatures & (Kerning | Ligatures) in WebCore::applyFontTransforms
Summary: ASSERTION FAILED: typesettingFeatures & (Kerning | Ligatures) in WebCore::app...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Myles C. Maxfield
URL:
Keywords:
: 150638 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-06-21 08:45 PDT by Michael Catanzaro
Modified: 2015-10-29 02:09 PDT (History)
5 users (show)

See Also:


Attachments
backtrace (264.94 KB, text/plain)
2015-06-21 08:45 PDT, Michael Catanzaro
no flags Details
Patch (7.50 KB, patch)
2015-09-09 13:49 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch (9.50 KB, patch)
2015-09-09 14:40 PDT, Myles C. Maxfield
dino: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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. ***