Description

Error message:

Assertion failed: BoundState.Texture == nullptr || BoundState.Texture == Texture2D [Link Removed] [Line: 371]

Source Context:

  358       			if (LevelIndex) // If the index is found in the map, the index is valid in BoundStates
  359       			{
  360       				Texture2D->LevelIndex = *LevelIndex;
  361       				BoundStates[*LevelIndex].Texture = Texture2D; // Update the mapping now!
  362       			}
  363       			else // Otherwise add a dummy entry to prevent having to search in the map multiple times.
  364       			{
  365       				Texture2D->LevelIndex = BoundStates.Add(FTextureBoundState(Texture2D));
  366       			}
  367       		}
  368       
  369       		FTextureBoundState& BoundState = BoundStates[Texture2D->LevelIndex];
  370       		check(BoundState.Texture == nullptr || BoundState.Texture == Texture2D);
  371       
  372 ***** 		if (BoundState.BuildDataTimestamp == BuildDataTimestamp && BoundState.Texture == Texture2D)
  373       		{
  374       			return &BoundState.BuildDataIndex; // Only return the bound static if it has data relative to this component.
  375       		}
  376       	}
  377       	return nullptr;
  378       }
  379       
  380       void FStreamingTextureLevelContext::ProcessMaterial(const FBoxSphereBounds& ComponentBounds, const FPrimitiveMaterialInfo& MaterialData, float ComponentScaling, TArray<FStreamingTexturePrimitiveInfo>& OutStreamingTextures)
  381       {
  382       	ensure(MaterialData.IsValid());
  383       
  384       	TArray<UTexture*> Textures;
  385       	MaterialData.Material->GetUsedTextures(Textures, QualityLevel, false, FeatureLevel, false);
  386       
  387       	for (UTexture* Texture : Textures)

Most recent user affected CL: 3299760

Logs:

*Issue call stack shares some similarities with This Jira * [Link Removed]


CrashReporter User Descriptions:

Steps to Reproduce

Use several duplicated texture on a static mesh (not 100%).
This risks leaving an uncleared value in Texture2D->LevelIndex, which can interfere later.

Callstack

UE4Editor_Engine!FStreamingTextureLevelContext::GetBuildDataIndexRef() texturestreamingbuild.cpp:373
UE4Editor_Engine!FStreamingTextureLevelContext::ProcessMaterial() texturestreamingbuild.cpp:396
UE4Editor_Engine!UMeshComponent::GetStreamingTextureInfoInner() meshcomponent.cpp:368
UE4Editor_Engine!UStaticMeshComponent::GetStreamingTextureInfo() staticmeshcomponent.cpp:837
UE4Editor_Engine!UPrimitiveComponent::GetStreamingTextureInfoWithNULLRemoval() primitivecomponent.cpp:292
UE4Editor_Engine!FTextureInstanceState::AddComponent() textureinstancemanager.cpp:476
UE4Editor_Engine!FLevelTextureManager::IncrementalBuild() textureinstancemanager.cpp:1459
UE4Editor_Engine!FLevelTextureManager::IncrementalUpdate() textureinstancemanager.cpp:1548
UE4Editor_Engine!FStreamingManagerTexture::IncrementalUpdate() streamingmanagertexture.cpp:360
UE4Editor_Engine!FStreamingManagerTexture::UpdateResourceStreaming() streamingmanagertexture.cpp:1170
UE4Editor_Engine!FStreamingManagerCollection::UpdateResourceStreaming() contentstreaming.cpp:709
UE4Editor_Engine!FStreamingManagerCollection::Tick() contentstreaming.cpp:680
UE4Editor_UnrealEd!UEditorEngine::Tick() editorengine.cpp:1833
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() unrealedengine.cpp:391
UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:3025
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-42179 in the post.

0
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions4.15
Target Fix4.15.1
Fix Commit3315100
CreatedFeb 20, 2017
ResolvedFeb 21, 2017
UpdatedApr 27, 2018