Closed Bug 1652619 Opened 1 year ago Closed 2 months ago

Crash at mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl() (Two layers that scroll together have different ancestor transforms)

Categories

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

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: alwu, Unassigned)

References

(Blocks 1 open bug, )

Details

Attachments

(1 file)

While I was browsing video on Twitch on my own build m-c (based on 546903:4e9d6619c9d5), then I got this crash.


Assertion failure: false (Two layers that scroll together have different ancestor transforms), at /Users/awu/gecko-dev/mozilla-central/gfx/layers/apz/src/APZCTreeManager.cpp:1399
#01: void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::WebRenderScrollDataWrapper>(mozilla::layers::WebRenderScrollDataWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::WebRenderScrollDataW[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15b86a1]
#02: std::__1::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::WebRenderScrollDataWrapper, void mozilla::layers::APZCT[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15b80de]
#03: std::__1::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::WebRenderScrollDataWrapper, void mozilla::layers::APZCT[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15b8171]
#04: std::__1::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::WebRenderScrollDataWrapper, void mozilla::layers::APZCT[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15b8171]
[Child 18201: Main Thread]: D/nsMediaElement 0x18c516000 SuspendOrResumeElement(suspend=0) hidden=0
[Child 18201: Main Thread]: D/nsMediaElement 0x18c517000 SuspendOrResumeElement(suspend=0) hidden=0
[Child 18201: Main Thread]: D/nsMediaElement 0x18c516800 SuspendOrResumeElement(suspend=0) hidden=0
#05: std::__1::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::WebRenderScrollDataWrapper, void mozilla::layers::APZCT[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15b8171]
#06: std::__1::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::WebRenderScrollDataWrapper, void mozilla::layers::APZCT[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15b8171]
#07: void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::WebRenderScrollDataWrapper>(mozilla::layers::WebRenderScrollDataWrapper const&, bool, mozilla::layers::LayersId, unsigned int)[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x156bcc3]
#08: mozilla::detail::RunnableFunction<mozilla::layers::APZUpdater::UpdateScrollDataAndTreeState(mozilla::layers::LayersId, mozilla::layers::LayersId, mozilla::wr::Epoch const&, mozilla::layers::WebRenderScrollData&&)::$25>::Run()[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15c5fe3]
#09: mozilla::layers::APZUpdater::ProcessQueue()[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x1586922]
#10: mozilla::layers::APZUpdater::CompleteSceneSwap(mozilla::wr::WrWindowId const&, mozilla::wr::WrPipelineInfo const&)[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15862ab]
#11: apz_post_scene_swap[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x15889e3]
#12: $LT$webrender_bindings..bindings..APZCallbacks$u20$as$u20$webrender..renderer..SceneBuilderHooks$GT$::post_scene_swap::h05265aef9945828a[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x75c1702]
#13: webrender::scene_builder_thread::SceneBuilderThread::forward_built_transactions::h2cfee8d4b8c43827[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7936ff9]
#14: webrender::scene_builder_thread::SceneBuilderThread::run::h1d28485de83603a6[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x7935584]
#15: webrender::renderer::Renderer::new::
$u7b$$u7b$closure$u7d$$u7d$::h588e2175071116ef[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x78b20ac]
#16: std::sys_common::backtrace::__rust_begin_short_backtrace::he909a97a94a01842[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x78b1dbb]
#17: std::thread::Builder::spawn_unchecked::
$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h9364a7740effc39f[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x79472fb]
#18: _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h6b7b8d8fb1163e7b[/Users/awu/gecko-dev/mozilla-central/objdir-debug/dist/NightlyDebug.app/Contents/MacOS/XUL +0x794623b]

Attached image high CPU usage

In addition, the CPU usage was super high when I was loading that page, even if the video didn't start.

I tried to use profiler, but I got this error when I hit the profile button.

Hit MOZ_CRASH(Caught GL error 506 at blit_framebuffer) at gfx/wr/webrender/src/device/gl.rs:1344

Kats, anything that stands out here?

Flags: needinfo?(kats)

The crash in comment 0 is another instance of a crash we've seen before (bug 1491000 and friends). I don't know if the crash in comment 1 is related.

Blocks: APZLayout
Depends on: 1491000
Flags: needinfo?(kats)
Summary: Crash at mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl() → Crash at mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl() (Two layers that scroll together have different ancestor transforms)
Severity: -- → S3
Priority: -- → P3
See Also: → 1691997
See Also: → 1576514

I suspect this has been fixed (perhaps by bug 1719913, though it could have been something else). Alastor, could you check please if the assertion failure is still reproducible in the latest Firefox Nightly?

Flags: needinfo?(alwu)

No, I haven't seen that crash for a while. It works well on the latest Nightly, thanks!

Flags: needinfo?(alwu)

Thanks for checking!

Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.