Description

Crash repros in 4.19.2 and Main CL 4088075. Triggering the crash can be inconsistent- you may have to assign the material instance to a mesh, force shaders to recompile, save, and continue toggling Static Switch Params on and off. See attached logs and callstack from licensee.

Per Licensee:

Whilst using the material layering feature, UE4 crashes. This happens when trying to edit a material instance and it seems to have an issue with a parameter collection that's used with one of materials within the blend. What's interesting is that it only happens on my PC, not on another with the same specs and project.

Steps to Reproduce
  1. Open attached project
  2. Open M_Layers_Inst
  3. In Layer Parameters tab, under Layer 2 > Static Switch Parameter Values, toggle the three values (Patchy, Stripes, Thick Grass) on and off.

Result: Engine Crash (see attached GIF)

Callstack
LoginId:77ac66cf4b506a51a458c382c4ec63c2
EpicAccountId:5caf2c99925243e8b9b1bdcc9cd0e6cf

Assertion failed: !bDeletedThroughDeferredCleanup [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialShader.cpp] [Line: 2075]

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:419]
UE4Editor_Engine!FMaterialShaderMap::AddRef() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\materials\materialshader.cpp:2076]
UE4Editor_Engine!FMaterial::CacheShaders() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\materials\materialshared.cpp:1673]
UE4Editor_Engine!UMaterialInstance::CacheShadersForResources() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\materials\materialinstance.cpp:2487]
UE4Editor_Engine!UMaterialInstance::CacheResourceShadersForRendering() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\materials\materialinstance.cpp:2413]
UE4Editor_Engine!UMaterialInstance::UpdateStaticPermutation() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\materials\materialinstance.cpp:3367]
UE4Editor_UnrealEd!UMaterialEditorInstanceConstant::CopyToSourceInstance() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\previewmaterial.cpp:1349]
UE4Editor_UnrealEd!UMaterialEditorInstanceConstant::PostEditChangeProperty() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\unrealed\private\previewmaterial.cpp:834]
UE4Editor_CoreUObject!UObject::PostEditChangeChainProperty() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:436]
UE4Editor_PropertyEditor!FPropertyNode::NotifyPostChange() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\propertynode.cpp:2393]
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:570]
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:358]
UE4Editor_PropertyEditor!FPropertyHandleBool::SetValue() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\propertyhandleimpl.cpp:3570]
UE4Editor_PropertyEditor!SPropertyEditorBool::OnCheckStateChanged() [d:\build\++ue4+release-4.19+compile\sync\engine\source\editor\propertyeditor\private\userinterface\propertyeditor\spropertyeditorbool.cpp:79]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyEditorBool,0,TTypeWrapper<void> __cdecl(enum ECheckBoxState)>::Execute() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:269]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyEditorBool,0,void __cdecl(enum ECheckBoxState)>::ExecuteIfSafe() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:345]
UE4Editor_Slate!SCheckBox::ToggleCheckedState() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\input\scheckbox.cpp:299]
UE4Editor_Slate!SCheckBox::OnMouseButtonUp() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\widgets\input\scheckbox.cpp:190]
UE4Editor_Slate!<lambda_1002768c627006711ef2f351a87ec0e7>::operator()() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5440]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_1002768c627006711ef2f351a87ec0e7> >() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:266]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5429]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5927]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5907]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1726]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2172]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:889]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:726]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:129]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3263]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UE4Editor!WinMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

Have Comments or More Details?

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

17
Login to Vote

Duplicate
ComponentUE - Graphics Features
Affects Versions4.19.24.20
CreatedMay 23, 2018
ResolvedOct 12, 2018
UpdatedOct 9, 2020
Pull Requests
5131 - enlightdm
View Jira Issue