Description

Mark S: This is an Intel compiler failure on macOS 10.12.6.

Callstack from Log

Assertion failed:  [File:/Users/build/Build/++UE4+Release-4.18+Compile/Sync/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalPipeline.cpp] [Line: 729] 
Failed to generate a render pipeline state object:

 Compiler encountered an internal error

 === Critical error: ===
SIGSEGV: invalid attempt to access memory at address 0x3

0x05beadbb UE4Editor-Core.dylib!FGenericPlatformMisc::RaiseException(unsigned int)   [UnknownFile]) 
0x0ba1ec09 UE4Editor-ApplicationCore.dylib!FMacErrorOutputDevice::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&)   [UnknownFile]) 
0x05e98cfd UE4Editor-Core.dylib!FOutputDevice::Logf(wchar_t const*, ...)   [UnknownFile]) 
0x05e0f31b UE4Editor-Core.dylib!FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...)   [UnknownFile]) 
0x2ea33b5a UE4Editor-MetalRHI.dylib!CreateMTLRenderPipeline(FGraphicsPipelineStateInitializer const&, EMetalIndexType)   [UnknownFile]) 
0x2e9bed7a UE4Editor-MetalRHI.dylib!FMetalGraphicsPipelineState::FMetalGraphicsPipelineState(FGraphicsPipelineStateInitializer const&)   [UnknownFile]) 
0x2e9bf375 UE4Editor-MetalRHI.dylib!FMetalDynamicRHI::RHICreateGraphicsPipelineState(FGraphicsPipelineStateInitializer const&)   [UnknownFile]) 
0x0b706c57 UE4Editor-RHI.dylib!GetAndOrCreateGraphicsPipelineState(FRHICommandList&, FGraphicsPipelineStateInitializer const&, EApplyRendertargetOption)   [UnknownFile]) 
0x0b7080c8 UE4Editor-RHI.dylib!SetGraphicsPipelineState(FRHICommandList&, FGraphicsPipelineStateInitializer const&, EApplyRendertargetOption)   [UnknownFile]) 
0x15c1f824 UE4Editor-Renderer.dylib!void CommitGraphicsPipelineState<FDepthDrawingPolicy>(FRHICommandList&, FDepthDrawingPolicy const&, FDrawingPolicyRenderState const&, FBoundShaderStateInput const&)   [UnknownFile]) 
0x15c790b2 UE4Editor-Renderer.dylib!int TStaticMeshDrawList<FDepthDrawingPolicy>::DrawElement<(InstancedStereoPolicy)2>(FRHICommandList&, FViewInfo const&, FDepthDrawingPolicy::ContextDataType, FDrawingPolicyRenderState&, TStaticMeshDrawList<FDepthDrawingPolicy>::FElement const&, unsigned long long, TStaticMeshDrawList<FDepthDrawingPolicy>::FDrawingPolicyLink*, bool&)   [UnknownFile]) 
0x15c78c95 UE4Editor-Renderer.dylib!bool TStaticMeshDrawList<FDepthDrawingPolicy>::DrawVisibleInner<(InstancedStereoPolicy)2>(FRHICommandList&, FViewInfo const&, FDepthDrawingPolicy::ContextDataType, FDrawingPolicyRenderState&, TBitArray<SceneRenderingBitArrayAllocator> const*, TArray<unsigned long long, SceneRenderingAllocator> const*, StereoPair const*, int, int, bool)   [UnknownFile]) 
0x15c20096 UE4Editor-Renderer.dylib!FDeferredShadingSceneRenderer::RenderPrePassView(FRHICommandList&, FViewInfo const&)   [UnknownFile]) 
0x15c135a2 UE4Editor-Renderer.dylib!FDeferredShadingSceneRenderer::RenderPrePass(FRHICommandListImmediate&, TFunctionRef<void ()>)   [UnknownFile]) 
0x15c04818 UE4Editor-Renderer.dylib!FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate&)   [UnknownFile]) 
0x16341164 UE4Editor-Renderer.dylib!FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::EURCMacro_FDrawSceneCommand::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&)   [UnknownFile]) 
0x163b2baa UE4Editor-Renderer.dylib!TGraphTask<FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::EURCMacro_FDrawSceneCommand>::ExecuteTask(TArray<FBaseGraphTask*, FDefaultAllocator>&, ENamedThreads::Type)   [UnknownFile]) 
0x05c0733c UE4Editor-Core.dylib!FNamedTaskThread::ProcessTasksNamedThread(int, bool)   [UnknownFile]) 
0x05c063e8 UE4Editor-Core.dylib!FNamedTaskThread::ProcessTasksUntilQuit(int)   [UnknownFile]) 
0x05c024ce UE4Editor-Core.dylib!FTaskGraphImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type)   [UnknownFile]) 
0x0b67a2a1 UE4Editor-RenderCore.dylib!RenderingThreadMain(FEvent*)   [UnknownFile]) 
0x0b68ed17 UE4Editor-RenderCore.dylib!FRenderingThread::Run()   [UnknownFile]) 
0x05c7b69e UE4Editor-Core.dylib!FRunnableThreadPThread::Run()   [UnknownFile]) 
0x05c263e7 UE4Editor-Core.dylib!FRunnableThreadPThread::_ThreadProc(void*)   [UnknownFile]) 
0xb5d2c93b libsystem_pthread.dylib!_pthread_body()   [UnknownFile]) 
0xb5d2c887 libsystem_pthread.dylib!_pthread_body()   [UnknownFile]) 
0xb5d2c08d libsystem_pthread.dylib!thread_start()   [UnknownFile]) 
Steps to Reproduce

1) Sync //UE4/Release-4.18 and run using 10.12.6 with Mac with Intel GPU available
2) Make sure setup is for offline compiled shaders (runtime text shaders work ok)
3) Build Run QA Game Editor with -MacExplicitRenderer=0 (if required on Dual GPU machines to select Intel GPU)
4) Run QAGame editor then open Map: /Content/Maps/Rendering/TM-AreaShadows
5) Wait for map to load and shaders to compile
6) Editor will assert in CreateMTLRenderPipeline() with Internal Shader Compiler Error

Callstack
SEGV_MAPERR at 0x3

UE4Editor-MetalRHI.dylib!CreateMTLRenderPipeline()
UE4Editor-MetalRHI.dylib!FMetalGraphicsPipelineState::FMetalGraphicsPipelineState()
UE4Editor-MetalRHI.dylib!FMetalDynamicRHI::RHICreateGraphicsPipelineState()
UE4Editor-RHI.dylib!GetAndOrCreateGraphicsPipelineState()
UE4Editor-RHI.dylib!SetGraphicsPipelineState()
UE4Editor-Renderer.dylib!void CommitGraphicsPipelineState<FDepthDrawingPolicy>()
UE4Editor-Renderer.dylib!int TStaticMeshDrawList<FDepthDrawingPolicy>::DrawElement<(InstancedStereoPolicy)2>()
UE4Editor-Renderer.dylib!bool TStaticMeshDrawList<FDepthDrawingPolicy>::DrawVisibleInner<(InstancedStereoPolicy)2>()
UE4Editor-Renderer.dylib!FDeferredShadingSceneRenderer::RenderPrePassView()
UE4Editor-Renderer.dylib!FDeferredShadingSceneRenderer::RenderPrePass(FRHICommandListImmediate&, TFunctionRef<void()
UE4Editor-Renderer.dylib!FDeferredShadingSceneRenderer::Render()
UE4Editor-Renderer.dylib!FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::EURCMacro_FDrawSceneCommand::DoTask()
UE4Editor-Renderer.dylib!TGraphTask<FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::EURCMacro_FDrawSceneCommand>::ExecuteTask()
UE4Editor-Core.dylib!FNamedTaskThread::ProcessTasksNamedThread()
UE4Editor-Core.dylib!FNamedTaskThread::ProcessTasksUntilQuit()
UE4Editor-Core.dylib!FTaskGraphImplementation::ProcessThreadUntilRequestReturn()
UE4Editor-RenderCore.dylib!RenderingThreadMain()
UE4Editor-RenderCore.dylib!FRenderingThread::Run()
UE4Editor-Core.dylib!FRunnableThreadPThread::Run()
UE4Editor-Core.dylib!FRunnableThreadPThread::_ThreadProc()
libsystem_pthread.dylib!<Unknown>
libsystem_pthread.dylib!<Unknown>
libsystem_pthread.dylib!<Unknown>

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentRendering
Affects Versions4.18
Target Fix4.19
Fix Commit3832728
Main Commit3856245
Release Commit3832728
CreatedOct 27, 2017
ResolvedJan 11, 2018
UpdatedApr 27, 2018