Description

When attempting to add an array element to an array that exists on a component contained within an actor that is instanced in the level, the editor will crash. This does not occur if an array element is added to the same component on the same actor in the Blueprint editor.

 

Found in 4.19 CL# 4033788 and 4.20 CL# 4088075

Could not test in 4.18 due to project provided being 4.19

 

Steps to Reproduce
  1. Download and Open the Project: [Link Removed]
  2. Place "BP_TestActor" in the level
  3. Select the "TestActor" component
  4. Under Details->Settings->Data->Actions add an element and set to "Play Action"
  5. Expand the play action and then add another array element

Results:
Crash

Expected:
The array element would be added

Callstack
Assertion failed: IsValid() [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Core\Public\Templates/SharedPointer.h] [Line: 824]

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:419]
UE4Editor_PropertyEditor!FDetailCategoryImpl::GetParentLayout() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.h:166]
UE4Editor_PropertyEditor!FDetailPropertyRow::GenerateChildrenForPropertyNode() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\detailpropertyrow.cpp:273]
UE4Editor_PropertyEditor!FDetailPropertyRow::OnGenerateChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\detailpropertyrow.cpp:243]
UE4Editor_PropertyEditor!FDetailItemNode::GenerateChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\detailitemnode.cpp:330]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FDetailItemNode,0,TTypeWrapper<void> __cdecl(void),bool>::Execute() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:269]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FDetailItemNode,0,void __cdecl(void),bool>::ExecuteIfSafe() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:345]
UE4Editor_PropertyEditor!FPropertyHandleArray::AddItem() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:4186]
UE4Editor_PropertyEditor!FPropertyEditor::OnAddItem() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\presentation\propertyeditor\propertyeditor.cpp:221]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:269]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:345]
UE4Editor_PropertyEditor!SDetailsViewBase::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\sdetailsviewbase.cpp:680]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:886]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:164]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_Slate!SBox::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\layout\sbox.cpp:247]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:164]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:164]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:164]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWindow::OnPaint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swindow.cpp:1897]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:912]
UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1303]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1544]
UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1258]
UE4Editor_Slate!FSlateApplication::TickApplication() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1843]
UE4Editor_Slate!FSlateApplication::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1666]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3421]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UE4Editor!WinMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

Have Comments or More Details?

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

2
Login to Vote

Fixed
ComponentTools
Affects Versions4.194.20
Target Fix4.20
Fix Commit4109193
Main Commit4124555
Release Commit4109193
CreatedMay 25, 2018
ResolvedJun 4, 2018
UpdatedFeb 4, 2019