Closed Bug 1255725 Opened 9 years ago Closed 9 years ago

Assertion failure: aChild->GetApzc() != parent, at /builds/slave/try-and-api-15-d-0000000000000/build/src/gfx/layers/apz/src/HitTestingTreeNode.cpp:87

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1250718
Tracking Status
firefox48 --- affected

People

(Reporter: hiro, Unassigned)

Details

(Whiteboard: gfx-noted)

Attachments

(2 files)

Attached patch XXXXX.patchSplinter Review
Attaching mochitest causes the assertion at [1] on Android. [1] Assertion failure: aChild->GetApzc() != parent, at /builds/slave/try-and-api-15-d-0000000000000/build/src/gfx/layers/apz/src/HitTestingTreeNode.cpp:87 The mochitest just does: 1. create transform and opacity animations 2. add 'transform-style: preserve-3d' style to the target element 3. remove the style A try run with the mochitest https://treeherder.mozilla.org/logviewer.html#?job_id=17938412&repo=try
kats, as far as I can tell, the mochitest should not affect APZC codes. I have no idea why the test hits the assertion. Any hints?
Flags: needinfo?(bugmail.mozilla)
The assertion can fire if the layer tree is not conforming to the APZ code's expectations. It might be a bug in the layer tree generating code, or it might be a bug in APZ. Can you add this code: if (aRoot) { aRoot->Manager()->Dump(); } at the start of the UpdateHitTestingTree function [1] and attach the output from running the test? The layer dump just before it crashes is what I'm interested in, it should show us whether the layer tree is bad or not. Thanks! [1] http://mxr.mozilla.org/mozilla-central/source/gfx/layers/apz/src/APZCTreeManager.cpp?rev=90e4525b2989#133
Flags: needinfo?(bugmail.mozilla)
Attached file The layer dump
Thank you, kats! This is a log just before the assertion happened. I did took a little look it but I can't understand at all. I admire you! The whole mochitest log can be seen from http://archive.mozilla.org/pub/mobile/try-builds/hiikezoe@mozilla-japan.org-ff52e2d6adb63e9f30e23d8acb1d6d03973613e0/try-android-api-15-debug/try_ubuntu64_vm_armv7_large-debug_test-mochitest-chrome-bm54-tests1-linux64-build73.txt.gz
Flags: needinfo?(bugmail.mozilla)
The third layer dump is bad - there's a layer (0x5fd1a400) with metrics with scrollId=5, which has a child (0x5fc18000) also with a metrics with scrollId=5. Directing to Matt, as this seems to be a case of preserve-3d causing the creation of a bad layer tree.
Component: Panning and Zooming → Layout
Flags: needinfo?(bugmail.mozilla) → needinfo?(matt.woodrow)
So I'm fairly sure this is because we're creating the opacity layer outside the transform, and not correcting the AGRs. That would make it a regression from bug 1229317. Unfortunately I'm not having any luck reproducing this on desktop, and I don't have an android build environment handy. The patch in bug 1250718 changes this again, and generates the correct AGRs as far as I can tell. Can you give that a try and see if it helps?
Flags: needinfo?(matt.woodrow)
Thank you, Matt! I just confirmed now that the patches in bug 1250718 solves bug 1255710 too. And push try with the patches now. https://treeherder.mozilla.org/#/jobs?repo=try&revision=1c37707f0ed8&selectedJob=18013336
Great! The assertion has gone by the patches.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: