Closed Bug 1145787 Opened 7 years ago Closed 7 years ago

B2G: F/MOZ_Assert( 210): Assertion failure: mFrameMetrics.IsRootScrollable(), at ../../../gecko/gfx/layers/apz/src/AsyncPanZoomController.cpp:1291

Categories

(Core :: Panning and Zooming, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed
b2g-master --- affected

People

(Reporter: njpark, Assigned: botond)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file, 1 obsolete file)

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
No longer depends on: 1134917
See Also: → 1134917
Keywords: steps-wanted
This assertion was added in bug 1036967.
Whiteboard: [gfx-noted]
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.
Attached file MozReview Request: bz://1145787/botond (obsolete) —
/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)
Assignee: nobody → botond
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:kats@mozilla.com) 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).
Attachment #8580978 - Flags: review?(bugmail.mozilla) → review+
Duplicate of this bug: 1145908
https://hg.mozilla.org/mozilla-central/rev/a7e0ef41f518
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
Attachment #8580978 - Attachment is obsolete: true
Attachment #8619833 - Flags: review+
You need to log in before you can comment on or make changes to this bug.