Closed Bug 1815272 Opened 2 years ago Closed 2 years ago

Add a hidden pref to skip very large blobs

Categories

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

task

Tracking

()

RESOLVED FIXED
112 Branch
Tracking Status
firefox112 --- fixed

People

(Reporter: nical, Assigned: nical)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

Right now it is too easy for fuzzers to generate test cases that allocate large blob images and OOMs, to the point that it blocks fuzzing other things.

To unblock fuzzing let's add a hidden pref that would only be used by fuzzers (and hopefully temporarily) to prevent them from quickly running into the same issues, at least until we have a handle on them.

When the pref is set and we run into a very large blob image, it would just be skipped or rendered incorrectly in whatever way is convenient, without crashing or causing large memory allocations.

Severity: -- → N/A
Priority: -- → P3

when you say large do mean bytes or dimensions?

Flags: needinfo?(nical.bugzilla)

Both would work. Something like visible_rect.width * visible_rect.height > threshold.

Flags: needinfo?(nical.bugzilla)

This is an unsavoury workaround to let the fuzzing team make progress while we are sorting through our blob layerization and sizing issues.
This adds a hidden pref "gfx.webrender.debug.restrict-blob-size", which, when set to true, clamps the size of blob images to 2048x2048.
This means that bigger blobs will render incorrectly but will be less likely to cause OOMs.

Assignee: nobody → nical.bugzilla
Status: NEW → ASSIGNED
Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7ee233bdf000 Add a pref to restric blob image size to 2048x2048. r=gfx-reviewers,gw
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 112 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: