Closed
Bug 1091296
Opened 10 years ago
Closed 10 years ago
ASSERTION: overwriting animated transform! 'layerComposite->GetShadowTransformSetByAnimation()'
Categories
(Core :: Panning and Zooming, defect)
Tracking
()
RESOLVED
FIXED
mozilla36
People
(Reporter: khuey, Assigned: kats)
References
Details
(Keywords: assertion)
Attachments
(3 files, 2 obsolete files)
9.79 KB,
patch
|
mattwoodrow
:
review+
bajaj
:
approval-mozilla-b2g34-
|
Details | Diff | Splinter Review |
3.60 KB,
patch
|
mattwoodrow
:
review+
bajaj
:
approval-mozilla-b2g34-
|
Details | Diff | Splinter Review |
5.03 KB,
patch
|
kats
:
review+
bajaj
:
approval-mozilla-b2g34-
|
Details | Diff | Splinter Review |
STR:
Set up two email accounts on b2g
Click the drop down selector in the hamburger panel to switch between them
Comment 1•10 years ago
|
||
Hmm, I'm thinking this is either a recent regression or the assertion doesn't matter, I've been running with two e-mail accounts for a while. Rob, is this assertion "something weird is going on", or "something dangerous is going on"?
Flags: needinfo?(roc)
It looks like an APZC bug to me.
Flags: needinfo?(roc)
(I don't know what causes the bug, it's just that that assertion definitely indicates a bug.)
Updated•10 years ago
|
Component: Graphics: Layers → Panning and Zooming
Updated•10 years ago
|
Blocks: gfx-target-2.2
Assignee | ||
Comment 4•10 years ago
|
||
I'm not able to reproduce this on Flame master. When I follow the STR in comment 0 I do see this:
11-06 14:50:36.326 I/Gecko ( 9346): Performance warning: Async animation disabled because frame size (320, 799) is bigger than the viewport (360, 607) or the visual rectangle (320, 799) is larger than the max allowable value (17895698) [div]
so maybe in Kyle's case he is getting OMTA whereas for me it is disabled, and so he sees the assertion whereas I do not.
Reporter | ||
Comment 5•10 years ago
|
||
I'm on a Nexus 5, so my viewport is bigger ;)
Assignee | ||
Comment 6•10 years ago
|
||
Ok, I reproduced it by returning true at http://mxr.mozilla.org/mozilla-central/source/layout/base/nsDisplayList.cpp?rev=0af9b31d714c#5017.
Will investigate.
Assignee: nobody → bugmail.mozilla
Reporter | ||
Comment 7•10 years ago
|
||
And actually I can't reproduce this on tip. Not sure if that's because Gecko changed or Gaia changed.
Assignee | ||
Comment 8•10 years ago
|
||
From what I can tell it's a legitimate scenario now to have both APZ and OMTA transforms on a layer and we just never had the code before to handle it. It should be straightforward enough to combine the two transforms properly and get rid of the warning.
Assignee | ||
Comment 9•10 years ago
|
||
Attachment #8518921 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 10•10 years ago
|
||
Attachment #8518922 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 11•10 years ago
|
||
Attachment #8518923 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 12•10 years ago
|
||
try |
I didn't bother fixing up the analogous situation in TransformScrollableLayer which would only trigger on Fennec. The reason I didn't is because (a) since Fennec doesn't have subframe async scrolling, it's not likely to hit a scenario where a layer has both OMTA and JPZC (Java PZC) transforms. And (b) that function is going to go away entirely once we port Fennec over to the C++ APZC. I would have done it anyway if it was trivial but there's some weirdness with the overscroll handling codepath there that I don't want to mess with.
Try push with above three patches:
https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=99e3b8967dce
Updated•10 years ago
|
Attachment #8518921 -
Flags: review?(matt.woodrow) → review+
Comment 13•10 years ago
|
||
Comment on attachment 8518922 [details] [diff] [review]
Part 2 - When compositing start each frame with a clear shadowtransform
Review of attachment 8518922 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/composite/AsyncCompositionManager.cpp
@@ +962,5 @@
>
> + // Clear any async transforms set in previous frames. This is necessary
> + // because some things called by ApplyAsyncContentTransformToTree add to the
> + // shadow transform rather than overwriting it.
> + ClearAsyncTransforms(root);
I don't think we need to do this at all, we call SetShadowProperties() in CompositorParent before this.
Attachment #8518922 -
Flags: review?(matt.woodrow) → review-
Comment 14•10 years ago
|
||
Comment on attachment 8518923 [details] [diff] [review]
Part 3 - Combine APZ transform with OMTA transform instead of clobbering it
Review of attachment 8518923 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/composite/AsyncCompositionManager.cpp
@@ +636,5 @@
> oldTransform.PreScale(resolution.scale, resolution.scale, 1);
>
> // For the purpose of aligning fixed and sticky layers, we disregard
> + // the overscroll transform as well as any OMTA transform when computing the
> + // 'aCurrentTransformForRoot' parameter. This ensures that the overscroll
Maybe explicitly mention that the use of GetTransform() is what skips those additions. The naming of GetTransform vs GetLocalTransform isn't overly helpful.
Attachment #8518923 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 15•10 years ago
|
||
Attachment #8518922 -
Attachment is obsolete: true
Attachment #8519970 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 16•10 years ago
|
||
Updated comment; carrying r+
Attachment #8518923 -
Attachment is obsolete: true
Attachment #8519971 -
Flags: review+
Updated•10 years ago
|
Attachment #8519970 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 17•10 years ago
|
||
I did a new try push because the one above has a suspicious-looking orange but I don't know if it's real or just because the trees are collapsing. Also this one does Fennec instead of B2G for wider try coverage.
https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=d64134a0d665
Assignee | ||
Comment 18•10 years ago
|
||
Try push was green, so landed:
remote: https://hg.mozilla.org/integration/b2g-inbound/rev/b9ebaad549c3
remote: https://hg.mozilla.org/integration/b2g-inbound/rev/357845594db4
remote: https://hg.mozilla.org/integration/b2g-inbound/rev/6fd76ef0601f
Comment 19•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/b9ebaad549c3
https://hg.mozilla.org/mozilla-central/rev/357845594db4
https://hg.mozilla.org/mozilla-central/rev/6fd76ef0601f
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
Assignee | ||
Comment 20•10 years ago
|
||
Assuming this affects 2.1 as well since it would have resulted from multi-layer-apz and the introduction of containerless scrolling. I'll let this bake a bit and then request uplift.
Assignee | ||
Comment 21•10 years ago
|
||
Comment on attachment 8518921 [details] [diff] [review]
Part 1 - Refactoring
NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.
[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 967844 probably
User impact if declined: scrollable layers which have CSS animations might not animate and instead would just 'jump' to the final position.
Testing completed: on m-c for a while now
Risk to taking this patch (and alternatives if risky): should be pretty safe at this point given the bake time. the patches might need a bit of rebasing to uplift.
String or UUID changes made by this patch: none
Attachment #8518921 -
Flags: approval-mozilla-b2g34?
Assignee | ||
Updated•10 years ago
|
Attachment #8519970 -
Flags: approval-mozilla-b2g34?
Assignee | ||
Updated•10 years ago
|
Attachment #8519971 -
Flags: approval-mozilla-b2g34?
Comment 22•10 years ago
|
||
Discussed offline with :kats on the common occurrence of this issue in different scenarios and determined it to be rare and something that may not be noticeable by an end user(without obviously looking at the assertion). I am worried about taking any code change at this point which does not have a critical user impact and dealing with any fallouts and this one is better off riding the trains.
Updated•10 years ago
|
Attachment #8518921 -
Flags: approval-mozilla-b2g34? → approval-mozilla-b2g34-
Updated•10 years ago
|
Attachment #8519970 -
Flags: approval-mozilla-b2g34? → approval-mozilla-b2g34-
Updated•10 years ago
|
Attachment #8519971 -
Flags: approval-mozilla-b2g34? → approval-mozilla-b2g34-
Assignee | ||
Updated•10 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•