Add a hidden pref to skip very large blobs
Categories
(Core :: Graphics: WebRender, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox112 | --- | fixed |
People
(Reporter: nical, Assigned: nical)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
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.
Assignee | ||
Updated•2 years ago
|
Comment 1•2 years ago
|
||
when you say large do mean bytes or dimensions?
Assignee | ||
Comment 2•2 years ago
|
||
Both would work. Something like visible_rect.width * visible_rect.height > threshold
.
Assignee | ||
Comment 3•2 years ago
|
||
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.
Updated•2 years ago
|
Comment 5•2 years ago
|
||
bugherder |
Description
•