Description

Attempting to edit array of instanced subobjects causes the editor to crash.

Steps to Reproduce

(Setup from Scratch)

  1. Open UE4 Editor (any project)
  2. Add code based on Object (MyObject)
  3. Copy code from attached MyObject.h file
  4. Change four instances of "_API" to match project name (lines 13,35,46,57)
  5. Compile
  6. Create blueprint based on Crasher (TestBP)
  7. Set Crasher Sub Object to Crasher SubObject
  8. Add an element to Struct Datas array
  9. Set Sub Object to MyObject
  10. In the main editor window, add an instance of Crash Instancer from the Modes tab to the viewport
  11. Set Crasher Class to TestBP
  12. In TestBP add a second element to StructData array
  13. Click plus button to add to Object Refs array of second StructData element

(Steps from provided project)

  1. Download and open attached project
  2. Open Content->NewBlueprint in Content Browser
  3. Expand Crasher Sub Object/CrasherSubObject/Struct Datas/Element 1
  4. Click the plus button to add to the Object Refs array of Element 1

Result:
Editor crashes with attached callstack

Expected:
Element is added to array and can be set.

Callstack
LoginId:7156c35640f86204e61b8383f45dee17
EpicAccountId:e8c7fa630b6440f69a25a2c64d6c482c

Access violation - code c0000005 (first/second chance not available)

UE4Editor_CoreUObject!UArrayProperty::ExportTextItem() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\coreuobject\private\uobject\propertyarray.cpp:324]
UE4Editor_CoreUObject!UProperty::ExportText_Direct() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\coreuobject\private\uobject\property.cpp:694]
UE4Editor_PropertyEditor!FPropertyNode::PropagateContainerPropertyChange() [d:\build\++ue4+release-4.16+compile\sync\engine\source\editor\propertyeditor\private\propertynode.cpp:2712]
UE4Editor_PropertyEditor!FPropertyValueImpl::AddChild() [d:\build\++ue4+release-4.16+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:1226]
UE4Editor_PropertyEditor!FPropertyHandleArray::AddItem() [d:\build\++ue4+release-4.16+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:3757]
UE4Editor_PropertyEditor!FPropertyEditor::OnAddItem() [d:\build\++ue4+release-4.16+compile\sync\engine\source\editor\propertyeditor\private\presentation\propertyeditor\propertyeditor.cpp:220]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FPropertyEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:434]
UE4Editor_PropertyEditor!SDetailsViewBase::Tick() [d:\build\++ue4+release-4.16+compile\sync\engine\source\editor\propertyeditor\private\sdetailsviewbase.cpp:1095]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:773]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_Slate!SBox::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\widgets\layout\sbox.cpp:237]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:168]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:86]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:168]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:46]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:21]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:102]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:37]
UE4Editor_SlateCore!SWindow::OnPaint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swindow.cpp:1838]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:776]
UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1192]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1432]
UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1149]
UE4Editor_Slate!FSlateApplication::TickApplication() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1726]
UE4Editor_Slate!FSlateApplication::Tick() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1548]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3182]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.16+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
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-46843 in the post.

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.15.34.16.2
Target Fix4.17
Fix Commit3525136
Main Commit3555226
Release Commit3525136
CreatedJul 5, 2017
ResolvedJul 6, 2017
UpdatedApr 27, 2018