Editor crashes when selecting an UMG Animation with less tracks than the currently selected one

I already submitted a bunch of crash reports while trying to work with the UMG Animations, but I figured I’d create a report in here aswell.
This is on the launcher 4.10 release 4.10.0-2758231+++depot+UE4-Releases+4.10 on Windows 7 SP1 x64

Steps that work for me:

  1. Open an existing UMG Widget that has animations in it (and that animation has at least one track). In my case it was an animation that flashes two Text blocks by changing color values over time.
  2. Take care that the existing Animation is not selected (no tracks visible in Sequencer).
  3. Add a new Animation and start adding tracks

If you want to see a crash here, add a 4th step that selects the first animation while the tracks of the second one are visible.

Steps that crash:

  1. Open the same existing UMG Widget as earlier.
  2. Select the existing Animation (so the tracks become visible).
  3. Add a new Animation and select it in the list so you can add new tracks. This crashes the Editor.

Exception info (from the crash reporter):

"Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.10\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 678] 
    A
    
    UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\misc\outputdevice.cpp:374]
    UE4Editor_Sequencer!TArray<TSharedRef<FMovieSceneSequenceInstance,0>,FDefaultAllocator>::Last() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\containers\array.h:825]
    UE4Editor_Sequencer!FSequencer::GetFocusedMovieSceneSequence() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\sequencer\private\sequencer.cpp:292]
    UE4Editor_Sequencer!FSequencer::OnViewRangeChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\sequencer\private\sequencer.cpp:1221]
    UE4Editor_Sequencer!TBaseSPMethodDelegateInstance<0,FSequencer,0,TTypeWrapper<void> __cdecl(TRange<float>,enum EViewRangeInterpolation,bool)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
    UE4Editor_Sequencer!TBaseSPMethodDelegateInstance<0,FSequencer,0,void __cdecl(TRange<float>,enum EViewRangeInterpolation,bool)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
    UE4Editor_Sequencer!TBaseDelegate<void,TRange<float>,enum EViewRangeInterpolation,bool>::ExecuteIfBound() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:482]
    UE4Editor_Sequencer!TBaseFunctorDelegateInstance<TTypeWrapper<void> __cdecl(float,float),<lambda_ad6845849e7768712c68609036365067> >::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:1008]
    UE4Editor_UnrealEd!SCurveEditor::ZoomToFitHorizontal() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\unrealed\private\scurveeditor.cpp:2379]
    UE4Editor_UnrealEd!SCurveEditor::ZoomToFit() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\unrealed\private\scurveeditor.cpp:2482]
    UE4Editor_Sequencer!SSequencerCurveEditor::NodeTreeSelectionChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\sequencer\private\ssequencercurveeditor.cpp:181]
    UE4Editor_Sequencer!TBaseSPMethodDelegateInstance<0,SSequencerCurveEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
    UE4Editor_Sequencer!TBaseSPMethodDelegateInstance<0,SSequencerCurveEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:387]
    UE4Editor_Sequencer!TBaseMulticastDelegate<void>::Broadcast() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:809]
    UE4Editor_Sequencer!FSequencerSelection::EmptySelectedOutlinerNodes() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\sequencer\private\sequencerselection.cpp:155]
    UE4Editor_Sequencer!FSequencer::ResetToNewRootSequence() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\sequencer\private\sequencer.cpp:302]
    UE4Editor_UMGEditor!FWidgetBlueprintEditor::ChangeViewedAnimation() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\umgeditor\private\widgetblueprinteditor.cpp:594]
    UE4Editor_UMGEditor!SUMGAnimationList::OnSelectionChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\editor\umgeditor\private\tabfactory\animationtabsummoner.cpp:396]
    UE4Editor_UMGEditor!TBaseSPMethodDelegateInstance<0,SUMGAnimationList,0,TTypeWrapper<void> __cdecl(TSharedPtr<FWidgetAnimationListItem,0>,enum ESelectInfo::Type)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
    UE4Editor_UMGEditor!TBaseSPMethodDelegateInstance<0,SUMGAnimationList,0,void __cdecl(TSharedPtr<FWidgetAnimationListItem,0>,enum ESelectInfo::Type)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
    UE4Editor_UMGEditor!TBaseDelegate<void,TSharedPtr<FWidgetAnimationListItem,0>,enum ESelectInfo::Type>::ExecuteIfBound() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:482]
    UE4Editor_UMGEditor!SListView<TSharedPtr<FWidgetAnimationListItem,0> >::Private_SignalSelectionChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\public\widgets\views\slistview.h:609]
    UE4Editor_UMGEditor!STableRow<TSharedPtr<FWidgetAnimationListItem,0> >::OnMouseButtonUp() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\public\widgets\views\stablerow.h:446]
    UE4Editor_Slate!<lambda_4ba5b0c116ad939f50a9b616659f063a>::operator()() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4276]
    UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_4ba5b0c116ad939f50a9b616659f063a> >() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:214]
    UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4266]
    UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4663]
    UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4641]
    UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:1404]
    UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:1709]
    UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:707]
    UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsapplication.cpp:629]
    user32
    user32
    UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:884]
    UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launchengineloop.cpp:2391]
    UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\launch.cpp:142]
    UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
    UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.10\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
    UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
    kernel32
    ntdll

Hello ,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. I noticed that you said the steps given reproduce the issue for you, can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed set of steps like those above so that we can reproduce this issue on our end?
  3. Could you provide screen shots of any blueprints that may be involved with this issue?

Hey Rudy,

Just tried a clean project, and had it not happen at first. But I noticed something was different.
Took a look in the other project, and it was indeed different.

Enabling “Show the animation keys in a curve editor” makes the crash reproducible, disabling it makes it go away.

If you need anything else, please tell me.

Hope that helps,
~

I was able to reproduce this issue on our end. I have written up a report (UE-23388) and I have submitted it to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information

Make it a great day

It’s not much of a workaround if you actually want to use the curve editor - but at least you got something useful out of it :slight_smile:
~

Thanks for figuring out a workaround… saved me

I still use the curver editor just make sure to click back to non-curve before selecting any other animation. Tedious, so hope Unreal fix soon.