If forward shading is turned on, opening the material editor crashes the engine immediately when a texture sample node is visible. There may also be other nodes that cause a crash, but this is one that reliably reproduces a crash on my system.
I’ve tested this with:
- a project migrated from 4.13
- a new project, editing an existing material
- a new project, creating a blank material
Crash logs follow
New blank project, new blank material, creating a new texture sample node:
MachineId:E4E841D24E417290E5D75D86B556C638
EpicAccountId:26cb9441717d4e78b2ed9b589f3bd7d5
SEGV_MAPERR at 0x20
FMetalRHICommandContext::RHISetShaderUniformBuffer(FRHIPixelShader*, unsigned int, FRHIUniformBuffer*) Address = 0x140738cb4 (filename not found) [in UE4Editor-MetalRHI.dylib]
void FForwardLightingParameters::Set<FRHICommandList, FRHIPixelShader*>(FRHICommandList&, FRHIPixelShader* const&, FViewInfo const&, bool) Address = 0x11a0a6609 (filename not found) [in UE4Editor-Renderer.dylib]
TBasePassPixelShaderPolicyParamType<FUniformLightMapPolicyShaderParametersType>::SetParameters(FRHICommandList&, FMaterialRenderProxy const*, FMaterial const&, FViewInfo const*, EBlendMode, bool, ESceneRenderTargetsMode::Type, bool, bool) Address = 0x11a0ab6ed (filename not found) [in UE4Editor-Renderer.dylib]
TBasePassDrawingPolicy<FUniformLightMapPolicy>::SetSharedState(FRHICommandList&, FViewInfo const*, FMeshDrawingPolicy::ContextDataType, bool) const Address = 0x11a0aa1ca (filename not found) [in UE4Editor-Renderer.dylib]
void FDrawBasePassDynamicMeshAction::Process<FUniformLightMapPolicy>(FRHICommandList&, FProcessBasePassMeshParameters const&, FUniformLightMapPolicy const&, FUniformLightMapPolicy::ElementDataType const&) const Address = 0x11a0a2954 (filename not found) [in UE4Editor-Renderer.dylib]
void ProcessBasePassMesh<FDrawBasePassDynamicMeshAction>(FRHICommandList&, FProcessBasePassMeshParameters const&, FDrawBasePassDynamicMeshAction const&) Address = 0x119fff08d (filename not found) [in UE4Editor-Renderer.dylib]
FBasePassOpaqueDrawingPolicyFactory::DrawDynamicMesh(FRHICommandList&, FViewInfo const&, FBasePassOpaqueDrawingPolicyFactory::ContextType, FMeshBatch const&, bool, bool, FPrimitiveSceneProxy const*, FHitProxyId, bool) Address = 0x119ffe87e (filename not found) [in UE4Editor-Renderer.dylib]
FRendererModule::DrawTileMesh(FRHICommandListImmediate&, FSceneView const&, FMeshBatch const&, bool, FHitProxyId const&) Address = 0x11a5c52e2 (filename not found) [in UE4Editor-Renderer.dylib]
FTileRenderer::DrawTile(FRHICommandListImmediate&, FSceneView const&, FMaterialRenderProxy const*, bool, float, float, float, float, float, float, float, float, bool, FHitProxyId, FColor) Address = 0x10cc324e0 (filename not found) [in UE4Editor-Engine.dylib]
FCanvasTileRendererItem::Render_RenderThread(FRHICommandListImmediate&, FCanvas const*) Address = 0x10cc334a9 (filename not found) [in UE4Editor-Engine.dylib]
FCanvas::Flush_RenderThread(FRHICommandListImmediate&, bool) Address = 0x10cd55c55 (filename not found) [in UE4Editor-Engine.dylib]
FPreviewElement::DrawRenderThread(FRHICommandListImmediate&, void const*) Address = 0x11ecbb09a (filename not found) [in UE4Editor-GraphEditor.dylib]
FSlateRHIRenderingPolicy::DrawElements(FRHICommandListImmediate&, FSlateBackBuffer&, FMatrix const&, TArray<FSlateRenderBatch, FDefaultAllocator> const&, bool) Address = 0x1328a9b34 (filename not found) [in UE4Editor-SlateRHIRenderer.dylib]
FSlateRHIRenderer::DrawWindow_RenderThread(FRHICommandListImmediate&, FSlateRHIRenderer::FViewportInfo const&, FSlateWindowElementList&, bool, bool) Address = 0x13288b224 (filename not found) [in UE4Editor-SlateRHIRenderer.dylib]
TGraphTask<FSlateRHIRenderer::DrawWindows_Private(FSlateDrawBuffer&)::EURCMacro_SlateDrawWindowsCommand>::ExecuteTask(TArray<FBaseGraphTask*, FDefaultAllocator>&, ENamedThreads::Type) Address = 0x1328df047 (filename not found) [in UE4Editor-SlateRHIRenderer.dylib]
FNamedTaskThread::ProcessTasksNamedThread(int, bool) Address = 0x10a1727e1 (filename not found) [in UE4Editor-Core.dylib]
FNamedTaskThread::ProcessTasksUntilQuit(int) Address = 0x10a16e285 (filename not found) [in UE4Editor-Core.dylib]
FTaskGraphImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type) Address = 0x10a16ab01 (filename not found) [in UE4Editor-Core.dylib]
RenderingThreadMain(FEvent*) Address = 0x1102bd964 (filename not found) [in UE4Editor-RenderCore.dylib]
FRenderingThread::Run() Address = 0x1102d1107 (filename not found) [in UE4Editor-RenderCore.dylib]
FRunnableThreadPThread::Run() Address = 0x10a1c38a3 (filename not found) [in UE4Editor-Core.dylib]
FRunnableThreadPThread::_ThreadProc(void*) Address = 0x10a188301 (filename not found) [in UE4Editor-Core.dylib]
_pthread_body Address = 0x7fff9677299d (filename not found) [in libsystem_pthread.dylib]
_pthread_body Address = 0x7fff9677291a (filename not found) [in libsystem_pthread.dylib]
thread_start Address = 0x7fff96770351 (filename not found) [in libsystem_pthread.dylib]