Description

NOTE: Does not occur in 4.16, entered this to find a fix for licensee to integrate.

Error message:

Assertion failed: (Index >= 0) & (Index < ArrayNum) [Link Removed] [Line: 633] Array index out of bounds: 5 from an array of size 5

Source Context:

 2106       			}
 2107       			if (!bFoundValidName)
 2108       			{
 2109       				MissingNameSuffixMaterial.Add(MaterialIndex);
 2110       			}
 2111       		}
 2112       
 2113       		if (bNeedsReorder && MissingNameSuffixMaterial.Num() > 0)
 2114       		{
 2115       			//Add the missing name material at the end to not disturb the existing order
 2116       			TArray<int32> OrderedListMissing;
 2117       			OrderedListMissing.AddZeroed(NameIndexToMaterialIndex.Num() + MissingNameSuffixMaterial.Num());
 2118       			for (auto Kvp : NameIndexToMaterialIndex)
 2119       			{
 2120 ***** 				OrderedListMissing[Kvp.Key] = -1;
 2121       			}
 2122       			for (int32 OrderedListMissingIndex = 0; OrderedListMissingIndex < OrderedListMissing.Num(); ++OrderedListMissingIndex)
 2123       			{
 2124       				if (OrderedListMissing[OrderedListMissingIndex] != 0)
 2125       					continue;
 2126       
 2127       				NameIndexToMaterialIndex.Add(OrderedListMissingIndex, MissingNameSuffixMaterial.Pop());
 2128       				
 2129       			}
 2130       		}
 2131       
 2132       		//Add greater then material array slot index at the end sorted by integer the index will be remap correctly in the case of a LOD import
 2133       		if (NameIndexGreaterThenMaterialArraySize.Num() > 0)
 2134       		{
 2135       			int32 MaxAvailableKey = NameIndexToMaterialIndex.Num();

Most recent user affected CL: 3416026

Logs:
[Link Removed]


CrashReporter User Descriptions:

Steps to Reproduce
  1. Download the attached zip file and unpack it
  2. Copy the Test_Horse folder into the content of a project
  3. Open the skeletal mesh (reassign the skeleton if needed)
  4. In the details panel, find the source path and change it to the fbx from the zip file (under Source_Asset folder)
  5. Reimport

Result: Crash
Expected: Reimports with one less material ID than the original uasset

Callstack
UE4Editor_UnrealEd!UnFbx::FFbxImporter::SetMaterialOrderByName() [fbxskeletalmeshimport.cpp:2121]
UE4Editor_UnrealEd!UnFbx::FFbxImporter::FillSkeletalMeshImportData() [fbxskeletalmeshimport.cpp:1203]
UE4Editor_UnrealEd!UnFbx::FFbxImporter::ImportSkeletalMesh() [fbxskeletalmeshimport.cpp:1347]
UE4Editor_UnrealEd!UnFbx::FFbxImporter::ReimportSkeletalMesh() [fbxskeletalmeshimport.cpp:1893]
UE4Editor_UnrealEd!UReimportFbxSkeletalMeshFactory::Reimport() [editorfactories.cpp:5238]
UE4Editor_UnrealEd!FReimportManager::Reimport() [editor.cpp:273]
UE4Editor_SkeletalMeshEditor!FSkeletalMeshEditor::HandleReimportMesh() [skeletalmesheditor.cpp:270]
UE4Editor_SkeletalMeshEditor!TBaseSPMethodDelegateInstance<0,FSkeletalMeshEditor,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_SkeletalMeshEditor!TBaseSPMethodDelegateInstance<0,FSkeletalMeshEditor,0,void __cdecl() [delegateinstancesimpl.h:433]
UE4Editor_Slate!FUICommandList::ExecuteAction() [uicommandlist.cpp:97]
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() [stoolbarbuttonblock.cpp:305]
UE4Editor_Slate!TMemberFunctionCaller<SToolBarButtonBlock,FReply() [delegateinstanceinterface.h:165]
UE4Editor_Slate!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SToolBarButtonBlock,FReply() [tuple.h:134]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,FReply __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [delegatesignatureimpl.inl:537]
UE4Editor_Slate!SButton::OnMouseButtonUp() [sbutton.cpp:278]
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator() [slateapplication.cpp:5075]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() [slateapplication.cpp:238]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [slateapplication.cpp:5064]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [slateapplication.cpp:5531]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [slateapplication.cpp:5508]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1698]
UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2120]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:867]
UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:714]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:980]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:2977]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:264]
kernel32!BaseThreadInitThunk()
ntdll!RtlUserThreadStart()

Have Comments or More Details?

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

0
Login to Vote

Fixed
Affects Versions4.144.15
Target Fix4.16
Fix Commit3286668
CreatedMay 4, 2017
ResolvedMay 4, 2017
UpdatedMay 19, 2022