Closed Bug 1529794 Opened 5 years ago Closed 1 year ago

Crash in [@ local_unwind]

Categories

(Core :: Graphics: Text, defect, P3)

Unspecified
Windows 7
defect

Tracking

()

RESOLVED FIXED
110 Branch
Tracking Status
firefox-esr102 --- wontfix
firefox108 --- wontfix
firefox109 --- wontfix
firefox110 --- fixed

People

(Reporter: mccr8, Assigned: jfkthame)

References

(Blocks 1 open bug)

Details

(Keywords: crash, steps-wanted, testcase-wanted)

Crash Data

Attachments

(1 file)

This bug is for crash report bp-fdc65f74-77eb-4ff5-8306-0ad4c0190221.

Top 10 frames of crashing thread:

0 kernelbase.dll local_unwind 
1 kernelbase.dll SpecialMBToWC 
2 kernel32.dll WideCharToMultiByteStub 
3 dwrite.dll ConvertToAnsi 
4 dwrite.dll ReadCompatibleFullWidthGlyphBits 
5 dwrite.dll OpenTypeFontFaceBuilder::WriteCompatibleFullWidthGlyphBits 
6 dwrite.dll FontFaceRegionBuilder::IBuilder::WriteRegionInternal 
7 dwrite.dll FontFaceRegionBuilder::IBuilder::WriteRegion 
8 dwrite.dll FontFaceConstructionTask::AddElementData 
9 dwrite.dll CacheWriter::AddElement 

This isn't a high volume crash, but it is happening cross multiple branches, so I figured I'd file it. These are mostly "EXCEPTION_IN_PAGE_ERROR_READ / STATUS_IO_DEVICE_ERROR" crashes. I'm not sure what that means.

This looks like a variation on bug 1407741. That bug seems to indicate this may be an invalid font that has some pointer taking us off into invalid memory or a DWrite bug triggered by some valid font feature. However, as that bug concludes, without a reproducible testcase, this is hard to resolve.

Priority: -- → P3
See Also: → 1407741
QA Whiteboard: qa-not-actionable

Since the crash volume is low (less than 5 per week), the severity is downgraded to S3. Feel free to change it back if you think the bug is still critical.

For more information, please visit auto_nag documentation.

Severity: critical → S3

There may well be multiple code paths that can end up hitting this exception from deep inside dwrite; but at least one of them appears to be through gfxDWriteFontList::CreateFontEntry, which may make several DWrite API calls that might try to access font data. Any such call seems to be at risk of triggering an exception in case of disk errors or similar failures, so let's try wrapping them with an exception handler.

Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2d0c8febe7b8
Protect DirectWrite usage in gfxDWriteFontList::CreateFontEntry with an exception handler. r=lsalzman
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 110 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: