Closed Bug 1127935 Opened 9 years ago Closed 9 years ago

Crash in gfxHarfBuzzShaper::FindGlyf(unsigned int, bool*)

Categories

(Core :: Graphics: Text, defect)

38 Branch
x86_64
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla38
Tracking Status
firefox38 --- fixed

People

(Reporter: over68, Assigned: jfkthame)

References

Details

(Keywords: regression)

Crash Data

Attachments

(1 file)

Steps to reproduce:

1. Disable hardware acceleration.
2. Go to https://dl.dropboxusercontent.com/u/95157096/85f61cf7/ay571o0lfh.html.

Crash report: bp-be6d248c-78ff-4f72-a980-12e532150130
This bug occurs since the version 38.0a1 (2015-01-29).

https://hg.mozilla.org/mozilla-central/rev/6bfc0e1c4b29
Flags: needinfo?(jfkthame)
Looks like we'd crash here if the page ends up using a non-TrueType/OpenType font (e.g. an old bitmap font, or a legacy .pfb Postscript font, etc), and fallback diacritic positioning kicks in. We need a null-check when the code tries to load the 'head' table from the font.

This can't happen with h/w acceleration in effect because such legacy fonts aren't supported at all under DirectWrite. But with GDI, they may still be used.
Flags: needinfo?(jfkthame)
Assignee: nobody → jfkthame
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
blinky: there's a try build with this patch at http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jkew@mozilla.com-4b590bde550f/try-win32/, if you'd like to test and check that it no longer suffers from this crash.
Flags: needinfo?(over68)
(In reply to Jonathan Kew (:jfkthame) from comment #4)
> blinky: there's a try build with this patch at
> http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jkew@mozilla.com-
> 4b590bde550f/try-win32/, if you'd like to test and check that it no longer
> suffers from this crash.

I can not reproduce the bug with this build, thanks.
Blocks: 1108177
Flags: needinfo?(over68)
Keywords: regression
Attachment #8557337 - Flags: review?(jdaggett) → review+
https://hg.mozilla.org/mozilla-central/rev/9af435afa2b6
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Crash Signature: gfxHarfBuzzShaper::FindGlyf(unsigned int, bool*)
Crash Signature: gfxHarfBuzzShaper::FindGlyf(unsigned int, bool*) → @ gfxHarfBuzzShaper::FindGlyf(unsigned int, bool*)
Crash Signature: @ gfxHarfBuzzShaper::FindGlyf(unsigned int, bool*) → [@ gfxHarfBuzzShaper::FindGlyf(unsigned int, bool*) ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: