Description

This is a common crash occurring in the 4.17 release. Users have not provided any descriptions of their actions when the crash occurred.

Source Context

 72       float FAnimNotifyEvent::GetDuration() const
   73       {
   74       	return NotifyStateClass ? EndLink.GetTime() - GetTime() : 0.0f;
   75       }
   76       
   77       void FAnimNotifyEvent::SetDuration(float NewDuration)
   78       {
   79       	Duration = NewDuration;
   80       	EndLink.SetTime(GetTime() + Duration);
   81       }
   82       
   83       bool FAnimNotifyEvent::IsBranchingPoint() const
   84       {
   85 ***** 	return GetLinkedMontage() && ((MontageTickType == EMontageNotifyTickType::BranchingPoint) || (Notify && Notify->bIsNativeBranchingPoint) || (NotifyStateClass && NotifyStateClass->bIsNativeBranchingPoint));
   86       }
Steps to Reproduce

Original Jira steps: repro steps currently unknown

2nd Oct 2017: I found a further way to reproduce this crash:

  1. Open QA Game
  2. On an animation (something that actually has some length, not one of the one frame aim offsets)
  3. Create a notify state and drag the start and end points so that the notify encompasses the entire animation
  4. Select the notify state
  5. Move the mouse to the start of the notify state and make sure the tooltip is showing
  6. While moving the mouse to the right delete the notify (make sure that the mouse cursor stays on top of the notify and the tooltip stays visible)

Key to reproducing this crash is generating a mouse move event at the same time as the delete event. These steps above reproduce the crash for me fairly regularly (50%-100% crash rate).

Below were the original steps used the first time this Jira was marked as fixed, these are no longer relevant

MW: Steps that I found would produce a crash that looks like this:

  1. Open QA Game
  2. Open Aim_CC
  3. Add a notify
  4. Close Aim_CC
  5. Open Crouch_Idle_Rifle_Hip
  6. Add a notify
  7. Move Crouch_Idle_Rifle_Hip to same tabwell as the Level Editor and swap back to level editor (so it is hidden, not doing this will cause a different crash)
  8. PIE
  9. Open Sequencer Recorder
  10. Click the add button and select the entry that is created
  11. Select the pie pawn as the "actor to record", enable "specify target animation" and set the target animation to "Crouch_Idle_Rifle_Hip"
  12. Click record, swap back to the running PIE session and walk around + adjust the aim for a while (10+ seconds say)
  13. Stop the recording
  14. Swap back to the tab
  15. Though Crouch_Idle_Rifle_Hip is now playing the recorded animation data the notify bar does not show any of the new notifies created during the recording, mousing over the existing notify will sometimes work for a bit, sometimes crash with the exact callstack in the Jira, editor will eventually crash regardless with a broadly similar callstack.
Callstack
Access violation - code c0000005 (first/second chance not available)

UE4Editor_Engine!FAnimNotifyEvent::IsBranchingPoint() [animtypes.cpp:86]
UE4Editor_Persona!FNotifyNodeInterface::GetNodeTooltip() [sanimnotifypanel.cpp:174]
UE4Editor_Persona!SAnimNotifyNode::GetNodeTooltip() [sanimnotifypanel.cpp:1511]
UE4Editor_Persona!TMemberFunctionCaller<SAnimNotifyNode,FText() [delegateinstanceinterface.h:165]
UE4Editor_Persona!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SAnimNotifyNode,FText() [tuple.h:497]
UE4Editor_Persona!TBaseSPMethodDelegateInstance<1,SAnimNotifyNode,0,FText __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Slate!TBaseDelegate<FText>::Execute() [delegatesignatureimpl.inl:537]
UE4Editor_Slate!TAttribute<FText>::Get() [attribute.h:137]
UE4Editor_Slate!SToolTip::IsEmpty() [stooltip.cpp:87]
UE4Editor_Slate!FSlateApplication::UpdateToolTip() [slateapplication.cpp:3537]
UE4Editor_Slate!FSlateApplication::ProcessMouseMoveEvent() [slateapplication.cpp:5889]
UE4Editor_Slate!FSlateApplication::OnMouseMove() [slateapplication.cpp:5839]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1756]
UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2161]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:881]
UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:721]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:1009]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3151]
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()

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentOLD - Anim
Affects Versions4.174.17.2
Target Fix4.18
Fix Commit3674881
Release Commit3674881
CreatedAug 29, 2017
ResolvedOct 2, 2017
UpdatedMay 18, 2020