Description

In 4.8.2 QA Build - Making the changes to BasePassPixelShader.usf listed below, adding two texture samples and then using the Preview Arrow toggle on the add node will hard crash the CPU, requiring a complete CPU reboot. Licensee reports only a Video Driver crash and engine crash.

In 4.9 and 4.10 - Crash on opening the project from above with BasePassPixelShader.usf - Shader Compiler actually crashes befor engine starts fully.

[Link Removed]

BasePassPixelShader.usf (lines597-622)
void Main(
	FVertexFactoryInterpolantsVSToPS Interpolants,
	FBasePassInterpolantsVSToPS BasePassInterpolants,
	in INPUT_POSITION_QUALIFIERS float4 SvPosition : SV_Position,

	OPTIONAL_IsFrontFace,
	out float4 OutColor		: SV_Target0
#if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 && (MATERIALBLENDING_SOLID || MATERIALBLENDING_MASKED) && !NO_GBUFFER
	,out float4 OutGBufferA : SV_Target1 
	,out float4 OutGBufferB : SV_Target2
	,out float4 OutGBufferC : SV_Target3
	,out float4 OutGBufferD : SV_Target4
	#if ALLOW_STATIC_LIGHTING
		,out float4 OutGBufferE : SV_Target5
		,out float4 OutGBufferF : SV_Target6				//	SQEX_DISPLAY_DRIVER_CRASH_TEST
		,out float4 OutGBufferG : SV_Target7				//	SQEX_DISPLAY_DRIVER_CRASH_TEST

		#if WRITES_VELOCITY_TO_GBUFFER
//			, out float4 OutGBufferVelocity : SV_Target6	//	SQEX_DISPLAY_DRIVER_CRASH_TEST
		#endif
	#else
		#if WRITES_VELOCITY_TO_GBUFFER
			, out float4 OutGBufferVelocity : SV_Target5
		#endif
	#endif
#endif
Steps to Reproduce
  1. Make the above changes to the BasePassPixelShader.usf file (or Replace with attached File.)
  2. Open a New Third Person BP Template with No Starter Content
  3. Create a New Material
  4. Add Two Texture Samples
  5. Assign Texture2D'/Game/ThirdPersonBP/Character/Textures/UE4_Mannequin_occlusion.UE4_Mannequin_occlusion' to one Sample
  6. Assign Texture2D'/Game/ThirdPersonBP/Character/Textures/UE4_Mannequin_MAT_MASKA.UE4_Mannequin_MAT_MASKA' to the other
  7. Add the two Texture Samples RGBA Output pin together
  8. Toggle the Preview Arrow on the Add Node

RESULTS: IN 4.8.2 - Hard Crash, must reboot the computer. In 4.9 and 4.10, the Engine will crash with the callstack listed in callstack section

Callstack

Fatal error: [Link Removed] [Line: 1201] Failed to compile default material /Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial!

UE4Editor_Engine!FShaderCompilingManager::ProcessCompiledShaderMaps() shadercompiler.cpp:1201
UE4Editor_Engine!FShaderCompilingManager::FinishCompilation() shadercompiler.cpp:1632
UE4Editor_Engine!FMaterialShaderMap::Compile() materialshader.cpp:1229
UE4Editor_Engine!FMaterial::BeginCompileShaderMap() materialshared.cpp:1450
UE4Editor_Engine!FMaterial::CacheShaders() materialshared.cpp:1377
UE4Editor_Engine!FMaterial::CacheShaders() materialshared.cpp:1289
UE4Editor_Engine!UMaterial::CacheShadersForResources() material.cpp:1843
UE4Editor_Engine!UMaterial::CacheResourceShadersForRendering() material.cpp:1761
UE4Editor_Engine!UMaterial::PostLoad() material.cpp:2375
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() obj.cpp:723
UE4Editor_Engine!UMaterialInterface::PostLoadDefaultMaterials() material.cpp:386
UE4Editor_Engine!UMaterial::PostLoad() material.cpp:2224
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() obj.cpp:723
UE4Editor_CoreUObject!EndLoad() uobjectglobals.cpp:1285
UE4Editor_CoreUObject!LoadPackageInternal() uobjectglobals.cpp:1041
UE4Editor_CoreUObject!ResolveName() uobjectglobals.cpp:680
UE4Editor_CoreUObject!StaticLoadObjectInternal() uobjectglobals.cpp:767
UE4Editor_CoreUObject!StaticLoadObject() uobjectglobals.cpp:831
UE4Editor_UnrealEd!ConstructorHelpersInternal::FindOrLoadObject<UStaticMesh>() constructorhelpers.h:32
UE4Editor_UnrealEd!ConstructorHelpers::FObjectFinder<UStaticMesh>::FObjectFinder<UStaticMesh>() constructorhelpers.h:99
UE4Editor_UnrealEd!UThumbnailManager::UThumbnailManager() thumbnailmanager.cpp:45
UE4Editor_CoreUObject!UClass::CreateDefaultObject() class.cpp:2657
UE4Editor_CoreUObject!UObjectLoadAllCompiledInDefaultProperties() uobjectbase.cpp:729
UE4Editor_CoreUObject!ProcessNewlyLoadedUObjects() uobjectbase.cpp:820
UE4Editor!FEngineLoop::PreInit() launchengineloop.cpp:1379
UE4Editor!GuardedMain() launch.cpp:110
UE4Editor!GuardedMainWrapper() launchwindows.cpp:126
UE4Editor!WinMain() launchwindows.cpp:200

Have Comments or More Details?

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

0
Login to Vote

Won't Fix
ComponentUE - Graphics Features
Affects Versions4.8.24.94.10
CreatedJul 27, 2015
ResolvedJul 27, 2015
UpdatedJul 14, 2021