Crash when opening Sequencer event track properties

Great. Thanks!

I’ve found a crash in the Sequencer event track. Previously in 4.16, Sequencer would crash if you had an event struct that accepted object references (or a class reference in my case, not sure if this is specific to class references or if other asset references might crash too). That was apparently fixed in the 4.17 preview, but there is now a new bug relating to it, which causes an assert (to be clear - this is a bug in the 4.17 preview).

Steps to reproduce:

  1. Create a new blank project (C++ or Blueprint, it shouldn’t matter. For my purposes, this is a C++ project).

  2. Create a new blueprint struct with a class reference as a field.

  3. Create a new level sequence with an event track

  4. Add a new key to the event track with the previously created struct as the type

  5. Change the class field to reference anything other than “None”.

  6. Let the properties area close, then reopen it (for example, click away and then open the keyframe properties again). Simply hovering over the “Properties” part of the context menu should be enough to crash the editor.

  7. This should cause a crash with the following stacktrace:

    Assertion failed: TCString::Strlen(InName)<=NAME_SIZE [File:D:\Build++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\Core\Private\UObject\UnrealNames.cpp] [Line: 602]

    KERNELBASE.dll!0x00000000330B9E08
    UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:120]
    UE4Editor-Core.dll!FOutputDevice::Logf__VA() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:70]
    UE4Editor-Core.dll!FDebug::AssertFailed() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
    UE4Editor-Core.dll!FName::InitInternal() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\uobject\unrealnames.cpp:605]
    UE4Editor-Core.dll!FName::InitInternal_HashSplit() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\uobject\unrealnames.cpp:597]
    UE4Editor-Core.dll!FName::Init() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\uobject\unrealnames.cpp:550]
    UE4Editor-Core.dll!FName::FName() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\uobject\unrealnames.cpp:431]
    UE4Editor-DetailCustomizations.dll!FMemoryArchive::operator<<() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\serialization\memoryarchive.h:43]
    UE4Editor-CoreUObject.dll!operator<<() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\coreuobject\private\uobject\propertytag.cpp:99]
    UE4Editor-CoreUObject.dll!UStruct::SerializeTaggedProperties() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:903]
    UE4Editor-Engine.dll!UUserDefinedStruct::SerializeTaggedProperties() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\engine\private\userdefinedstruct.cpp:231]
    UE4Editor-DetailCustomizations.dll!FMovieSceneEventParameters::GetInstance() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\moviescenetracks\public\sections\moviesceneeventsection.h:65]
    UE4Editor-DetailCustomizations.dll!FMovieSceneEventParametersCustomization::CustomizeChildren() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\detailcustomizations\private\moviesceneeventparameterscustomization.cpp:50]
    UE4Editor-PropertyEditor.dll!FDetailPropertyRow::OnItemNodeInitialized() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detailpropertyrow.cpp:229]
    UE4Editor-PropertyEditor.dll!FDetailItemNode::InitPropertyEditor() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detailitemnode.cpp:96]
    UE4Editor-PropertyEditor.dll!FDetailItemNode::Initialize() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detailitemnode.cpp:42]
    UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateNodesFromCustomizations() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:628]
    UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateChildrenForSingleLayout() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:650]
    UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateChildrenForLayouts() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:675]
    UE4Editor-PropertyEditor.dll!FDetailCategoryImpl::GenerateLayout() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:834]
    UE4Editor-PropertyEditor.dll!FDetailLayoutBuilderImpl::BuildCategories() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detaillayoutbuilderimpl.cpp:152]
    UE4Editor-PropertyEditor.dll!FDetailLayoutBuilderImpl::GenerateDetailLayout() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\detaillayoutbuilderimpl.cpp:196]
    UE4Editor-PropertyEditor.dll!SDetailsViewBase::UpdateSinglePropertyMap() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\sdetailsviewbase.cpp:409]
    UE4Editor-PropertyEditor.dll!SDetailsViewBase::UpdatePropertyMaps() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\sdetailsviewbase.cpp:374]
    UE4Editor-PropertyEditor.dll!SStructureDetailsView::SetStructureData() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\propertyeditor\private\sstructuredetailsview.cpp:222]
    UE4Editor-Sequencer.dll!SInlineDetailsView::Initialize() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\sequencer\private\sequencercontextmenus.cpp:294]
    UE4Editor-Sequencer.dll!SInlineDetailsView::Construct() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\sequencer\private\sequencercontextmenus.cpp:213]
    UE4Editor-Sequencer.dll!TDecl<SInlineDetailsView,RequiredArgs::T1RequiredArgs<TSharedRef<FSequencer,0> & __ptr64> >::operator<<=() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\public\widgets\declarativesyntaxsupport.h:1091]
    UE4Editor-Sequencer.dll!FKeyContextMenu::AddPropertiesMenu() [d:\build++ue4+release-4.17+compile\sync\engine\source\editor\sequencer\private\sequencercontextmenus.cpp:341]
    UE4Editor-Slate.dll!SMenuEntryBlock::MakeNewMenuWidget() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:1370]
    UE4Editor-Slate.dll!TMemberFunctionCaller<SMenuEntryBlock,TSharedRef<SWidget,0> (__cdecl SMenuEntryBlock::)(void)const __ptr64>::operator()<>() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:165]
    UE4Editor-Slate.dll!UE4Tuple_Private::TTupleImpl<TIntegerSequence >::ApplyAfter<TMemberFunctionCaller<SMenuEntryBlock,TSharedRef<SWidget,0> (__cdecl SMenuEntryBlock::
    )(void)const __ptr64> >() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\templates\tuple.h:497]
    UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<1,SMenuEntryBlock,0,TSharedRef<SWidget,0> __cdecl(void)>::Execute() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
    UE4Editor-Slate.dll!TBaseDelegate<TSharedRef<SWidget,0> >::Execute() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:537]
    UE4Editor-Slate.dll!SMenuAnchor::SetIsOpen() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\input\smenuanchor.cpp:310]
    UE4Editor-Slate.dll!SMenuEntryBlock::UpdateSubMenuState() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\multibox\smenuentryblock.cpp:1330]
    UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,0,enum EActiveTimerReturnType __cdecl(double,float),bool>::Execute() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
    UE4Editor-SlateCore.dll!FActiveTimerHandle::ExecuteIfPending() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\application\activetimerhandle.cpp:48]
    UE4Editor-SlateCore.dll!SWidget::ExecuteActiveTimers() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:978]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:855]
    UE4Editor-SlateCore.dll!SOverlay::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
    UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
    UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
    UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SOverlay::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SPanel::PaintArrangedChildren() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
    UE4Editor-SlateCore.dll!SPanel::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
    UE4Editor-Slate.dll!SScrollBox::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\sscrollbox.cpp:980]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
    UE4Editor-Slate.dll!SBorder::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!SCompoundWidget::OnPaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
    UE4Editor-SlateCore.dll!FSlateWindowElementList::FDeferredPaint::ExecutePaint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\rendering\drawelements.cpp:811]
    UE4Editor-SlateCore.dll!FSlateWindowElementList::PaintDeferred() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\rendering\drawelements.cpp:836]
    UE4Editor-SlateCore.dll!SWidget::Paint() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:944]
    UE4Editor-Slate.dll!FSlateApplication::DrawWindowAndChildren() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1231]
    UE4Editor-Slate.dll!FSlateApplication::DrawWindowAndChildren() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1320]
    UE4Editor-Slate.dll!FSlateApplication::PrivateDrawWindows() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1471]
    UE4Editor-Slate.dll!FSlateApplication::DrawWindows() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1188]
    UE4Editor-Slate.dll!FSlateApplication::TickApplication() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1773]
    UE4Editor-Slate.dll!FSlateApplication::Tick() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1591]
    UE4Editor.exe!FEngineLoop::Tick() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3278]
    UE4Editor.exe!GuardedMain() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
    UE4Editor.exe!GuardedMainWrapper() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
    UE4Editor.exe!WinMain() [d:\build++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
    UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
    KERNEL32.DLL!0x0000000035972774
    ntdll.dll!0x0000000036AF0D51
    ntdll.dll!0x0000000036AF0D51

I’m able to provide a minimal example project that exhibits this behavior if needed.

Thanks for the report. We just fixed this and it will come out with the next preview release or 4.17 release. The changelist that fixes this is CL#3548260.

I am using 4.17.2 currently and also having this issue when using a Data Table Row Handle variable in my parameter struct. After selecting a Data Table and Row Name, reopening the key to view/change the properties causes a crash.

Was this fix not pushed through? Or is this something new?

Hi,

Please make a report for this issue on a different ticket with all of the relevant information that applies to it. Once you put the necessary steps to get this result we can try and repro this in order to find a work around or record the bug that is causing this.

-Thank you

It is still crashing with 4.19 release:

It seems only crashes when passing sound base object to the structure in sequencer.

[2018.03.21-00.09.55:736][552]LogWindows: Error: [Callstack] 0x000000002F5FFC5E UE4Editor-Core.dll!FGenericPlatformString::LogBogusChars() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\genericplatform\genericplatformstring.cpp:42]
[2018.03.21-00.09.55:736][552]LogWindows: Error: [Callstack] 0x000000002F6180AB UE4Editor-Core.dll!operator<<() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\containers\string.cpp:1405]
[2018.03.21-00.09.55:736][552]LogWindows: Error: [Callstack] 0x0000000028EA5AEA UE4Editor-MovieSceneTracks.dll!FMemoryArchive::operator<<() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\serialization\memoryarchive.h:43]
[2018.03.21-00.09.55:736][552]LogWindows: Error: [Callstack] 0x000000002F253F75 UE4Editor-CoreUObject.dll!operator<<() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\propertytag.cpp:99]
[2018.03.21-00.09.55:736][552]LogWindows: Error: [Callstack] 0x000000002F15B06E UE4Editor-CoreUObject.dll!UStruct::SerializeTaggedProperties() [d:\build++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:916]
[2018.03.21-00.09.55:736][552]LogWindows: Error: [Callstack] 0x0000000024CFF7F4 UE4Editor-Engine.dll!UUserDefinedStruct::SerializeTaggedProperties() [d:\build++ue4+release-