Crash in mozilla::widget::WinCompositorWidget::ClearTransparentWindow

RESOLVED FIXED in Firefox 52

Status

()

defect
P4
critical
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: RyanVM, Assigned: tracy)

Tracking

({crash, regression})

50 Branch
mozilla54
x86
Windows
Points:
---
Dependency tree / graph
Bug Flags:
qe-verify -

Firefox Tracking Flags

(firefox50 wontfix, firefox51 wontfix, firefox52 fixed, firefox-esr52 fixed, firefox53 fixed, firefox54 fixed)

Details

(Whiteboard: tpi:+, crash signature)

Attachments

(1 attachment, 1 obsolete attachment)

+++ This bug was initially created as a clone of Bug #1284092 +++

Bug 1284092 apparently fixed one crash with this signature, but others remain. It's pretty low-frequency, though (~100 in the last 3 months). Most crashes are at 0x0, so maybe a null check is in order?
Assignee: nobody → twalker
Flags: needinfo?(twalker)
Whiteboard: tpi:? → tpi:+
This missed the boat for 51 :(
We've been working on this as a side project, fwiw. Should have a fix up in the next couple weeks or so.
Should this simple null check be put through try?  If so, which tests should be run?
Flags: needinfo?(twalker)
Attachment #8834893 - Flags: review?(jmathies)
Comment on attachment 8834893 [details] [diff] [review]
null check of drawTarget WindowCompositorWidget

Review of attachment 8834893 [details] [diff] [review]:
-----------------------------------------------------------------

::: widget/windows/WinCompositorWidget.cpp
@@ +281,5 @@
>    IntSize size = mTransparentSurface->GetSize();
>    if (!size.IsEmpty()) {
>      RefPtr<DrawTarget> drawTarget =
>        gfxPlatform::CreateDrawTargetForSurface(mTransparentSurface, size);
> +    if (drawTarget == 0) {

nit-

if (!drawTarget) {
}
Attachment #8834893 - Flags: review?(jmathies) → review+
fixed nit carryover r+ from :jimm
Attachment #8834893 - Attachment is obsolete: true
Attachment #8834944 - Flags: review+
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/171570725b69
Add null check of drawTarget in WinCompositorWidget.cpp, to avoid crash. r=jimm
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/171570725b69
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Please request Aurora/Beta approval on this when you get a chance.
Flags: needinfo?(twalker)
Comment on attachment 8834944 [details] [diff] [review]
null check of drawTarget WindowCompositorWidget(2)

Approval Request Comment
[Feature/Bug causing the regression]:
[User impact if declined]: chance of crashing
[Is this code covered by automated tests?]: no
[Has the fix been verified in Nightly?]: no crashes had been reported against 54.0a1. we should see improvements on Aurora and Beta
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: no
[Why is the change risky/not risky?]: it's a basic null dereference check
[String changes made/needed]: no
Flags: needinfo?(twalker)
Attachment #8834944 - Flags: approval-mozilla-beta?
Attachment #8834944 - Flags: approval-mozilla-aurora?
Comment on attachment 8834944 [details] [diff] [review]
null check of drawTarget WindowCompositorWidget(2)

Fix a crash. Aurora53+.
Attachment #8834944 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment on attachment 8834944 [details] [diff] [review]
null check of drawTarget WindowCompositorWidget(2)

avoid null dereference, beta52+
Attachment #8834944 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Setting qe-verify- per comment 9.
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.