Developer Notes

Closed as 'cannot reproduced' when crash reports for this issue stopped occurring in 4.16.
However an alternate case of this began in 4.19 and is being tracked as UE-57089

Description

This Jira was created from CrashReports submitted by the public due to the high number of occurrences. Descriptions from users are provided below.

Error message:

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

Source Context:

 2182       
 2183       	for (int32 Index = 0;Index < MeshShaderMaps.Num();Index++)
 2184       	{
 2185       		MaxTextureSamplers = FMath::Max(MaxTextureSamplers, MeshShaderMaps[Index].GetMaxTextureSamplersShaderMap());
 2186       	}
 2187       
 2188       	return MaxTextureSamplers;
 2189       }
 2190       
 2191       const FMeshMaterialShaderMap* FMaterialShaderMap::GetMeshShaderMap(FVertexFactoryType* VertexFactoryType) const
 2192       {
 2193       	checkSlow(bCompilationFinalized);
 2194       	const FMeshMaterialShaderMap* MeshShaderMap = OrderedMeshShaderMaps[VertexFactoryType->GetId()];
 2195       	checkSlow(!MeshShaderMap || MeshShaderMap->GetVertexFactoryType() == VertexFactoryType);
 2196 ***** 	return MeshShaderMap;
 2197       }
 2198       
 2199       void FMaterialShaderMap::InitOrderedMeshShaderMaps()
 2200       {
 2201       	OrderedMeshShaderMaps.Empty(FVertexFactoryType::GetNumVertexFactoryTypes());
 2202       	OrderedMeshShaderMaps.AddZeroed(FVertexFactoryType::GetNumVertexFactoryTypes());
 2203       
 2204       	for (int32 Index = 0;Index < MeshShaderMaps.Num();Index++)
 2205       	{
 2206       		check(MeshShaderMaps[Index].GetVertexFactoryType());
 2207       		const int32 VFIndex = MeshShaderMaps[Index].GetVertexFactoryType()->GetId();
 2208       		OrderedMeshShaderMaps[VFIndex] = &MeshShaderMaps[Index];
 2209       	}
 2210       }
 2211       

Most recent user affected CL: 3106830

Logs:
[Link Removed]
[Link Removed]
[Link Removed]

Steps to Reproduce

Repro steps unknown

Callstack
UE4Editor_Engine!FMaterialShaderMap::GetMeshShaderMap() [materialshader.cpp:2197]
UE4Editor_Engine!FMaterial::GetShader() [materialshared.cpp:1762]
UE4Editor_Renderer!FShadowDepthDrawingPolicy<0>::FShadowDepthDrawingPolicy<0>() [shadowdepthrendering.cpp:750]
UE4Editor_Renderer!FShadowDepthDrawingPolicyFactory::AddStaticMesh() [shadowdepthrendering.cpp:952]
UE4Editor_Renderer!FStaticMesh::AddToDrawLists() [scenecore.cpp:315]
UE4Editor_Renderer!FPrimitiveSceneInfo::AddStaticMeshes() [primitivesceneinfo.cpp:146]
UE4Editor_Renderer!FPrimitiveSceneInfo::AddToScene() [primitivesceneinfo.cpp:189]
UE4Editor_Renderer!FScene::AddPrimitiveSceneInfo_RenderThread() [rendererscene.cpp:466]
UE4Editor_Renderer!`FScene::AddPrimitive'::`2'::EURCMacro_FAddPrimitiveCommand::DoTask() [rendererscene.cpp:698]
UE4Editor_Renderer!TGraphTask<`FScene::AddPrimitive'::`2'::EURCMacro_FAddPrimitiveCommand>::ExecuteTask() [taskgraphinterfaces.h:868]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [taskgraph.cpp:932]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [taskgraph.cpp:679]
UE4Editor_RenderCore!RenderingThreadMain() [renderingthread.cpp:319]
UE4Editor_RenderCore!FRenderingThread::Run() [renderingthread.cpp:440]
UE4Editor_Core!FRunnableThreadWin::Run() [windowsrunnablethread.cpp:74]

Have Comments or More Details?

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

2
Login to Vote

Cannot Reproduce
ComponentUE - Graphics Features
Affects Versions4.124.13
Target Fix4.17
CreatedSep 13, 2016
ResolvedJun 22, 2017
UpdatedMay 7, 2018