Search Issue Tracker

Fix In Review for 2021.1.X

Planned for 2019.4.X

Votes

0

Found in

2019.4

2019.4.17f1

Issue ID

1346587

Regression

No

Crash on libunity.AnimationClip::GetRuntimeAsset when an Animation is played

Animation

-

How to reproduce:
1. Open the attached project from Google Drive
2. Build And Run the Project
3. On the main base screen go to PVP (icon with two crossed rifles on the right)
4. Click "start" at the right bottom corner
5. Wait for the bots to start shooting

Reproducible with 2019.4.30f1

First lines of the stacktrace:

UnityPlayer.dll!AnimationClip::GetRuntimeAsset() Line 1777 C++
UnityPlayer.dll!mecanim::animation::EvaluateBlendTree(const mecanim::animation::BlendTreeConstant & constant, const mecanim::animation::BlendTreeInput & input, mecanim::animation::BlendTreeOutput & output, mecanim::animation::BlendTreeWorkspace & workspace, const mecanim::animation::AnimationSet & animationSet) Line 881 C++
UnityPlayer.dll!AnimationBlendTreePlayable::DoBlendTreeEvaluation(const mecanim::animation::BlendTreeConstant * treeConstant, const mecanim::statemachine::StateConstant & arStateConstant, mecanim::animation::BlendTreeInput * blendTreeInput, mecanim::animation::BlendTreeOutput * blendTreeOutput, mecanim::animation::BlendTreeWorkspace * blendTreeWorkspace, const mecanim::statemachine::StateMachineInput & arStateMachineInput, float cycleOffset, bool mirror) Line 166 C++
UnityPlayer.dll!mecanim::statemachine::EvaluateStateDuration(const mecanim::statemachine::StateConstant & arStateConstant, mecanim::statemachine::StateOutput & arStateOutput, mecanim::statemachine::StateWorkspace & arStateWorkspace, const mecanim::ValueArrayConstant & arValues, const mecanim::statemachine::StateMachineInput & arStateMachineInput, bool currentState) Line 614 C++
UnityPlayer.dll!mecanim::statemachine::EvaluateState(const mecanim::ValueArrayConstant & apValues, const mecanim::statemachine::StateConstant & apStateConstant, const mecanim::statemachine::StateMachineInput & apStateMachineInput, mecanim::statemachine::StateMachineOutput & apStateMachineOutput, mecanim::statemachine::StateMachineMemory & apStateMachineMemory, mecanim::statemachine::StateOutput & apStateOutput, mecanim::statemachine::StateWorkspace & apStateWorkspace, bool currentState, bool justStartedDynamicTransition) Line 666 C++
UnityPlayer.dll!mecanim::statemachine::EvaluateStateMachine(const mecanim::statemachine::StateMachineConstant & stateMachineConstant, const mecanim::statemachine::StateMachineInput & stateMachineInput, mecanim::statemachine::StateMachineOutput & stateMachineOutput, mecanim::statemachine::StateMachineMemory & stateMachineMemory, mecanim::statemachine::StateMachineWorkspace & stateMachineWorkspace) Line 1216 C++
UnityPlayer.dll!AnimatorControllerPlayable::UpdateGraph(float deltaTime) Line 544 C++
[Inline Frame] UnityPlayer.dll!AnimatorControllerPlayable::PrepareFrame(const FrameData & info, Playable * source, bool) Line 276 C++
UnityPlayer.dll!AnimatorControllerPlayable::PrepareFrame(const DirectorVisitorInfo & info) Line 258 C++
UnityPlayer.dll!Playable::PrepareFrameVisitor(DirectorVisitorInfo & info) Line 598 C++

  1. Response avatar

    Resolution Note (fix version 2021.1):

    After investigation we found this crash is a consequence of editing an active animator override controller in a state machine enter callback. Unlike other callbacks, the state machine enter and exit callbacks are executed inside the animation update, which in this cases had some unexpected consequences of freeing some memory that was referenced internally by the animation evaluator. This has been fixed by avoiding to cache any memory that could be invalidated by modifying the animation controller.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.