Closed Bug 1468294 Opened 6 years ago Closed 6 years ago

panicked at 'animate should only be used for interpolating or accumulating transforms'

Categories

(Core :: DOM: Animation, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox60 --- unaffected
firefox61 --- unaffected
firefox62 --- fixed

People

(Reporter: truber, Assigned: hiro)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, regression, testcase)

Attachments

(2 files)

Attached file testcase.html (deleted) —
The attached testcase causes a panic in m-c 20180611-62ab31ea0ec7 thread '<unnamed>' panicked at 'animate should only be used for interpolating or accumulating transforms', style-2f3f2642796fb364/out/properties.rs:88389:9 ... #5: std::panicking::begin_panic at src/libstd/panicking.rs:538 #6: _<style..properties..animated_properties..Quaternion as style..values..animated..Animate>::animate at /out/properties.rs:88389 #7: _<style..properties..animated_properties..MatrixDecomposed3D as style..values..animated..Animate>::animate at /out/properties.rs:88341 #8: style::properties::animated_properties::_<impl style..values..animated..Animate for style..values..generics..transform..Matrix3D<f32>>::animate at /out/properties.rs:88127 #9: style::properties::animated_properties::_<impl style..values..animated..Animate for style..values..generics..transform..TransformOperation<style..values..computed..angle..Angle, f32, style..values..computed..length..CSSPixelLeng th, i32, style..values..computed..length..LengthOrPercentage>>::animate at /out/properties.rs:87711 #10: _<&'a mut I as core..iter..iterator..Iterator>::next at /out/properties.rs:89261 #11: _<alloc..vec..Vec<T> as alloc..vec..SpecExtend<T, I>>::from_iter at src/liballoc/vec.rs:1801 #12: _<style..properties..animated_properties..AnimationValue as style..values..animated..Animate>::animate at src/liballoc/vec.rs:1713 #13: geckoservo::glue::compose_animation_segment at servo/ports/geckolib/glue.rs:591 #14: geckoservo::glue::Servo_ComposeAnimationSegment at servo/ports/geckolib/glue.rs:608 #15: mozilla::layers::AnimationHelper::SampleAnimationForEachNode(mozilla::TimeStamp, mozilla::TimeStamp, nsTArray<mozilla::layers::Animation>&, nsTArray<mozilla::layers::AnimData>&, RefPtr<RawServoAnimationValue>&, mozilla::layers: :AnimatedValue const*) at gfx/layers/AnimationHelper.cpp:319
Flags: in-testsuite?
Comment on attachment 8984997 [details] Bug 1468294 - Double f64::EPSILON for calculation error. https://reviewboard.mozilla.org/r/250732/#review257004 ::: servo/components/style/properties/helpers/animated_properties.mako.rs:1741 (Diff revision 1) > fn animate(&self, other: &Self, procedure: Procedure) -> Result<Self, ()> { > use std::f64; > > let (this_weight, other_weight) = procedure.weights(); > debug_assert!( > - (this_weight + other_weight - 1.0f64).abs() <= f64::EPSILON || > + (this_weight + other_weight - 1.0f64).abs() <= f64::EPSILON * 2.0 || We should a comment to the code to explain why we are doubling the epsilon.
Attachment #8984997 - Flags: review?(bbirtles) → review+
Pushed by hikezoe@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ee2f1c495bc1 Double f64::EPSILON for calculation error. r=birtles
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: