Closed Bug 615462 Opened 9 years ago Closed 9 years ago

Crash [@ gfxAlphaRecovery::RecoverAlpha]

Categories

(Core :: Graphics, defect, critical)

x86
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- final+

People

(Reporter: jruderman, Assigned: bas.schouten)

References

(Blocks 1 open bug)

Details

(Keywords: crash, testcase)

Crash Data

Attachments

(3 files)

The crash happens more reliably in debug builds. When it doesn't crash, it can break painting instead.

bp-6f8713b6-59f5-498e-a20c-0bcd62101129
Windows-only, I think.
(In reply to comment #2)
> Windows-only, I think.

I couldn't reproduce with an Ubuntu debug build
This is because with Windows 7 with Direct2D this causes some alpha recovery to occur to draw a native theme background. I need to look into why because that's generally not a great idea.

In any case this performs native drawing on a 25933 by 24023. gfxASurface::CheckSurfaceSize will refuse this size because it will overflow. We therefor return a NULL surface but we don't actually check for that anywhere and we proceed to try and use it.
This actually happens on all render modes for windows because of native theming. This patch should make us only draw the native theme for the dirty rect (which should be enough).
Assignee: nobody → bas.schouten
Status: NEW → ASSIGNED
Attachment #494280 - Flags: review?(roc)
Crashing is bad. We should get this fixed.
blocking2.0: --- → ?
http://hg.mozilla.org/mozilla-central/rev/c46083e1b190
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Crash Signature: [@ gfxAlphaRecovery::RecoverAlpha]
You need to log in before you can comment on or make changes to this bug.