Crash in ComputeCrc32 in dwrite.dll via gfxDWriteFontEntry::CreateFontFace
Categories
(Core :: Graphics, defect, P3)
Tracking
()
People
(Reporter: wsmwk, Assigned: jfkthame)
References
()
Details
(Keywords: crash, Whiteboard: [gfx-noted][tbird crash][rare] [qa-not-actionable])
Crash Data
Attachments
(2 files)
|
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
Comment 1•7 years ago
|
||
Updated•7 years ago
|
| Reporter | ||
Updated•7 years ago
|
| Reporter | ||
Comment 2•7 years ago
|
||
| Assignee | ||
Comment 3•7 years ago
|
||
| Reporter | ||
Comment 4•7 years ago
|
||
Comment 5•7 years ago
|
||
| Reporter | ||
Comment 6•7 years ago
|
||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•4 years ago
|
Updated•3 years ago
|
Comment 7•3 years ago
|
||
Jonathan, is this something we could make fallible with SEH as well?
| Assignee | ||
Comment 8•3 years ago
•
|
||
The majority of the crashes I looked at here are happening under ReadFaceNamesForFamily.
We already have an SEH guard around part of the method, but it doesn't cover all the potentially
problematic DWrite calls, so this patch moves more of the code inside the try/except block
to attempt to handle exceptions safely.
Updated•3 years ago
|
| Assignee | ||
Comment 9•3 years ago
|
||
A few of the crashes here are happening via other codepaths, so we should protect those as well.
None of this changes any behavior except in the case where a disk error or similar failure happens
within DWrite calls; the goal here is to handle such failures safely, just treating the affected
font as unusable and allowing us to fall back to something else rather than crash.
Depends on D165524
Comment 10•3 years ago
|
||
Comment 11•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/7c3227d88e4c
https://hg.mozilla.org/mozilla-central/rev/718e2972c621
Updated•3 years ago
|
Comment 12•3 years ago
|
||
Doesn't look like we'll see much in the way of impact until this patch rides to Beta. Is this something you wanted to try uplifting to Beta for 109 still?
| Assignee | ||
Comment 13•3 years ago
|
||
We might as well try, I suppose, given that nothing untoward seems to have happened on Nightly.
| Assignee | ||
Comment 14•3 years ago
|
||
Comment on attachment 9309834 [details]
Bug 1485425 - Protect more DWrite API usage in gfxDWriteFontList::ReadFaceNamesForFamily with MOZ_SEH_TRY/EXCEPT. r=lsalzman
Beta/Release Uplift Approval Request
- User impact if declined: Crashes due to exceptions inside DirectWrite in case of disk read errors or similar failures
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: No
- Needs manual test from QE?: No
- If yes, steps to reproduce: (No way to test manually, unless we can fake some flaky hardware!)
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Just adds exception handling around some DWrite calls, to avoid immediately crashing; should have no impact unless such an exception occurs.
- String changes made/needed:
- Is Android affected?: No
| Assignee | ||
Updated•3 years ago
|
Comment 15•3 years ago
|
||
Comment on attachment 9309834 [details]
Bug 1485425 - Protect more DWrite API usage in gfxDWriteFontList::ReadFaceNamesForFamily with MOZ_SEH_TRY/EXCEPT. r=lsalzman
Approved for 109.0b8.
Updated•3 years ago
|
Comment 16•3 years ago
|
||
| bugherder uplift | ||
https://hg.mozilla.org/releases/mozilla-beta/rev/3e48327f8136
https://hg.mozilla.org/releases/mozilla-beta/rev/96e5e9d0b055
Comment 17•3 years ago
|
||
Crash volume on ESR is pretty low so I don't think this is a priority to uplift there, but that's also not a strongly-held opinion of mine if you wanted to nominate it.
| Reporter | ||
Comment 18•3 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #17)
Crash volume on ESR is pretty low so I don't think this is a priority to uplift there, but that's also not a strongly-held opinion of mine if you wanted to nominate it.
Didn't find any additional crash signatures with signficant numbers. So based on stats, I agree.
Description
•