Description

This was the simplest solid repro I could get on this bug. The callstack is similar to [Link Removed]

Also came across several Shader Compiling Manager crashes while attempting to repro this crash but no repro ever worked twice like [Link Removed]

This does NOT happen in 4.14.2 so this is a Regression

Steps to Reproduce

Repro using regular materials:

  1. Open any project
  2. Create a material
  3. Add a StaticSwitchParameter node
  4. Add a Texture Sampler Parameter 2D and assign a default texture.
  5. Connect the texture through the StaticSwitch True input to Base Color
  6. Connect a Constant 3 Vector to the False input
  7. Create a MaterialInstanceConstant of the material that overrides the StaticSwitch and sets it to True
  8. Apply the MaterialInstanceConstant to a static mesh in the scene
  9. Delete the the parent material in the content browser

Result: The Editor crashes
Expected Result: The material successfully deletes
-------------
Repro using Landscape

  1. Open any project
  2. Create a landscape layered material
  3. * In the material editor > place a landscapelayered node > add to the landscapelayered array > attach a vector 3 color node to the landscapelayered node > save the material
  4. create a landscape
  5. apply the landscape layered material to the landscape
  6. Go to the paint section in landscape mode
  7. Create a weighted layered blend
  8. Paint the layer on the landscape
  9. Delete the material

Result: The Editor crashes

Expected Result: The material successfully deletes and the landscape goes back to default material

Callstack
UE4Editor_Engine!GetIndexedTexture() materialuniformexpressions.h:273 
UE4Editor_Engine!FMaterialUniformExpressionTextureParameter::GetGameThreadTextureValue() materialuniformexpressions.h:340 
UE4Editor_Engine!UMaterialInstance::GetTextureExpressionValues() materialinstance.cpp:695 
UE4Editor_Engine!UMaterialInstance::GetUsedTextures() materialinstance.cpp:737 
UE4Editor_Engine!UMaterialInstance::UpdateLightmassTextureTracking() materialinstance.cpp:2462 
UE4Editor_Engine!UMaterialInstance::PostEditChangeProperty() materialinstance.cpp:2440 
UE4Editor_Engine!UMaterialInstanceConstant::PostEditChangeProperty() materialinstanceconstant.cpp:20 
UE4Editor_UnrealEd!ObjectTools::ForceReplaceReferences() objecttools.cpp:755 
UE4Editor_UnrealEd!ObjectTools::ForceDeleteObjects() objecttools.cpp:2248 
UE4Editor_UnrealEd!FAssetDeleteModel::DoForceDelete() assetdeletemodel.cpp:316 
UE4Editor_UnrealEd!SDeleteAssetsDialog::ForceDelete() sdeleteassetsdialog.cpp:717 
UE4Editor_UnrealEd!TMemberFunctionCaller<SDeleteAssetsDialog,FReply() delegateinstanceinterface.h:165 
UE4Editor_UnrealEd!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SDeleteAssetsDialog,FReply() tuple.h:134 
UE4Editor_UnrealEd!TBaseSPMethodDelegateInstance<0,SDeleteAssetsDialog,0,FReply __cdecl() delegateinstancesimpl.h:327 
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() delegatesignatureimpl.inl:537 
UE4Editor_Slate!SButton::OnMouseButtonUp() sbutton.cpp:278 
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator() slateapplication.cpp:5052 
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() slateapplication.cpp:238 
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() slateapplication.cpp:5041 
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() slateapplication.cpp:5504 
UE4Editor_Slate!FSlateApplication::OnMouseUp() slateapplication.cpp:5481 
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() windowsapplication.cpp:1698 
UE4Editor_Core!FWindowsApplication::DeferMessage() windowsapplication.cpp:2120 
UE4Editor_Core!FWindowsApplication::ProcessMessage() windowsapplication.cpp:867 
UE4Editor_Core!FWindowsApplication::AppWndProc() windowsapplication.cpp:714 
user32!<Unknown> 
user32!<Unknown> 
UE4Editor_Core!FWindowsApplication::PumpMessages() windowsapplication.cpp:2132 
UE4Editor_Slate!FSlateApplication::TickPlatform() slateapplication.cpp:1533 
UE4Editor_Slate!FSlateApplication::AddModalWindow() slateapplication.cpp:2040 
UE4Editor_UnrealEd!UEditorEngine::EditorAddModalWindow() editorengine.cpp:3814 
UE4Editor_UnrealEd!ObjectTools::DeleteObjects() objecttools.cpp:1780 
UE4Editor_UnrealEd!ObjectTools::DeleteAssets() objecttools.cpp:1687 
UE4Editor_ContentBrowser!FAssetContextMenu::ExecuteDelete() assetcontextmenu.cpp:1824 
UE4Editor_ContentBrowser!SContentBrowser::HandleDeleteCommandExecute() scontentbrowser.cpp:2052 
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,TTypeWrapper<void> __cdecl() delegateinstancesimpl.h:327 
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void __cdecl() delegateinstancesimpl.h:433 
UE4Editor_Slate!FUICommandList::ConditionalProcessCommandBindings() uicommandlist.cpp:216 
UE4Editor_Slate!FUICommandList::ProcessCommandBindings() uicommandlist.cpp:160 
UE4Editor_ContentBrowser!SContentBrowser::OnKeyDown() scontentbrowser.cpp:1026 
UE4Editor_Slate!<lambda_2afcd964c763e269e2d1a63f3a72f846>::operator() slateapplication.cpp:4668 
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_2afcd964c763e269e2d1a63f3a72f846> >() slateapplication.cpp:238 
UE4Editor_Slate!FEventRouter::RouteAlongFocusPath<FEventRouter::FBubblePolicy,<lambda_2afcd964c763e269e2d1a63f3a72f846>,FKeyEvent>() slateapplication.cpp:220 
UE4Editor_Slate!FSlateApplication::ProcessKeyDownEvent() slateapplication.cpp:4666 
UE4Editor_Slate!FSlateApplication::OnKeyDown() slateapplication.cpp:4581 
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() windowsapplication.cpp:1533 
UE4Editor_Core!FWindowsApplication::DeferMessage() windowsapplication.cpp:2120 
UE4Editor_Core!FWindowsApplication::ProcessMessage() windowsapplication.cpp:867 
UE4Editor_Core!FWindowsApplication::AppWndProc() windowsapplication.cpp:714 
user32!<Unknown> 
user32!<Unknown> 
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() windowsplatformmisc.cpp:979 
UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2971 
UE4Editor!GuardedMain() launch.cpp:166 
UE4Editor!GuardedMainWrapper() launchwindows.cpp:130 
UE4Editor!WinMain() launchwindows.cpp:206 
UE4Editor!__scrt_common_main_seh() exe_common.inl:264 
kernel32!<Unknown> 
ntdll!<Unknown> 

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-40063 in the post.

1
Login to Vote

Fixed
ComponentRendering
Affects Versions4.154.16
Target Fix4.15
Fix Commit3285855
Main Commit3389599
Release Commit3285855
CreatedDec 28, 2016
ResolvedFeb 3, 2017
UpdatedApr 27, 2018