Volume Material Crash

Hi there,

Whenever I try to add a constant vector value to the albedo node, the engine will crash.

I haven’t tried other situations for this bug yet, but here is the reproduction steps I have found so far:

  1. Create Blank Project.
  2. Create a new material, set it’s domain to Volume.
  3. Create a constant float3 node.
  4. Attempt to drag it to the albedo slot.

Here is a copy of the call stack:

>	UE4Editor-ShaderCore.dll!FShaderResource::FindShaderResourceById(const FShaderResourceId & Id) Line 551	C++
 	UE4Editor-ShaderCore.dll!FShaderResource::FindOrCreateShaderResource(const FShaderCompilerOutput & Output, FShaderType * SpecificType) Line 560	C++
 	UE4Editor-Engine.dll!FMeshMaterialShaderType::FinishCompileShader(const FUniformExpressionSet & UniformExpressionSet, const FSHAHash & MaterialShaderMapHash, const FShaderCompileJob & CurrentJob, const FShaderPipelineType * ShaderPipelineType, const FString & InDebugDescription) Line 127	C++
 	UE4Editor-Engine.dll!FMaterialShaderMap::ProcessCompilationResultsForSingleJob(FShaderCompileJob * SingleJob, const FShaderPipelineType * ShaderPipeline, const FSHAHash & MaterialShaderMapHash) Line 1447	C++
 	UE4Editor-Engine.dll!FMaterialShaderMap::ProcessCompilationResults(const TArray<FShaderCommonCompileJob *,FDefaultAllocator> & InCompilationResults, int & InOutJobIndex, float & TimeBudget, TMap<FVertexFactoryType const *,TArray<FShaderPipelineType const *,FDefaultAllocator>,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<FVertexFactoryType const *,TArray<FShaderPipelineType const *,FDefaultAllocator>,0> > & SharedPipelines) Line 1488	C++
 	UE4Editor-Engine.dll!FShaderCompilingManager::ProcessCompiledShaderMaps(TMap<int,FShaderMapFinalizeResults,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<int,FShaderMapFinalizeResults,0> > & CompiledShaderMaps, float TimeBudget) Line 1770	C++
 	UE4Editor-Engine.dll!FShaderCompilingManager::ProcessAsyncResults(bool bLimitExecutionTime, bool bBlockOnGlobalShaderCompletion) Line 2369	C++
 	UE4Editor-Engine.dll!FCanvas::Construct() Line 271	C++
 	UE4Editor-Engine.dll!FCanvas::FCanvas(FRenderTarget * InRenderTarget, FHitProxyConsumer * InHitProxyConsumer, float InRealTime, float InWorldTime, float InWorldDeltaTime, ERHIFeatureLevel::Type InFeatureLevel) Line 260	C++
 	UE4Editor-GraphEditor.dll!FPreviewElement::DrawRenderThread(FRHICommandListImmediate & RHICmdList, const void * InWindowBackBuffer) Line 239	C++
 	UE4Editor-SlateRHIRenderer.dll!FSlateRHIRenderingPolicy::DrawElements(FRHICommandListImmediate & RHICmdList, FSlateBackBuffer & BackBuffer, const FMatrix & ViewProjectionMatrix, const TArray<FSlateRenderBatch,FDefaultAllocator> & RenderBatches, bool bAllowSwitchVerticalAxis) Line 707	C++
 	UE4Editor-SlateRHIRenderer.dll!FSlateRHIRenderer::DrawWindow_RenderThread(FRHICommandListImmediate & RHICmdList, FSlateRHIRenderer::FViewportInfo & ViewportInfo, FSlateWindowElementList & WindowElementList, bool bLockToVsync, bool bClear) Line 766	C++
 	UE4Editor-SlateRHIRenderer.dll!TGraphTask<TEnqueueUniqueRenderCommandType<`FSlateRHIRenderer::DrawWindows_Private'::`29'::SlateDrawWindowsCommandName,<lambda_43e86ee7c51f39979e9a39d40b280024> > >::ExecuteTask(TArray<FBaseGraphTask *,FDefaultAllocator> & NewTasks, ENamedThreads::Type CurrentThread) Line 883	C++
 	UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 954	C++
 	UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 701	C++
 	UE4Editor-RenderCore.dll!RenderingThreadMain(FEvent * TaskGraphBoundSyncEvent) Line 327	C++
 	UE4Editor-RenderCore.dll!FRenderingThread::Run() Line 478	C++
 	UE4Editor-Core.dll!FRunnableThreadWin::Run() Line 76	C++
 	UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() Line 25	C++
 	[External Code]	

Hope this helps!

Hi TJ Ballard,

Unfortunately I don’t have that information any more, as it seems to have disappeared during the upgrade to 4.16.1. However it seems to be working correctly for me in 4.16.1. I think I must have pulled a changelist in-between 4.16 and 4.16.1. But I will mark this as answered for now.

Thank you for looking into this!

Seems Solved.

Hi PB-,

I attempted to reproduce this but I couldn’t get your results. I can apply the material fine with that setup.

Could you post your Machine ID/Epic ID from the Callstack, your log file from the Project > Saved > Logs folder, and a screenshot to show your exact setup?