Closed Bug 1145787 Opened 7 years ago Closed 7 years ago
_Assert( 210): Assertion failure: m Frame Metrics .Is Root Scrollable(), at ../../../gecko/gfx/layers/apz/src/Async Pan Zoom Controller .cpp:1291
39 bytes, text/x-review-board-request
STR: Load the debug build in the browser app, go to http://cnn.it/1H9l370 scroll up/down, and pinch zoom in/out The browser will crash, and the logcat shows following assertion at the time of the crash: F/MOZ_Assert( 210): Assertion failure: mFrameMetrics.IsRootScrollable(), at ../../../gecko/gfx/layers/apz/src/AsyncPanZoomController.cpp:1291 Also, while scrolling the webpage, below assertion failure is shown periodically: I/Gecko (12788): [Child 12788] ###!!! ASSERTION: old rule tree still referenced: 'Not Reached', file ../../../gecko/layout/style/nsStyleSet.cpp, line 2124 Version Info: Gaia-Rev 8837f94418d69a0b06c1f4843b0779e2bb72165a Gecko-Rev https://hg.mozilla.org/integration/mozilla-inbound/rev/d74279a9b861 Build-ID 20150320073136 Version 39.0a1 Device-Name flame FW-Release 4.4.2 FW-Incremental eng.cltbld.20150320.110113 FW-Date Fri Mar 20 11:01:24 EDT 2015 Bootloader L1TC000118D0
Silly me. I intended for this assertion to check that OnScale() is only called on the root (in the IsRootScrollable() sense) APZC, but I added it before the 'mState != PINCHING' check. Turns out the mechanism we use to prevent non-root APZCs from being zoomed is by not allowing them to get into the PINCHING state - they can safely get into OnScale(), which exits at that check.
/r/5813 - Bug 1145787 - Put a misplaced assertion into its proper place. r=kats Pull down this commit: hg pull review -r 07e2f4f06c86222b3f8064bac43cab4fe47a96bc
Attachment #8580978 - Flags: review?(bugmail.mozilla)
IIRC only the root APZC for a process should be receiving the touch events with more than one touch, and so only the root APZC should be getting OnScaleBegin/OnScale calls. It sounds like that's not the case?
(In reply to Kartikaya Gupta (email:firstname.lastname@example.org) from comment #4) > IIRC only the root APZC for a process should be receiving the touch events > with more than one touch, and so only the root APZC should be getting > OnScaleBegin/OnScale calls. It sounds like that's not the case? The root APZC in the root process is not IsRootScrollable() (and cannot be zoomed).
7 years ago
Attachment #8580978 - Flags: review?(bugmail.mozilla) → review+
Comment on attachment 8580978 [details] MozReview Request: bz://1145787/botond https://reviewboard.mozilla.org/r/5811/#review4797 Ship It!
Try push that includes this patch: https://treeherder.mozilla.org/#/jobs?repo=try&revision=a430e26d1578
You need to log in before you can comment on or make changes to this bug.