Rewinddebugger crash

Hi

We’re running 5.7.1 and were having some crashes in the Rewind Debugger and noticed occasions where the Animation Curve result data was being overwritten for certain ABPsOur use case came from an ABP using AnimNode_SaveCachedPose in the picture below

  • Pose would be evaluated and cached
  • On subsequent pass from FAnimNode_LayeredBoneBlend, the CachedPose is retrieved and in certain cases the allocation of Output.Pose.Bones would have the same address as CachedPose->Curve in the TMemStackAllocator / FAnimStackAllocator
  • The Output.Pose.CopyBonesFrom(CachedPose->Pose) call would corrupt the Curve Elements address, the contents of which are then copied into Output.Curve as the corrupted results
  • The issue was tracked to FAnimationRuntime::BlendPosesTogetherPerBone (in the initial pose evaluation call via FAnimNode_BlendListBase) where the FMemMark Mark(FMemStack::Get()); scope is being released where the OutCurve is potentially allocated in BlendCurves > OutCurve.Override > CopyFrom, which will be immediately freed on BlendPosesTogetherPerBone function scope exit.
  • Looking at the Github of UE5-main this doesn’t appear to have been changed and we’re running with the local fix in the diff pictured, so just interested in what your thoughts are and wanted to make you aware of our findings :slight_smile:

Thanks in advance!

[Attachment Removed]

Steps to Reproduce[Attachment Removed]

Oh wow, thanks for the report and the investigation. We’ve tracked the original change that introduced this (CL 44140129) and will make the fix in UE5 Main ASAP

[Attachment Removed]