After upgrading the engine to 5.6 I am seeing engine crashes after modifying and saving materials, material instances, and material functions. Is this a known issue? Is there any fixes?
Steps to Reproduce
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION 0x00000031ffffffff
UnrealEditor_Engine!FMaterialResource::GetShadingModels() [C:\dev\AOCUE5\Engine\Source\Runtime\Engine\Private\Materials\MaterialShared.cpp:1917]
UnrealEditor_Engine!FMaterialShaderParametersBase::FMaterialShaderParametersBase() [C:\dev\AOCUE5\Engine\Source\Runtime\Engine\Private\Materials\MaterialShared.cpp:5592]
UnrealEditor_Engine!FMaterialShaderParameters::FMaterialShaderParameters() [C:\dev\AOCUE5\Engine\Source\Runtime\Engine\Private\Materials\MaterialShared.cpp:5683]
UnrealEditor_Engine!FMaterialShaderMap::IsComplete() [C:\dev\AOCUE5\Engine\Source\Runtime\Engine\Private\Materials\MaterialShader.cpp:3096]
UnrealEditor_Engine!FShaderCompilingManager::ProcessCompiledShaderMaps() [C:\dev\AOCUE5\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp:2128]
UnrealEditor_Engine!FShaderCompilingManager::ProcessAsyncResults() [C:\dev\AOCUE5\Engine\Source\Runtime\Engine\Private\ShaderCompiler\ShaderCompiler.cpp:2799]
UnrealEditor_Engine!FAssetCompilingManager::ProcessAsyncTasks() [C:\dev\AOCUE5\Engine\Source\Runtime\Engine\Private\AssetCompilingManager.cpp:629]
UnrealEditor_Win64_DebugGame!FEngineLoop::Tick() [C:\dev\AOCUE5\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5675]
UnrealEditor_Win64_DebugGame!GuardedMain() [C:\dev\AOCUE5\Engine\Source\Runtime\Launch\Private\Launch.cpp:187]
UnrealEditor_Win64_DebugGame!GuardedMainWrapper() [C:\dev\AOCUE5\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:128]
UnrealEditor_Win64_DebugGame!LaunchWindowsStartup() [C:\dev\AOCUE5\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:282]
UnrealEditor_Win64_DebugGame!WinMain() [C:\dev\AOCUE5\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:339]
UnrealEditor_Win64_DebugGame!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Hello there,
It appears that a reference to a material dependency is invalid. I’ve not encountered this issue and do not have a repro for it, but would it be possible to breakpoint ShaderCompiler.cpp:2108 or check if MaterialDependencies[MaterialIndex] is invalid.
Potentially, there’s a material that references or is referenced by those material functions and those material instances.
Best regards,
Chris