Closed Bug 1749526 Opened 2 years ago Closed 2 years ago

Process partial WR transactions instead of aborting

Categories

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

defect

Tracking

()

RESOLVED FIXED
98 Branch
Tracking Status
firefox98 --- fixed

People

(Reporter: aosmond, Assigned: aosmond)

References

Details

Attachments

(1 file)

When we abort processing transactions due to an error, it just means the next transaction may result in an unpredictable crash. Let's try handling them no matter what. It should make it easier to reproduce STR for bugs if nothing else.

When we encounter an error updating resources, or processing parent
commands, we actually bail out midway. This is problematic because some
resource updates and commands depend on follow-ups to release resources
and such. Also, when the next display list update comes in, we may now
have an incomplete resource set and see display errors / crashes that
may not be easily traceable to the previous failure.

This patch makes us always finish processing a transaction, even if we
encountered errors. This will put us in a more consistent state at
least. It adds new asserts to try to catch these issues sooner and in
automation. It also ensures we do a print to the critical log in all of
these cases so we know this issue was encountered.

Pushed by aosmond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0e684da127ac
Process partial WebRender transactions instead of discarding them partway. r=gfx-reviewers,bradwerth
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 98 Branch
See Also: → 1761233
Regressions: 1761233
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: