https://codepen.io/Enzo-Ustariz/pen/jOVeqKg crashes nighty by oom
Categories
(Core :: Graphics: WebRender, defect, P2)
Tracking
()
People
(Reporter: mayankleoboy1, Unassigned)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
2.44 MB,
image/jpeg
|
Details |
Reporter | ||
Comment 1•3 years ago
|
||
yes
2021-08-16T10:21:34.689000: INFO : platform_buildid: 20210705005108
2021-08-16T10:21:34.689000: INFO : platform_changeset: 96c170b293235ad5eced0c3a5ad555c3c22dd4e5
2021-08-16T10:21:34.689000: INFO : platform_repository: https://hg.mozilla.org/integration/autoland
2021-08-16T10:21:34.689000: INFO : platform_version: 91.0a1
2021-08-16T10:21:56.410000: INFO : Narrowed integration regression window from [2db6a494, a1cbf18d] (4 builds) to [96c170b2, a1cbf18d] (2 builds) (~1 steps left)
2021-08-16T10:21:56.432000: DEBUG : Starting merge handling...
2021-08-16T10:21:56.432000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=a1cbf18d246a19e25f57748bac1a8f8c35becf45&full=1
2021-08-16T10:21:56.432000: DEBUG : redo: attempt 1/3
2021-08-16T10:21:56.433000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=a1cbf18d246a19e25f57748bac1a8f8c35becf45&full=1',), kwargs: {}, attempt #1
2021-08-16T10:21:56.442000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2021-08-16T10:21:59.256000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=a1cbf18d246a19e25f57748bac1a8f8c35becf45&full=1 HTTP/1.1" 200 None
2021-08-16T10:21:59.319000: DEBUG : Found commit message:
Bug 1717161 - Clamp perspective() values to a minimum of 1px. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D118250
2021-08-16T10:21:59.319000: DEBUG : Did not find a branch, checking all integration branches
2021-08-16T10:21:59.319000: INFO : The bisection is done.
2021-08-16T10:21:59.319000: INFO : Stopped
Updated•3 years ago
|
Updated•3 years ago
|
Comment 2•3 years ago
|
||
Set release status flags based on info from the regressing bug 1717161
Comment 3•3 years ago
|
||
Bug 1717161 was backed out from Fx92.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 4•3 years ago
|
||
Changing the priority to p2 as the bug is tracked by a release manager for the current nightly.
See What Do You Triage for more information
Reporter | ||
Comment 5•3 years ago
|
||
Hi Matt,
This bug still repros even after bug 1723266 and bug 1717161 have been fixed. Is this bug actionable?
Comment 6•3 years ago
|
||
Looks like this causes crazy amounts of GPU load, and doesn't crash for me (but makes my OS basically unusable).
Glenn, do you have any idea what causes this?
Comment 7•3 years ago
|
||
This test case seems to run OK on my (high-end) machine. It's a bit slower than I'd want, but not catastrophic (it easily holds 60 fps at 4k, GPU times ~5 ms, CPU times a bit higher than that). It's probably very bad on an integrated GPU though, I suspect!
Can we get some details on the hardware that is seeing issues with this test (GPU etc), and maybe some screenshots of the WR profiler overlay with gfx.webrender.debug.gpu-time-queries
and gfx.webrender.debug.profiler
enabled? (no restart required to enable those).
I wonder if we're creating very large render targets for the off-screen surfaces that are preserve-3d, or similar to that.
Comment 8•3 years ago
|
||
Comment 9•3 years ago
|
||
https://share.firefox.dev/3i9rClf
That's from a macbook pro with an AMD Radeon Pro 460.
Comment 10•3 years ago
|
||
I made a mistake in my testing.
On current release Gecko, this test case works fine. However, on nightly it immediately crashes for me too.
The regressing patch only has the effect of clamping the perspective(0)
to be perspective(1)
- if I change the test case to have perspective(1)
in the codepen editor, it also OOMs on release.
kvark, something you may be able to take a look at?
Updated•3 years ago
|
Comment 11•3 years ago
|
||
I looked at this today. There is a whole bunch of alpha render targets, which are very big, but only created for box shadows.
The interesting bit is that BoxShadowData::dest_rect
is very small (around 128 x 128), and the box shadow is only affecting this sub-rectangle. So all that render target space (which triggers OOM) is wasted.
The reason why render targets are so big is because of the "Inset` mode. We have to fill everything outside of the box shadow rect as 1.
Removing "Inset" property makes the targets much smaller (think but long), but still takes a while. What we could do is having a better support of the "Inset" masks. When applying a mask, it's fairly trivial to work with either Inset or Outset. The biggest issue is combining Inset masks with Outset, because we'll need some sort of a fallback task for converting Inset into Outset.
Removing box shadows entirely makes it run significantly faster. The number of textures drops by the factor of 2, and their sizes are smaller.
Still, we generate a lot of masks that are just rectangles. Pretty sure that we could avoid some of these tasks completely.
Updated•3 years ago
|
Reporter | ||
Comment 12•3 years ago
•
|
||
Use of large memory is Fixed by bug 1749380. The rendering now looks like Chrome.
The higher GPU use is still present.
Updated•3 years ago
|
Updated•3 years ago
|
Description
•