Closed Bug 1901190 Opened 5 months ago Closed 26 days ago

Crash on a modified Codepen demo with conic gradients (https://codepen.io/mayankleoboy1/full/wvbeZaG)

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: mayankleoboy1, Unassigned)

References

()

Details

(Keywords: crash)

Crash Data

Open this modified codepen demo : https://codepen.io/mayankleoboy1/full/wvbeZaG (Original version at https://codepen.io/thebabydino/pen/QKdWrE)

AR: Crash
ER: Not so
If it doesnt crash, try to maximize the browser window and reopen the testcase.
Couldnt get an accurate bisection.

since this contains conic gradients, ni? to :nical and cc :gw

Crash report: https://crash-stats.mozilla.org/report/index/aa2a0a83-cddb-473f-906c-50a7c0240607

Flags: needinfo?(nical.bugzilla)

The only modification I did was to change the "20" in the original Codepen to "200" for both html and css.
FWIW, till a few months back, this testcase showed the symptoms of bug 1840988 and co and did not crash. Now it crashes but doesnt show those symptoms.

Just realized that i have previously filed bug 1893845 which may be describing similar things as comment 1. That bug got fixed by the porting of conic gradients to quad gradient infrastructure.

See Also: → 1893845

This isn't crashing for me on the handful of computers I have at my disposal. Glenn fixed a similar looking signature recently so maybe that crash got fixed along with it.

That said this test case absolutely brings WebRender to its knees. WR allocates hundreds of textures and gigabytes of vram to render primitives that need render tasks (presumably masked gradients in this case). That's a rather fundamental design flaw in WR, where some primitives require rendering into an intermediate surface and if there are unbounded amounts of them, they end up requiring unbounded amounts of memory. Ideally WR would start rendering to the destination target after it hits a certain threshold to free up space in the intermediate targets and switch back to populating intermediate targets with new primitives, but that's unfortunately hard to achieve within WR's current architecture.

Flags: needinfo?(nical.bugzilla)

The severity field is not set for this bug.
:gw, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(gwatson)
Severity: -- → S3
Flags: needinfo?(gwatson)

This doesnt crash for me anymore. I suspect this improvement is due to the recent allocator work for wr done by :nical. ( A bisection gave this range which is garbage)
I am happy to close this bug as fixed.

Nical, do you want to keep this bug open for investigating comment 3? (Though there already are enough similar bugs I guess)

Flags: needinfo?(nical.bugzilla)

Thanks for checking, Mayank. Let's close.

Status: NEW → RESOLVED
Closed: 26 days ago
Flags: needinfo?(nical.bugzilla)
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.