Closed Bug 1448703 Opened 2 years ago Closed 2 years ago

Intermittent /html/semantics/forms/constraints/form-validation-reportValidity.html | application crashed [@ CrashStatsLogForwarder::CrashAction]

Categories

(Core :: Graphics: WebRender, defect, P5, critical)

defect

Tracking

()

RESOLVED FIXED
mozilla61

People

(Reporter: intermittent-bug-filer, Assigned: lsalzman)

References

(Blocks 1 open bug)

Details

(Keywords: crash, intermittent-failure)

Crash Data

Attachments

(2 files)

Component: web-platform-tests → Graphics: WebRender
Product: Testing → Core
Version: Version 3 → unspecified
Lee, here's another crash with this:

PID 5609 | [GFX1 38]: Failed to get UnscaledFont entry for FontKey 35

and it happened on April 1st which is after your previous fix (bug 1447910) landed. Can you look into it? There's a slew of these bugs and I'm going to mark them dependent on this one, but I'm not sure how many of them were fixed by the old issue and how many are still occurring (I could check, but based on this one it's not fixed yet, so I'm not going to bother checking).
Assignee: nobody → lsalzman
> Failed to get UnscaledFont entry for FontKey
is the GraphicsCriticalError of recent crashes of bug 1418012.
See Also: → 1418012
Bug 1447910 assumed that by fixing the ordering of font key deletions to be bound by a transaction, it would get rid of possible race condition shenanigans. While the incidence of such errors seems to have gone done, they were not eliminated.

To figure out why these are still occurring, it would help to know the reason a font doesn't exist at the time it is queried. This can hypothetically be because of 3 reasons: 1) the font was deleted, 2) the namespace was cleared, or 3) we just have no record of the font.

This implements a simple ring-buffer log to keep track of that, noting when and why the font was deleted. When the error is encountered, it looks back in the log and checks why.

This should only have a small static space overhead (~2KB), and minimal performance aspect, so I just left this on in both debug and opt builds so we can get more useful info from errors in both scenarios.
Attachment #8966091 - Flags: review?(jmuizelaar)
Attachment #8966091 - Flags: review?(jmuizelaar) → review+
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e352d286f176
log WR blob image font deletions for debugging. r=jrmuizel
Keywords: leave-open
So in https://treeherder.mozilla.org/logviewer.html#?job_id=173764959&repo=try&lineNumber=3343 for example we this output:

[GFX1 38]: Failed to get UnscaledFont entry for FontKey 5 because cleared namespace

Lee, next steps here?
Duplicate of this bug: 1451912
This will be resolved in part by WR PR https://github.com/servo/webrender/pull/2676
We need to make sure we don't clear out blob image resources until such time as the ClearNamespace message is actually processed. So this uses the new clear_namespace hook in https://github.com/servo/webrender/pull/2676 to call ClearBlobImageResources at that time.
Attachment #8969379 - Flags: review?(jmuizelaar)
Attachment #8969379 - Flags: review?(jmuizelaar) → review+
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/42781c597745
clear blob image resources from clear_namespace hook. r=jrmuizel
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/3ad3cb5e9b65
clear blob image resources from clear_namespace hook. r=jrmuizel
The leak should be fixed now. If this finally gets rid of all of these intermittents too, then we can close out this bug and its related/duplicated ilk.
Flags: needinfo?(lsalzman)
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/c1b58d542d97
Follow-up to regenerate FFI bindings. r=me
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/81601f1ab879
follow-up - disambiguate unknown font from cleared all. r=me
Flags: needinfo?(lsalzman)
(In reply to Andreea Pavel [:apavel] from comment #22)
> Backed out for build bustages at
> builds/worker/workspace/build/src/gfx/webrender_bindings/Moz2DImageRenderer.
> cpp:108
> 
> Push that started the failures:
> https://treeherder.mozilla.org/#/jobs?repo=mozilla-
> inbound&revision=81601f1ab8799a121d82d5b560888aa7296fc776
> 
> Failure log:
> https://treeherder.mozilla.org/logviewer.html#?job_id=175760347&repo=mozilla-
> inbound&lineNumber=18324
> 
> Backout:
> https://hg.mozilla.org/integration/mozilla-inbound/rev/
> 7a50e32d708acd69e5fc41dbc3eb6815d93cfbde

Fixed
Flags: needinfo?(lsalzman)
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/28c2803c243a
follow-up - disambiguate unknown font from cleared all. r=me
I'm going to claim and all the intermittent failure bugs depending on this one are fixed. I went through the intermittent-failures database and there's nothing newer than Apr 24, but the frequency wasn't that high to being with so I can't be sure. But we can close this now and file a new bug if there's still stuff that needs fixing.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in before you can comment on or make changes to this bug.