Description

Crash occurs when compiling an animation blueprint with a Spline IK node.

This seems to occur only with the Start and End Bone settings set a certain (perhaps incorrect) way. In the example given, if Start Bone is spine_03 and End Bone is spine_01, the editor crashes. But if it's vice versa, there is no crash.

Steps to Reproduce
  1. Open QAGame in editor.
  2. Create an animation blueprint based on UE4_Mannequin_Skeleton and open it.
  3. Add a Spline IK node.
  4. Add a Play ThirdPersonIdle node.
  5. Wire the Play node to the Spline IK node, and then the Spline IK node to the Final Animation Pose.
  6. Select the Spline IK node.
  7. In the Details panel, set Start Bone to spine_03
  8. Set End Bone to spine_01.
  9. Compile.

RESULT
Crash

WORKAROUND

Set Start Bone to spine_01 and End Bone to spine_03.

Callstack
UE4Editor_AnimGraphRuntime!FCSPose<FCompactPose>::LocalBlendCSBoneTransforms() bonepose.h:686 
UE4Editor_AnimGraphRuntime!FAnimNode_SkeletalControlBase::EvaluateComponentSpace() animnode_skeletalcontrolbase.cpp:86 
UE4Editor_Engine!FComponentSpacePoseLink::EvaluateComponentSpace() animnodebase.cpp:283 
UE4Editor_Engine!FAnimNode_ConvertComponentToLocalSpace::Evaluate() animnodespaceconversions.cpp:34 
UE4Editor_Engine!FPoseLink::Evaluate() animnodebase.cpp:221 
UE4Editor_Engine!FAnimInstanceProxy::EvaluateAnimationNode() animinstanceproxy.cpp:849 
UE4Editor_Engine!FAnimInstanceProxy::EvaluateAnimation() animinstanceproxy.cpp:839 
UE4Editor_Engine!UAnimInstance::ParallelEvaluateAnimation() animinstance.cpp:531 
UE4Editor_Engine!USkeletalMeshComponent::EvaluateAnimation() skeletalmeshcomponent.cpp:1382 
UE4Editor_Engine!USkeletalMeshComponent::PerformAnimationEvaluation() skeletalmeshcomponent.cpp:1460 
UE4Editor_Engine!USkeletalMeshComponent::RefreshBoneTransforms() skeletalmeshcomponent.cpp:1662 
UE4Editor_Engine!USkeletalMeshComponent::InitAnim() skeletalmeshcomponent.cpp:529 
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner() kismetreinstanceutilities.cpp:1820 
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReplaceInstancesOfClass() kismetreinstanceutilities.cpp:1480 
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReinstanceInner() kismetreinstanceutilities.cpp:686 
UE4Editor_UnrealEd!FBlueprintCompileReinstancer::ReinstanceObjects() kismetreinstanceutilities.cpp:917 
UE4Editor_UnrealEd!FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:868 
UE4Editor_Kismet!FBlueprintEditor::Compile() blueprinteditor.cpp:3251 
UE4Editor_AnimationBlueprintEditor!FAnimationBlueprintEditor::Compile() animationblueprinteditor.cpp:885 
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl() delegateinstancesimpl.h:327 
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl() delegateinstancesimpl.h:433 
UE4Editor_Slate!FUICommandList::ExecuteAction() uicommandlist.cpp:94 
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() stoolbarbuttonblock.cpp:305 
UE4Editor_Slate!TMemberFunctionCaller<SToolBarButtonBlock,FReply() delegateinstanceinterface.h:165 
UE4Editor_Slate!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SToolBarButtonBlock,FReply() tuple.h:118 
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,FReply __cdecl() delegateinstancesimpl.h:327 
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() delegatesignatureimpl.inl:537 
UE4Editor_Slate!SButton::OnMouseButtonUp() sbutton.cpp:278 
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator() slateapplication.cpp:5051 
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() slateapplication.cpp:238
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() slateapplication.cpp:5040 
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() slateapplication.cpp:5503 
UE4Editor_Slate!FSlateApplication::OnMouseUp() slateapplication.cpp:5480 
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() windowsapplication.cpp:1696 
UE4Editor_Core!FWindowsApplication::DeferMessage() windowsapplication.cpp:2115 
UE4Editor_Core!FWindowsApplication::ProcessMessage() windowsapplication.cpp:865 
UE4Editor_Core!FWindowsApplication::AppWndProc() windowsapplication.cpp:712 
user32!<Unknown> 
user32!<Unknown> 
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() windowsplatformmisc.cpp:979 
UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2912 
UE4Editor!GuardedMain() launch.cpp:166 
UE4Editor!GuardedMainWrapper() launchwindows.cpp:130 
UE4Editor!WinMain() launchwindows.cpp:206 
UE4Editor!__scrt_common_main_seh() exe_common.inl:264 
kernel32!<Unknown> 
ntdll!<Unknown> 

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-39720 in the post.

0
Login to Vote

Fixed
ComponentUE - Anim - Rigging
Affects Versions4.16
Target Fix4.16
Fix Commit3234574
Main Commit3252563
CreatedDec 13, 2016
ResolvedDec 14, 2016
UpdatedMar 31, 2023