Description

FVolumetricRenderTargetViewStateData structure for the orthographic view is not initialized and the structure has some uninitialized member variables.
If uninitialized FVolumetricRenderTargetViewStateData::Mode variable is 1 or 3, the renderer runs a code path to access uninitialized data and causes assertion failed

Steps to Reproduce
  1. (optional) 100% repro by adding following code:
    FVolumetricRenderTargetViewStateData::FVolumetricRenderTargetViewStateData()
    	: CurrentRT(1)
    	, bFirstTimeUsed(true)
    	, bHistoryValid(false)
    	, PreViewExposure(1.0f)
    	, FullResolution(FIntPoint::ZeroValue)
    	, VolumetricReconstructRTResolution(FIntPoint::ZeroValue)
    	, VolumetricTracingRTResolution(FIntPoint::ZeroValue)
    	, Mode(1) // add this line
    {
    	VolumetricReconstructRTDownsampleFactor = 0;
    	VolumetricTracingRTDownsampleFactor = 0;
    }
    
  1. Place a VolumetricCloud actor
  2. Place a CameraActor
  3. Open level blueprint
  4. Put GetPlayerController
  5. Pull wire from GetPlayerController and put a SetViewTargetWithBlend node
  6. Connect the SetViewTargetWithBlend to EventBeginPlay
  7. Drag and drop the CameraActor from the scene outliner to the level blueprint
  8. Connect CemeraActor to SetViewTargetWithBlend
  9. Compile
  10. Start PIE

Result:

Editor rarely crashes with the assertion log :

Assertion failed: FullResolution != FIntPoint::ZeroValue [File:D:\dev\ue505\Engine\Source\Runtime\Renderer\Private\VolumetricRenderTarget.cpp] [Line: 299] 

 

Callstack

UnrealEditor-Renderer.dll!FVolumetricRenderTargetViewStateData::GetOrCreateVolumetricTracingRT(FRDGBuilder & GraphBuilder) Line 299 C++
UnrealEditor-Renderer.dll!CreateTranslucentBasePassUniformBuffer(FRDGBuilder & GraphBuilder, const FScene * Scene, const FViewInfo & View, const int ViewIndex, const FTranslucencyLightingVolumeTextures & TranslucencyLightingVolumeTextures, FRDGTexture * SceneColorCopyTexture, const ESceneTextureSetupMode SceneTextureSetupMode, bool bLumenGIEnabled, const FOITData & OITData, ETranslucencyPass::Type TranslucencyPass) Line 1076 C++
UnrealEditor-Renderer.dll!FDeferredShadingSceneRenderer::RenderTranslucencyInner(FRDGBuilder & GraphBuilder, const FMinimalSceneTextures & SceneTextures, const FTranslucencyLightingVolumeTextures & TranslucentLightingVolumeTextures, FTranslucencyPassResourcesMap * OutTranslucencyResourceMap, FRDGTextureMSAA SharedDepthTexture, ETranslucencyView ViewsToRender, FRDGTexture * SceneColorCopyTexture, ETranslucencyPass::Type TranslucencyPass, FInstanceCullingManager & InstanceCullingManager, bool bStandardTranslucentCanRenderSeparate) Line 1744 C++
UnrealEditor-Renderer.dll!FDeferredShadingSceneRenderer::RenderTranslucency(FRDGBuilder & GraphBuilder, const FSceneTextures & SceneTextures, const FTranslucencyLightingVolumeTextures & TranslucentLightingVolumeTextures, FTranslucencyPassResourcesMap * OutTranslucencyResourceMap, ETranslucencyView ViewsToRender, FInstanceCullingManager & InstanceCullingManager, bool bStandardTranslucentCanRenderSeparate, FRDGTextureMSAA & OutSharedDepthTexture) Line 1845 C++
UnrealEditor-Renderer.dll!FDeferredShadingSceneRenderer::Render(FRDGBuilder & GraphBuilder) Line 3173 C++
UnrealEditor-Renderer.dll!RenderViewFamilies_RenderThread(FRHICommandListImmediate & RHICmdList, const TArray<FSceneRenderer *,TSizedDefaultAllocator<32>> & SceneRenderers) Line 5431 C++
UnrealEditor-Renderer.dll!FRendererModule::BeginRenderingViewFamilies::__l96::<lambda_3>::operator()(FRHICommandListImmediate & RHICmdList) Line 5734 C++
[Inline Frame] UnrealEditor-RenderCore.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(FRHICommandListImmediate &)>::operator()(FRHICommandListImmediate &) Line 470 C++
UnrealEditor-RenderCore.dll!FRenderThreadCommandPipe::EnqueueAndLaunch::__l5::<lambda_1>::operator()() Line 1541 C++
[Inline Frame] UnrealEditor-RenderCore.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(void)>::operator()() Line 470 C++
[Inline Frame] UnrealEditor-RenderCore.dll!TFunctionGraphTaskImpl<void __cdecl(void),1>::DoTaskImpl(TUniqueFunction<void __cdecl(void)> & Function, ENamedThreads::Type) Line 1710 C++
[Inline Frame] UnrealEditor-RenderCore.dll!TFunctionGraphTaskImpl<void __cdecl(void),1>::DoTask(ENamedThreads::Type) Line 1703 C++
UnrealEditor-RenderCore.dll!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(void),1>>::ExecuteTask() Line 634 C++
UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() Line 504 C++
[Inline Frame] UnrealEditor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> &) Line 482 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 779 C++
UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 668 C++
UnrealEditor-RenderCore.dll!RenderingThreadMain(FEvent * TaskGraphBoundSyncEvent) Line 317 C++
UnrealEditor-RenderCore.dll!FRenderingThread::Run() Line 470 C++
UnrealEditor-Core.dll!FRunnableThreadWin::Run() Line 159 C++
UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() Line 71 C++
[External Code]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-248265 in the post.

0
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions5.5
Target Fix5.6
Fix Commit39625106
CreatedFeb 17, 2025
ResolvedFeb 20, 2025
UpdatedMar 3, 2025
View Jira Issue