Description

More ways to reproduce:

  1. In Chaos Cache Collection Editor press Add Element button (no matter when you will do this step)
  2. If in Step13 from Steps to reproduce you won't place Chaos Cache Collection Editor as tab of Main Editor window ** (remain it as separate window instead of it) crash will be appear ** with pressing start PIE button

More info:

  • No crash if Chaos Cache Collection Editor is closed when record goes
  • No such crash if I remove element from Chaos Cache Collection using Remove all button before trying to press Add Element button (I can add as much elements as I removed. On next element cash will appear). Can be seen in AfterRemoveAll.gif
  • Crash still exists if I remove elements one by one from Chaos Cache Collection  before trying to press Add Element button. Can be seen in AfterRemoveOneByOne.gif
  • No matter how Chaos Cache collection was created (it can be also created from Content Browser but behavior will be same for it)

Platforms:

  • Was checked only for Windows

Regression:

  • Can't be checked in 4.23 because of no Chaos Cache Collection in it (Caching has had a ground-up rewrite after 4.23)
  • Can be reproduced in 4.26 - Chaos
Steps to Reproduce
  1. Open any project
  2. Ensure that ChaosCaching plugin is enabled
  3. Place Cube static mesh in the world above the floor
  4. Switch to Fracture mode
  5. Create Geometry Collection from Cube (click on New button -> select folder -> click Create Geometry Collection)
  6. Switch to Select mode
  7. Right click on Cube -> Select Caching -> Create Cache Manager
  8. Select created Chaos Cache Manager (you can find it in World Outliner)
  9. In Details panel click on dropdown near Cache Collection
  10. Select Chaos Cache Collection (in Create New Asset section)
  11. Press Save button
  12. In Content Browser double click on created Chaos Cache Collection asset
  13. Place opened Chaos Cache Collection Editor as tab of Main Editor window
  14. Switch to Main Editor tab
  15. In Details panel click on Record button
  16. Start PIE
  17. Wait a little and stop PIE
  18. Switch to Chaos Cache Collection Editor tab

Actual result:

Crash! (Steps from 7 to 18 can be seen in steps.gif)

Expected result:

  • Chaos Cache Collection Editor tab is opened
  • New element with created record is added
Callstack
Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\4.27\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 703] Array index out of bounds: 0 from an array of size 0

UnrealEditor_Core!AssertFailedImplV() [AssertionMacros.cpp:131]
UnrealEditor_Core!FDebug::CheckVerifyFailedImpl() [AssertionMacros.cpp:494]
UnrealEditor_ChaosCachingEditor!DispatchCheckVerify<void,<lambda_85fcc26e576ed73b4d4ecfa6e675069e> >() [AssertionMacros.h:179]
UnrealEditor_ChaosCachingEditor!FCacheCollectionDetails::GenerateCacheArrayElementWidget() [CacheCollectionCustomization.cpp:161]
UnrealEditor_ChaosCachingEditor!TBaseSPMethodDelegateInstance<0,FCacheCollectionDetails,0,void __cdecl(TSharedRef<IPropertyHandle,0>,int,IDetailChildrenBuilder &) [DelegateInstancesImpl.h:290]
UnrealEditor_ChaosCachingEditor!FDetailArrayBuilder::GenerateChildContent() [PropertyCustomizationHelpers.h:493]
UnrealEditor_PropertyEditor!FDetailCustomBuilderRow::OnGenerateChildren() [DetailCustomBuilderRow.cpp:67]
UnrealEditor_PropertyEditor!FDetailItemNode::GenerateChildren() [DetailItemNode.cpp:397]
UnrealEditor_PropertyEditor!TBaseSPMethodDelegateInstance<0,FDetailItemNode,0,void __cdecl(void) [DelegateInstancesImpl.h:307]
UnrealEditor_ChaosCachingEditor!TBaseRawMethodDelegateInstance<0,FDetailArrayBuilder,void __cdecl(void) [DelegateInstancesImpl.h:469]
UnrealEditor_PropertyEditor!FPropertyNode::EnsureDataIsValid() [PropertyNode.cpp:613]
UnrealEditor_PropertyEditor!FPropertyNode::EnsureDataIsValid() [PropertyNode.cpp:664]
UnrealEditor_PropertyEditor!FPropertyNode::EnsureDataIsValid() [PropertyNode.cpp:664]
UnrealEditor_PropertyEditor!SDetailsViewBase::Tick() [SDetailsViewBase.cpp:888]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1351]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_Slate!SBorder::OnPaint() [SBorder.cpp:120]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SOverlay::OnPaint() [SOverlay.cpp:95]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_Slate!SSplitter::OnPaint() [SSplitter.cpp:169]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SOverlay::OnPaint() [SOverlay.cpp:95]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_Slate!SBorder::OnPaint() [SBorder.cpp:120]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SOverlay::OnPaint() [SOverlay.cpp:95]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_Slate!SSplitter::OnPaint() [SSplitter.cpp:169]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SOverlay::OnPaint() [SOverlay.cpp:95]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SOverlay::OnPaint() [SOverlay.cpp:95]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [SCompoundWidget.cpp:37]
UnrealEditor_SlateCore!SWidget::Paint() [SWidget.cpp:1456]
UnrealEditor_SlateCore!SWindow::PaintSlowPath() [SWindow.cpp:2069]
UnrealEditor_SlateCore!FSlateInvalidationRoot::PaintInvalidationRoot() [SlateInvalidationRoot.cpp:262]
UnrealEditor_SlateCore!SWindow::PaintWindow() [SWindow.cpp:2101]
UnrealEditor_Slate!FSlateApplication::DrawWindowAndChildren() [SlateApplication.cpp:1067]
UnrealEditor_Slate!FSlateApplication::PrivateDrawWindows() [SlateApplication.cpp:1290]
UnrealEditor_Slate!FSlateApplication::DrawWindows() [SlateApplication.cpp:1028]
UnrealEditor_Slate!FSlateApplication::TickAndDrawWidgets() [SlateApplication.cpp:1580]
UnrealEditor_Slate!FSlateApplication::Tick() [SlateApplication.cpp:1434]
UnrealEditor!FEngineLoop::Tick() [LaunchEngineLoop.cpp:5115]
UnrealEditor!GuardedMain() [Launch.cpp:171]
UnrealEditor!GuardedMainWrapper() [LaunchWindows.cpp:137]
UnrealEditor!WinMain() [LaunchWindows.cpp:268]
UnrealEditor!__scrt_common_main_seh() [exe_common.inl:288]

Have Comments or More Details?

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

0
Login to Vote

Cannot Reproduce
CreatedDec 11, 2020
ResolvedApr 28, 2022
UpdatedApr 28, 2022