According to CrashReporter there is both an Ensure and a Crash that occur with this callstack. The error message for the Ensure is
Ensure condition failed: UIDList == AnimationCurves.UIDList [File:D:\Build\++UE4+Release-4.16+Compile\Sync\Engine\Source\Editor\SequenceRecorder\Private\AnimationRecorder.cpp] [Line: 616]
Both the Ensure and the Assertion have occurred commonly since at least the 4.12 release.
User Descriptions
Source Context
563 USkeleton* AnimSkeleton = AnimationObject->GetSkeleton(); 564 for (int32 TrackIndex = 0; TrackIndex < AnimationObject->RawAnimationData.Num(); ++TrackIndex) 565 { 566 // verify if this bone exists in skeleton 567 int32 BoneTreeIndex = AnimationObject->GetSkeletonIndexFromRawDataTrackIndex(TrackIndex); 568 if (BoneTreeIndex != INDEX_NONE) 569 { 570 int32 BoneIndex = AnimSkeleton->GetMeshBoneIndexFromSkeletonBoneIndex(SkeletalMesh, BoneTreeIndex); 571 int32 ParentIndex = SkeletalMesh->RefSkeleton.GetParentIndex(BoneIndex); 572 ***** FTransform LocalTransform = SpacesBases[BoneIndex]; 573 if ( ParentIndex != INDEX_NONE ) 574 { 575 if (ParentIndex == SkeletonRootIndex) 576 { 577 // Remove initial root transform 578 LocalTransform.SetToRelativeTransform(SpacesBases[ParentIndex] * InvInitialRootTransform); 579 } 580 else 581 { 582 LocalTransform.SetToRelativeTransform(SpacesBases[ParentIndex]); 583 } 584 }
Probably need to prevent any changes to the animation asset while recording.
Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 596] Array index out of bounds: 0 from an array of size 0 UE4Editor_SequenceRecorder!FAnimationRecorder::Record() [animationrecorder.cpp:616] UE4Editor_SequenceRecorder!FAnimationRecorder::UpdateRecord() [animationrecorder.cpp:501] UE4Editor_SequenceRecorder!FAnimRecorderInstance::Update() [animationrecorder.cpp:819] UE4Editor_SequenceRecorder!FAnimationRecorderManager::Tick() [animationrecorder.cpp:715] UE4Editor_SequenceRecorder!FSequenceRecorder::Tick() [sequencerecorder.cpp:257] UE4Editor_SequenceRecorder!FSequenceRecorderModule::TickSequenceRecorder() [sequencerecordermodule.cpp:603] UE4Editor_SequenceRecorder!TBaseStaticDelegateInstance<void __cdecl() [delegateinstancesimpl.h:1027] UE4Editor_Engine!TBaseMulticastDelegate<void,float>::Broadcast() [delegatesignatureimpl.inl:937] UE4Editor_UnrealEd!UEditorEngine::Tick() [editorengine.cpp:1891] UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [unrealedengine.cpp:386] UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3119] UE4Editor!GuardedMain() [launch.cpp:166] UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134] UE4Editor!WinMain() [launchwindows.cpp:210] UE4Editor!__scrt_common_main_seh() [exe_common.inl:253] kernel32!BaseThreadInitThunk() ntdll!RtlUserThreadStart()
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-48715 in the post.