Closed
Bug 1455387
Opened 6 years ago
Closed 6 years ago
Crashtest failure with gfx.webrender.async-scene-build enabled
Categories
(Core :: Graphics: WebRender, defect, P1)
Tracking
()
RESOLVED
FIXED
People
(Reporter: kats, Unassigned)
References
Details
(Whiteboard: [gfx-noted])
When I do a try push with async scene building enabled, there is a crashtest failure - it doesn't happen on the same test every time, but there's usually at least one test that hits the crash. [1] is an example failure. I was able to reproduce it (or a similar-looking crash, anyway) locally as well, by running MOZ_ACCELERATED=1 MOZ_WEBRENDER=1 xr ./mach crashtest dom/base/crashtests/ I can reproduce even under rr but I don't know enough about this code to figure out what is wrong. The point of the crash is that request.tile.unwrap() panics at [2], and this is part of a render() call that is triggered from [3] (the SceneBuilderResult::Transaction handler). nical, are you familiar with this code and/or have any ideas on why it might not be working? My best guess is that the C++ side is freeing resources too early on the assumption that the scene is built and discarded, but because async scene building defers the build we need to keep those resources around longer. [1] https://treeherder.mozilla.org/logviewer.html#?job_id=174538795&repo=try&lineNumber=12027 [2] https://searchfox.org/mozilla-central/rev/59a9a86553e9bfd9277202748ff791fd9bc0713b/gfx/webrender/src/resource_cache.rs#641 [3] https://searchfox.org/mozilla-central/rev/59a9a86553e9bfd9277202748ff791fd9bc0713b/gfx/webrender/src/render_backend.rs#727
Flags: needinfo?(nical.bugzilla)
Updated•6 years ago
|
Blocks: stage-wr-nightly
Priority: -- → P1
Comment 1•6 years ago
|
||
This assertion blows up because we have a tiled image in the resource cache and we queried the whole image as a source for a primitive rather than a piece of it. The code that generates the requests should check whether the image is tiled and only generate tile requests if so. It's unclear why we would get a mismatch when using async scene building specifically, though. Maybe There can be situations where the "tiledness" of an image changes with a new transaction and the async nature of this configuration introduces something that we didn't think of, but I think we shouldn't even try to support transitioning an image from tiled to non-tiled or vs-versa.
Reporter | ||
Updated•6 years ago
|
See Also: → https://github.com/servo/webrender/issues/2686
Reporter | ||
Updated•6 years ago
|
See Also: → https://github.com/servo/webrender/pull/2695
Reporter | ||
Updated•6 years ago
|
See Also: → https://github.com/servo/webrender/pull/2704
Reporter | ||
Updated•6 years ago
|
See Also: → https://github.com/servo/webrender/pull/2742
Reporter | ||
Comment 2•6 years ago
|
||
With a WR update that includes servo/webrender#2742 the crashtest looks green with async-scene-building enabled. https://treeherder.mozilla.org/#/jobs?repo=try&revision=e08515974664869e3eea9a0ffdde8ab2ad9f9113
Depends on: 1459935
Reporter | ||
Updated•6 years ago
|
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Updated•6 years ago
|
Flags: needinfo?(nical.bugzilla)
You need to log in
before you can comment on or make changes to this bug.
Description
•