Closed Bug 1280805 Opened 8 years ago Closed 8 years ago

Assertion failure: aEvent.mFlags.mHandledByAPZ, at dom/ipc/TabChild.cpp:1925, when dragging things

Categories

(Core :: Panning and Zooming, defect)

50 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
firefox50 --- fixed

People

(Reporter: dbaron, Assigned: kats)

References

()

Details

(Keywords: assertion, crash, regression, Whiteboard: [gfx-noted])

Attachments

(2 files)

I've been seeing this fatal assertion:
Assertion failure: aEvent.mFlags.mHandledByAPZ, at /home/dbaron/builds/ssd/mozilla-central/mozilla/dom/ipc/TabChild.cpp:1925
somewhat frequently the past few days.

I think it happens reliably if I drag on the back-button menu to go back multiple pages.  I also just hit it  when dragging the map at http://landsatlook.usgs.gov/viewer.html (and this was with a reasonably current Linux-64 debug build based on https://hg.mozilla.org/mozilla-central/rev/3ce53bd1e25b plus my local work).
Attached file some debugging in gdb
This is from a few days ago, and I didn't want to file then because my build was a bit out of date at the time.
Blocks: 1273137
Flags: needinfo?(bugmail.mozilla)
I can reproduce this on OS X as well, if I drag the map the URL such that my mouse leaves the browser window. I'll look into it.
Assignee: nobody → bugmail.mozilla
Flags: needinfo?(bugmail.mozilla)
Keywords: regression
Whiteboard: [gfx-noted]
Version: Trunk → 50 Branch
What's happening is that the parent process EventStateManager is creating a eMouseEnterIntoWidget event and send it to the child [1]. Since this event creation occurs inside the eMouseMove handling, the InputAPZContext from nsBaseWidget is still on the stack, and so the input block id gets applied to the eMouseEnterIntoWidget event. However, the mHandledByAPZ flag is not set because the event never actually went through APZ. We can handle this in a number of ways, I need to figure out what the intended behaviour here should be.

[1] http://searchfox.org/mozilla-central/source/dom/events/EventStateManager.cpp#3977
Comment on attachment 8763629 [details]
Bug 1280805 - Don't assert in the valid case where the child process gets an event with an input block id but no mHandledByAPZ.

https://reviewboard.mozilla.org/r/59802/#review56756
Attachment #8763629 - Flags: review?(rbarker) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/4e6b1c5bc5bf
Don't assert in the valid case where the child process gets an event with an input block id but no mHandledByAPZ. r=rbarker
https://hg.mozilla.org/mozilla-central/rev/4e6b1c5bc5bf
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: