Failing MOZ_ASSERT(scrollId == ScrollableLayerGuid::NULL_SCROLL_ID)
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
People
(Reporter: mayhemer, Unassigned)
References
(Blocks 1 open bug)
Details
Debug build, m-c@2a072a09ae8d, win10x64
No specific STR , I think maybe trying to scroll (with the mouse wheel) on a content page with not high enough content to actually scroll. No, it was on https://www.websocket.org/echo.html on a 1440x900x1 screen.
> xul.dll!mozilla::layers::APZCTreeManager::GetAPZCAtPointWR({...}, 0x0000004a147fc0a0, 0x0000004a147fcc70, 0x0000004a147fc098) Line 2615 C++
xul.dll!mozilla::layers::APZCTreeManager::GetTargetAPZC({...}, 0x0000004a147fca38, 0x0000004a147fcc70, 0x0000004a147fca28) Line 2553 C++
xul.dll!mozilla::layers::APZCTreeManager::ReceiveInputEvent({...}, 0x0000004a147fd840, 0x0000004a147fd838) Line 1301 C++
xul.dll!mozilla::layers::APZInputBridgeParent::RecvReceiveMouseInputEvent({...}, 0x0000004a147fd8bc, 0x0000004a147fd858, 0x0000004a147fd840, 0x0000004a147fd838) Line 44 C++
xul.dll!mozilla::layers::PAPZInputBridgeParent::OnMessageReceived({...}, 0x0000000000000000) Line 255 C++
xul.dll!mozilla::gfx::PGPUParent::OnMessageReceived({...}, 0x0000000000000000) Line 1493 C++
xul.dll!mozilla::ipc::MessageChannel::DispatchSyncMessage(0x0000017e9de0a8e0, {...}, 0x0000000000000000) Line 2153 C++
xul.dll!mozilla::ipc::MessageChannel::DispatchMessage({...}) Line 2105 C++
xul.dll!mozilla::ipc::MessageChannel::RunMessage({...}) Line 1956 C++
xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1987 C++
xul.dll!nsThread::ProcessNextEvent(false, 0x0000004a147fee1f) Line 1227 C++
xul.dll!NS_ProcessNextEvent(0x0000017e9de62080, false) Line 486 C++
xul.dll!mozilla::ipc::MessagePump::Run(0x0000004a147ff6b0) Line 88 C++
xul.dll!mozilla::ipc::MessagePumpForChildProcess::Run(0x0000004a147ff6b0) Line 272 C++
xul.dll!MessageLoop::RunInternal() Line 315 C++
xul.dll!MessageLoop::RunHandler() Line 309 C++
xul.dll!MessageLoop::Run() Line 291 C++
xul.dll!nsBaseAppShell::Run() Line 139 C++
xul.dll!nsAppShell::Run() Line 406 C++
xul.dll!XRE_RunAppShell() Line 934 C++
Comment 1•5 years ago
|
||
Fwiw, I got this assertion when having devtools console open and reloading the document a few times. (Linux trunk debug build)
Just hit this with my developer tools while trying to scroll some jsm code.
Updated•5 years ago
|
Comment 3•5 years ago
|
||
The failing assertion is in APZ's WebRender-specific hit testing code.
Previous instances of this assertion failure (e.g. bug 1436200, bug 1436567) have been caused by bugs on the WebRender side (race conditions and similar); it's likely that's the case here too.
I've tried to repro this using the (fairly vague) STR mentioned so far, but have not been able to. I don't really have a suggestion for how to investigate this further without STR.
Updated•5 years ago
|
Comment 4•4 years ago
|
||
I'm getting this 100% of the time on my locally-built DEBUG build when attempting to use the Firefox profiler. My mozconfig is:
ac_add_options --enable-optimize
ac_add_options --enable-debug
ac_add_options --enable-js-shell
mk_add_options MOZ_MAKE_FLAGS="-j8 -s"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-debug
mach run
- go to https://profiler.firefox.com/public/ky746sbdcqm1jf5sqfe7v93m7crge3z622tkar0/calltree/?globalTrackOrder=7-0-1-2-3-4-5-6&hiddenGlobalTracks=1-2-3-4-5&localTrackOrderByPid=3025343-2-3-0-1~3025505-0~3025425-0~3025456-0~3025677-0~3025555-0~3025624-0-1~&thread=8&v=5 (but any profile will work)
- leave your mouse roughly in the middle of the screen while it is loading the profile in
- after it loads, move the mouse to the right pane and click on the 'GC/CC' dropdown
For me, it crashes with this assertion as soon as the mouse enters that pane, before I click on anything.
Unfortunately, it does not reproduce under rr. (I see in about:support
that Compositing is set to Basic
, which is presumably why.) Is there any way to run WebRender under rr? If so, I could try to get a recording of it.
Comment 5•4 years ago
|
||
I should also note that leaving the mouse in the middle to start with is not necessary. I actually needed to expand that GC/CC
list for something I was working on, and no matter how I tried to sneak up on it, it always crashed with the same assert.
Comment 6•4 years ago
|
||
Aha! Switching to software WebRender worked. I have an rr recording of the crash now. I'll upload it to Pernosco, though note that I may have to wait until tonight to do that because it'll hose my network.
Comment 7•4 years ago
|
||
Recording is available: https://pernos.co/debug/Q2wemcOLBr-hpLEUWU75UA/index.html
Hopefully that'll make tracking this down straightforward.
Comment 8•4 years ago
|
||
The patches in bug 1675547 might take care of this. In theory they should but I haven't done any sort of investigation on this bug to verify one way or the other.
Comment 9•4 years ago
|
||
Steve, would you be able to re-test this with a recent nightly (to pick up the fix of bug 1675547 which landed yesterday), with the pref apz.wr.activate_all_scroll_frames=true
(this is necessary because otherwise the fix currenly only takes effect with Fission enabled)?
Comment 10•4 years ago
|
||
I can confirm that it is fixed for me. Thank you!
Comment 11•4 years ago
|
||
Great, thanks for checking!
Description
•