[Webkit-unassigned] [Bug 139905] REGRESSION(r177637) [HarfBuzz][GTK][EFL] It made 3 performance tests crash and +24 layout tests crashes/failures

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 7 09:23:17 PST 2015


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

Carlos Alberto Lopez Perez <clopez at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |darin at apple.com,
                   |                            |zandobersek at gmail.com

--- Comment #4 from Carlos Alberto Lopez Perez <clopez at igalia.com> ---
One of the issues is that before r177637 WebCore::FontGlyphs::glyphDataForCharacter returned sometimes missingGlyphData() and now (after r177637 and r177876) instead returns a null GlyphData(), therefore the crash on WebCore::HarfBuzzShaper::collectHarfBuzzRuns().


I tried this patch:

--- a/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp
+++ b/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaper.cpp
@@ -410,6 +410,8 @@ bool HarfBuzzShaper::collectHarfBuzzRuns()
     do {
         const UChar* currentCharacterPosition = iterator.characters();
         const SimpleFontData* currentFontData = nextFontData;
+        if (!currentFontData)
+            break;
         UScriptCode currentScript = nextScript;

         for (iterator.advance(clusterLength); iterator.consume(character, clusterLength); iterator.advance(clusterLength)) {


And it fixes the crashes. The performance tests seems to work back and a few of the reported failing layout test pass.

*But* there are still many layout tests failing (16 of 24). So it is an incomplete fix. Looking at the diffs of the results, seems that the width of the text run is 0.


I hope this information can be useful.

I'm not planning to work on this anytime soon, so feel free to pick it.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150107/047a82b3/attachment-0002.html>


More information about the webkit-unassigned mailing list