Description

When previewing a blank texture sampler in the material editor while the HLSL window is open, you can assign a texture to the texture sampler and crash the engine.

Steps to Reproduce
  1. Open a blank project
  2. Create a new material
  3. Create a texture sample & connect it to Base Color
  4. "Start Previewing Node" on the texture sample
  5. Open the HLSL Code Window
  6. Select a texture for the sampler While the window is open

RESULT
Crash

EXPECTED
No Crash

REGRESSION?
No

Callstack

CRASH REPORTER: [Link Removed]

UE4Editor_Engine!FHLSLMaterialTranslator::Texture() hlslmaterialtranslator.h:3138
UE4Editor_Engine!UMaterialExpressionTextureSample::Compile() materialexpressions.cpp:1341
UE4Editor_Engine!FHLSLMaterialTranslator::CallExpression() hlslmaterialtranslator.h:1606
UE4Editor_Engine!FExpressionInput::Compile() materialshared.cpp:86
UE4Editor_Engine!FColorMaterialInput::CompileWithDefault() materialshared.cpp:216
UE4Editor_Engine!FMaterialResource::CompilePropertyAndSetMaterialProperty() material.cpp:115
UE4Editor_Engine!FHLSLMaterialTranslator::Translate() hlslmaterialtranslator.h:344
UE4Editor_Engine!FMaterial::GetMaterialExpressionSource() materialshared.cpp:2289
UE4Editor_MaterialEditor!FMaterialEditor::RegenerateCodeView() materialeditor.cpp:1225
UE4Editor_MaterialEditor!FMaterialEditor::NotifyPostChange() materialeditor.cpp:3647
UE4Editor_PropertyEditor!FPropertyNode::NotifyPostChange() propertynode.cpp:2067
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() propertyhandleimpl.cpp:464
UE4Editor_PropertyEditor!FPropertyValueImpl::ImportText() propertyhandleimpl.cpp:315
UE4Editor_PropertyEditor!FPropertyValueImpl::SendTextToObjectProperty() propertyhandleimpl.cpp:271
UE4Editor_PropertyEditor!FPropertyHandleObject::SetValue() propertyhandleimpl.cpp:2693
UE4Editor_PropertyEditor!SPropertyEditorAsset::SetValue() spropertyeditorasset.cpp:558
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyEditorAsset,0,TTypeWrapper<void> __cdecl() delegateinstancesimpl.h:317
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyEditorAsset,0,void __cdecl() delegateinstancesimpl.h:424
UE4Editor_PropertyEditor!SPropertyMenuAssetPicker::OnAssetSelected() spropertymenuassetpicker.cpp:232
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyMenuAssetPicker,0,TTypeWrapper<void> __cdecl() delegateinstancesimpl.h:317
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyMenuAssetPicker,0,void __cdecl() delegateinstancesimpl.h:424
UE4Editor_ContentBrowser!SAssetView::AssetSelectionChanged() sassetview.cpp:3420
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,TTypeWrapper<void> __cdecl() delegateinstancesimpl.h:317
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,void __cdecl() delegateinstancesimpl.h:424
UE4Editor_ContentBrowser!TBaseDelegate<void,TSharedPtr<FAssetViewItem,0>,enum ESelectInfo::Type>::ExecuteIfBound() delegatesignatureimpl.inl:608
UE4Editor_ContentBrowser!SListView<TSharedPtr<FAssetViewItem,0> >::Private_SignalSelectionChanged() slistview.h:638
UE4Editor_ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonUp() stablerow.h:449
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator() slateapplication.cpp:4901
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() slateapplication.cpp:215
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() slateapplication.cpp:4890
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() slateapplication.cpp:5348
UE4Editor_Slate!FSlateApplication::OnMouseUp() slateapplication.cpp:5328
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() windowsapplication.cpp:1584
UE4Editor_Core!FWindowsApplication::DeferMessage() windowsapplication.cpp:1930
UE4Editor_Core!FWindowsApplication::ProcessMessage() windowsapplication.cpp:747
UE4Editor_Core!FWindowsApplication::AppWndProc() windowsapplication.cpp:669
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() windowsplatformmisc.cpp:905
UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2788
UE4Editor!GuardedMain() launch.cpp:156
UE4Editor!GuardedMainWrapper() launchwindows.cpp:126
UE4Editor!WinMain() launchwindows.cpp:202
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 toAnswerHub just mention UE-38223 in the post.

0
Login to Vote

Fixed
ComponentRendering
Affects Versions4.12.54.13.24.144.15
Target Fix4.14.1
Fix Commit3200413
Release Commit3200413
CreatedNov 3, 2016
ResolvedNov 16, 2016
UpdatedApr 27, 2018