Closed Bug 1576173 Opened 5 years ago Closed 4 years ago

Failing MOZ_ASSERT(scrollId == ScrollableLayerGuid::NULL_SCROLL_ID)

Categories

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

defect

Tracking

()

RESOLVED DUPLICATE of bug 1675547

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++

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.

Flags: needinfo?(botond)

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.

Component: Graphics: Layers → Graphics: WebRender
Flags: needinfo?(botond)
Priority: -- → P3

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

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.

Flags: needinfo?(botond)

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.

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.

Flags: needinfo?(botond)

Recording is available: https://pernos.co/debug/Q2wemcOLBr-hpLEUWU75UA/index.html

Hopefully that'll make tracking this down straightforward.

Flags: needinfo?(botond)

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.

Summary: Failig MOZ_ASSERT(scrollId == ScrollableLayerGuid::NULL_SCROLL_ID) → Failing MOZ_ASSERT(scrollId == ScrollableLayerGuid::NULL_SCROLL_ID)

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)?

Flags: needinfo?(botond) → needinfo?(sphink)

I can confirm that it is fixed for me. Thank you!

Status: NEW → RESOLVED
Closed: 4 years ago
Flags: needinfo?(sphink)
Resolution: --- → DUPLICATE

Great, thanks for checking!

You need to log in before you can comment on or make changes to this bug.