Closed Bug 1455491 Opened 6 years ago Closed 6 years ago

Crash in static <T> core::result::unwrap_failed<T> | static bool webrender::scene_builder::SceneBuilder::process_message

Categories

(Core :: Graphics: WebRender, defect, P1)

Unspecified
All
defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox59 --- unaffected
firefox60 --- unaffected
firefox61 --- disabled

People

(Reporter: jan, Assigned: kats)

References

(Blocks 1 open bug)

Details

(Keywords: crash, nightly-community, regression)

Crash Data

New on Socorro.

Only this one:
bp-80395013-b358-4659-8d88-1fb740180420 build 20180419100148 Win10
> called `Result::unwrap()` on an `Err` value: "SendError(..)"
Async scene building?
Flags: needinfo?(bugmail)
Priority: -- → P1
Yeah, I think so.
Assignee: nobody → bugmail
Flags: needinfo?(bugmail)
Crash Signature: [@ static <T> core::result::unwrap_failed<T> | static bool webrender::scene_builder::SceneBuilder::process_message ] → [@ static <T> core::result::unwrap_failed<T> | static bool webrender::scene_builder::SceneBuilder::process_message ] [@ mozalloc_abort | abort | libxul.so@0x3d0c978 | libxul.so@0x3d0c968 | libxul.so@0x3cfc4c0 | libxul.so@0x3cfc305 | libxul.so@0x3cfc299 |…
OS: Windows 10 → All
Crash Signature: | libxul.so@0x3d0fada | core::result::unwrap_failed<T> | webrender::scene_builder::SceneBuilder::process_message ] → | libxul.so@0x3d0fada | core::result::unwrap_failed<T> | webrender::scene_builder::SceneBuilder::process_message ] [@ mozalloc_abort | abort | libxul.so@0x3d0d818 | libxul.so@0x3d0d808 | libxul.so@0x3cfd360 | libxul.so@0x3cfd1a5 | libxul.so@0x3cfd139 | …
Crash Signature: libxul.so@0x3d09b4a | core::result::unwrap_failed<T> | webrender::scene_builder::SceneBuilder::process_message ] → libxul.so@0x3d09b4a | core::result::unwrap_failed<T> | webrender::scene_builder::SceneBuilder::process_message ] [@ mozalloc_abort | abort | panic_abort::__rust_start_panic::abort::h091e61b1e9ef8f82 | panic_abort::__rust_start_panic | core::result::unwr…
Crash Signature: core::result::unwrap_failed::h9d735709ea303459 ] → core::result::unwrap_failed::h9d735709ea303459 ] [@ mozalloc_abort | abort | libxul.so@0x3d0a6d8 | libxul.so@0x3d0a6c8 | libxul.so@0x3cfa220 | libxul.so@0x3cfa065 | libxul.so@0x3cf9ff9 | libxul.so@0x3d0d83a | core::result::unwrap_failed<T> | webrender::…
static <T> core::result::unwrap_failed<T> | static bool webrender::scene_builder::SceneBuilder::process_message signature has 157 crashes/107 installs so far.
So it looks like what's happening here is that the unwrap at [1] is failing, presumably because the RB thread has shut down and scene_rx is dead. I guess this could happen if the scene builder thread is processing a scene build concurrently with the RB thread getting a shutdown message.

[1] https://searchfox.org/mozilla-central/rev/fcd5cb3515d0e06592bba42e378f1b9518497e3d/gfx/webrender/src/scene_builder.rs#163
I have a tentative fix in upstream WR. However I haven't been able to reproduce this so I can't confirm it'll fix the problem. Based on the failure mechanism I expect that this would reproduce if somebody closes a window while we're in the middle of a long scene build (i.e. content that's expensive to deal with in WR).
Open https://jrmuizel.github.io/implementation-tests/dl-test-transform.html and click X to close the window.
bp-7a708151-242b-4cb5-82e7-e45360180423
Crash Signature: webrender::scene_builder::SceneBuilder::process_message] → webrender::scene_builder::SceneBuilder::process_message] [@ mozalloc_abort | abort | libxul.so@0x3cfd4e8 | libxul.so@0x3cfd4d8 | libxul.so@0x3ced030 | libxul.so@0x3cece75 | libxul.so@0x3cece09 | libxul.so@0x3d0064a | core::result::unwrap_failed<T> | web…
mozregression --good 2018-04-18 --bad 2018-04-21 --pref gfx.webrender.all:true startup.homepage_welcome_url:'https://jrmuizel.github.io/implementation-tests/dl-test-transform.html'
> 6:48.44 INFO: Last good revision: 69008e17de668cca67e7a27c73245961fe285d23
> 6:48.44 INFO: First bad revision: c3da365d2916344fac340eeab98319089915e46f
> 6:48.44 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=69008e17de668cca67e7a27c73245961fe285d23&tochange=c3da365d2916344fac340eeab98319089915e46f

> c3da365d2916	Kartikaya Gupta — Bug 1391318 - Automatically enable async scene building with webrender.all. r=jrmuizel
Blocks: 1391318
Has Regression Range: --- → yes
Has STR: --- → yes
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #6)
> Open https://jrmuizel.github.io/implementation-tests/dl-test-transform.html
> and click X to close the window.

Thanks! I can reproduce intermittently with this, and I can't using the try build at 
https://treeherder.mozilla.org/#/jobs?repo=try&revision=11b4ee7a033bebafea1f2dc1326dea8ae9c7fbc5
 which has the upstream WR fix. So hopefully the patch worked :)
Crash Signature: webrender::scene_builder::SceneBuilder::process_message ] → webrender::scene_builder::SceneBuilder::process_message ] [@ mozalloc_abort | abort | libxul.so@0x3ce82d8 | libxul.so@0x3ce82c8 | libxul.so@0x3cd7e20 | libxul.so@0x3cd7c65 | libxul.so@0x3cd7bf9 | libxul.so@0x3ceb43a | core::result::unwrap_failed<T> | we…
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #8)
> So hopefully the patch worked :)

Tested 9 times and didn't crash.
See Also: → 1456694
Crash Signature: webrender::scene_builder::SceneBuilder::process_message ] → webrender::scene_builder::SceneBuilder::process_message ] [@ static <T> core::result::unwrap_failed<T> | static void webrender::scene_builder::SceneBuilder::run ] [@ mozalloc_abort | abort | core::result::unwrap_failed<T> | webrender::scene_builder::Sc…
This should be fixed in the Apr 27 nightly onwards. I'll leave this open for a few days to verify via crash-stats.
No crashes since Apr 26.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.