-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Repro Steps
Install OS build that's < 19H1 (eg RS5)
Run RNTester on this build with this change to AnimatedExample.js:
title: 'Transform Bounce',
description:
'One `Animated.Value` is driven by a ' +
'spring with custom constants and mapped to an ' +
'ordered set of transforms. Each transform has ' +
'an interpolation to convert the value into the ' +
'right range and units.',
render: function() {
this.anim = this.anim || new Animated.Value(0);
return (
<View>
<RNTesterButton
onPress={() => {
Animated.spring(this.anim, {
toValue: 0, // Returns to the start
velocity: 3, // Velocity makes it move
tension: -10, // Slow
friction: 1, // Oscillate a lot
**useNativeDriver:true**
Go to the Animated Examples page
Hit the "Press to Fling it" button
RESULT
Crash with this callstack:
ucrtbased.dll!5745fe60() Unknown
ucrtbased.dll![Frames below may be incorrect and/or missing, no symbols loaded for ucrtbased.dll] Unknown
[External Code]
React.UWP.dll!facebook::react::CxxNativeModule::invoke::__l2::() Line 155 C++
[External Code]
React.UWP.dll!react::uwp::ShadowNodeBase::UpdateTransformPS() Line 105 C++
React.UWP.dll!react::uwp::ShadowNodeBase::EnsureTransformPS() Line 85 C++
React.UWP.dll!react::uwp::PropsAnimatedNode::StartAnimations() Line 99 C++
React.UWP.dll!react::uwp::PropsAnimatedNode::UpdateView() Line 85 C++
React.UWP.dll!react::uwp::PropsAnimatedNode::ConnectToView(__int64 viewTag) Line 35 C++
React.UWP.dll!react::uwp::NativeAnimatedNodeManager::ConnectAnimatedNodeToView(__int64 propsNodeTag, __int64 viewTag) Line 115 C++
React.UWP.dll!react::uwp::NativeAnimatedModule::ConnectAnimatedNodeToView(__int64 animatedNodeTag, __int64 viewTag) Line 168 C++
React.UWP.dll!react::uwp::NativeAnimatedModule::getMethods::__l2::(folly::dynamic args) Line 66 C++
The issue here is that when running downlevel, we don't support the ActualSize facade, which is needed for the Transform property to work, and we have code to protect against static Transform values, but something in the animation code path is still trying to run the animation. We need to add a check in the transform animation code that we're on a build that supports this stuff.