Description

Adding more than two custom Volume classes to a plugin results in any project that includes that plugin crashing when opening it in the Editor. There does not appear to be a problem with adding three or more custom Volume classes to the project itself.

This is most likely related to [Link Removed].

Steps to Reproduce
  1. Create a new Basic Code project.
  2. Add a new Blank plugin to the project.
  3. Add three custom Volume classes to the plugin (not the project).
  4. Close the Editor.
  5. Build the project in Visual Studio.
  6. Open the project in the Editor.

RESULT:
The Editor crashes while opening the project and shows the following error: Array index out of bounds: 20 from an array of size 20

EXPECTED:
The Editor opens the project successfully.

Callstack
Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Main-Builds\Stream\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 638] 
Array index out of bounds: 20 from an array of size 20


UE4Editor_Core!FDebug::AssertFailed() [d:\main-builds\stream\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_LevelEditor!SLevelViewport::BindShowCommands() [d:\main-builds\stream\engine\source\editor\leveleditor\private\slevelviewport.cpp:1394]
UE4Editor_LevelEditor!SLevelViewport::BindCommands() [d:\main-builds\stream\engine\source\editor\leveleditor\private\slevelviewport.cpp:1139]
UE4Editor_UnrealEd!SEditorViewport::Construct() [d:\main-builds\stream\engine\source\editor\unrealed\private\seditorviewport.cpp:92]
UE4Editor_LevelEditor!SLevelViewport::Construct() [d:\main-builds\stream\engine\source\editor\leveleditor\private\slevelviewport.cpp:178]
UE4Editor_LevelEditor!TDecl<SLevelViewport,RequiredArgs::T0RequiredArgs>::operator<<=() [d:\main-builds\stream\engine\source\runtime\slatecore\public\widgets\declarativesyntaxsupport.h:1087]
UE4Editor_LevelEditor!FLevelViewportLayoutEntity::FLevelViewportLayoutEntity() [d:\main-builds\stream\engine\source\editor\leveleditor\private\levelviewportlayoutentity.cpp:11]
UE4Editor_LevelEditor!<lambda_efe81856d4aa7e70eb96edcb171b7cab>::operator()() [d:\main-builds\stream\engine\source\editor\leveleditor\public\viewporttypedefinition.h:20]
UE4Editor_LevelEditor!Invoke<<lambda_efe81856d4aa7e70eb96edcb171b7cab> & __ptr64,FViewportConstructionArgs const & __ptr64>() [d:\main-builds\stream\engine\source\runtime\core\public\templates\invoke.h:45]
UE4Editor_LevelEditor!UE4Function_Private::TFunctionRefCaller<<lambda_efe81856d4aa7e70eb96edcb171b7cab>,TSharedRef<IViewportLayoutEntity,0> __cdecl(FViewportConstructionArgs const & __ptr64)>::Call() [d:\main-builds\stream\engine\source\runtime\core\public\templates\function.h:235]
UE4Editor_LevelEditor!UE4Function_Private::TFunctionRefBase<TFunction<TSharedRef<IViewportLayoutEntity,0> __cdecl(FViewportConstructionArgs const & __ptr64)>,TSharedRef<IViewportLayoutEntity,0> __cdecl(FViewportConstructionArgs const & __ptr64)>::operator()() [d:\main-builds\stream\engine\source\runtime\core\public\templates\function.h:283]
UE4Editor_LevelEditor!FLevelEditorModule::FactoryViewport() [d:\main-builds\stream\engine\source\editor\leveleditor\private\leveleditor.cpp:571]
UE4Editor_LevelEditor!FLevelViewportLayout2x2::MakeViewportLayout() [d:\main-builds\stream\engine\source\editor\leveleditor\private\levelviewportlayout2x2.cpp:68]
UE4Editor_LevelEditor!FLevelViewportLayout::BuildViewportLayout() [d:\main-builds\stream\engine\source\editor\leveleditor\private\levelviewportlayout.cpp:193]
UE4Editor_LevelEditor!FLevelViewportTabContent::UpdateViewportTabWidget() [d:\main-builds\stream\engine\source\editor\leveleditor\private\levelviewporttabcontent.cpp:158]
UE4Editor_LevelEditor!FLevelViewportTabContent::Initialize() [d:\main-builds\stream\engine\source\editor\leveleditor\private\levelviewporttabcontent.cpp:61]
UE4Editor_LevelEditor!SLevelEditor::BuildViewportTab() [d:\main-builds\stream\engine\source\editor\leveleditor\private\sleveleditor.cpp:856]
UE4Editor_LevelEditor!SLevelEditor::SpawnLevelEditorTab() [d:\main-builds\stream\engine\source\editor\leveleditor\private\sleveleditor.cpp:577]
UE4Editor_LevelEditor!TMemberFunctionCaller<SLevelEditor,TSharedRef<SDockTab,0> (__cdecl SLevelEditor::*)(FSpawnTabArgs const & __ptr64,FName,FString) __ptr64>::operator()<FSpawnTabArgs const & __ptr64,FName const & __ptr64,FString const & __ptr64>() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:165]
UE4Editor_LevelEditor!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int,0,1>,FName,FString>::ApplyAfter<TMemberFunctionCaller<SLevelEditor,TSharedRef<SDockTab,0> (__cdecl SLevelEditor::*)(FSpawnTabArgs const & __ptr64,FName,FString) __ptr64>,FSpawnT() [d:\main-builds\stream\engine\source\runtime\core\public\templates\tuple.h:422]
UE4Editor_LevelEditor!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const & __ptr64),FName,FString>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_Slate!TBaseDelegate<TSharedRef<SDockTab,0>,FSpawnTabArgs const & __ptr64>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:537]
UE4Editor_Slate!FTabManager::SpawnTab() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1413]
UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1272]
UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1387]
UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1365]
UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1387]
UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1365]
UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1387]
UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1365]
UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1387]
UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1356]
UE4Editor_Slate!FTabManager::RestoreArea() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1248]
UE4Editor_Slate!FTabManager::RestoreFrom() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:807]
UE4Editor_LevelEditor!SLevelEditor::RestoreContentArea() [d:\main-builds\stream\engine\source\editor\leveleditor\private\sleveleditor.cpp:1208]
UE4Editor_LevelEditor!SLevelEditor::Initialize() [d:\main-builds\stream\engine\source\editor\leveleditor\private\sleveleditor.cpp:176]
UE4Editor_LevelEditor!FLevelEditorModule::SpawnLevelEditor() [d:\main-builds\stream\engine\source\editor\leveleditor\private\leveleditor.cpp:169]
UE4Editor_LevelEditor!TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>::operator()<FSpawnTabArgs const & __ptr64>() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:165]
UE4Editor_LevelEditor!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>,FSpawnTabArgs const & __pt() [d:\main-builds\stream\engine\source\runtime\core\public\templates\tuple.h:497]
UE4Editor_LevelEditor!TBaseRawMethodDelegateInstance<0,FLevelEditorModule,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const & __ptr64)>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:556]
UE4Editor_Slate!TBaseDelegate<TSharedRef<SDockTab,0>,FSpawnTabArgs const & __ptr64>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:537]
UE4Editor_Slate!FTabManager::SpawnTab() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1413]
UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1272]
UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1387]
UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1356]
UE4Editor_Slate!FTabManager::RestoreArea() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1248]
UE4Editor_Slate!FTabManager::RestoreFrom() [d:\main-builds\stream\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:807]
UE4Editor_MainFrame!FMainFrameModule::CreateDefaultMainFrame() [d:\main-builds\stream\engine\source\editor\mainframe\private\mainframemodule.cpp:207]
UE4Editor_UnrealEd!EditorInit() [d:\main-builds\stream\engine\source\editor\unrealed\private\unrealedglobals.cpp:124]
UE4Editor!GuardedMain() [d:\main-builds\stream\engine\source\runtime\launch\private\launch.cpp:150]
UE4Editor!GuardedMainWrapper() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
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-45806 in the post.

1
Login to Vote

Fixed
ComponentTools
Affects Versions4.16.14.17
Target Fix4.17
Fix Commit3491406
Main Commit3499771
CreatedJun 7, 2017
ResolvedJun 15, 2017
UpdatedApr 27, 2018