Open Bug 1371501 Opened 7 years ago Updated 2 years ago

Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Unsupported transform function)

Categories

(Core :: DOM: Animation, defect, P3)

defect

Tracking

()

Tracking Status
firefox-esr52 --- wontfix
firefox56 --- wontfix
firefox57 --- wontfix
firefox58 --- wontfix
firefox59 --- ?

People

(Reporter: truber, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file test_case.html
The attached testcase causes an assertion failure in m-c rev 5c61d5d5fc65. Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Unsupported transform function), at /home/worker/workspace/build/src/layout/style/StyleAnimationValue.cpp:1411 #01: ComputeTransformListDistance at layout/style/StyleAnimationValue.cpp:1428 #02: mozilla::StyleAnimationValue::ComputeDistance at layout/style/StyleAnimationValue.cpp:1842 #03: mozilla::KeyframeUtils::ApplySpacing at xpcom/ds/nsTArray.h:1086 #04: mozilla::dom::KeyframeEffectReadOnly::BuildProperties<nsStyleContext> at dom/animation/KeyframeEffectReadOnly.cpp:961 #05: mozilla::dom::KeyframeEffectReadOnly::DoUpdateProperties<nsStyleContext> at dom/animation/KeyframeEffectReadOnly.cpp:339 #06: mozilla::dom::KeyframeEffectReadOnly::DoSetKeyframes<nsStyleContext> at dom/animation/KeyframeEffectReadOnly.cpp:234 #07: mozilla::dom::KeyframeEffectReadOnly::SetKeyframes at dom/animation/KeyframeEffectReadOnly.cpp:187 #08: mozilla::dom::KeyframeEffectReadOnly::ConstructKeyframeEffect<mozilla::dom::KeyframeEffect, mozilla::dom::UnrestrictedDoubleOrKeyframeAnimationOptions> at dom/animation/KeyframeEffectReadOnly.cpp:883 #09: mozilla::dom::KeyframeEffect::Constructor at dom/animation/KeyframeEffect.cpp:67 #10: mozilla::dom::Element::Animate at dom/base/Element.cpp:3552 #11: mozilla::dom::Element::Animate at mfbt/Maybe.h:445 #12: mozilla::dom::ElementBinding::animate at mfbt/AlreadyAddRefed.h:143 #13: mozilla::dom::GenericBindingMethod at dom/bindings/BindingUtils.cpp:2960 #14: js::CallJSNative at js/src/jscntxtinlines.h:293
Boris, can you take a look since it seems close to what you have been working on in style recently (specifically we're encountering an interpolatematrix or accumulatematrix where we don't expect to).
Flags: needinfo?(boris.chiou)
(In reply to Brian Birtles (:birtles) from comment #1) > Boris, can you take a look since it seems close to what you have been > working on in style recently (specifically we're encountering an > interpolatematrix or accumulatematrix where we don't expect to). Sure. I am checking this.
Assignee: nobody → boris.chiou
Flags: needinfo?(boris.chiou)
This seems an existing bug. We are trying to compute distance between: 1. interpolatematrx(xxx) 2. none Because the 2nd list is none, so we go into ComputeTransformListDistance (which expects both lists are resolved into matched lists), instead of ComputeMismatchedTransformListDistance. Looks like this is the case we didn't handle properly in Gecko for a long time, and I didn't realize this is a possible path before. My solution is: Make this case (i.e. none is the 1st or 2nd list) go into ComputeMismatchedTransformListDistance(), and make none be an identity matrix, so we can compute the distance between two matrices by ComputeTransform3DMatrixDistance() finally.
See Also: → 1339690
Priority: -- → P2
We dropped paced animation, but I'm not sure if devtool could hit this assertion on Gecko (and we didn't see this assertion for a long time.), so I'd like to downgrade the priority.
Priority: P2 → P3
INFO: Last good revision: 2eca685ff2431a68172b8120f58b9f9f8d109b4b INFO: First bad revision: 8a0851bef5398617c915661793f48833af567502 INFO: Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=2eca685ff2431a68172b8120f58b9f9f8d109b4b&tochange=8a0851bef5398617c915661793f48833af567502
Blocks: 1272549
Has Regression Range: --- → yes
Assignee: boris.chiou → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: