Skip to content

XeSS Frame Gen crash on loading screen menu #43

Description

@zoujiahuan

Encounter two type of crashes while loading the game on loading screen menu with XeSS Frame Gen on.

The first one:

[2026.07.30-12.07.01:858][733]LogWindows: Error: === Critical error: ===
[2026.07.30-12.07.01:858][733]LogWindows: Error: 
[2026.07.30-12.07.01:858][733]LogWindows: Error: Assertion failed: Texture [File:D:\dev\project\main\Engine\Source\Runtime\RenderCore\Private\RenderTargetPool.cpp] [Line: 34] 
[2026.07.30-12.07.01:858][733]LogWindows: Error: 
[2026.07.30-12.07.01:858][733]LogWindows: Error: 
[2026.07.30-12.07.01:858][733]LogWindows: Error: 
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff75e4b3398 project.exe!FDebug::CheckVerifyFailedImpl2() [D:\dev\project\main\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:812]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762ac4783 project.exe!CreateRenderTarget() [D:\dev\project\main\Engine\Source\Runtime\RenderCore\Private\RenderTargetPool.cpp:34]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff76563de5a project.exe!FRenderTarget::GetRenderTargetTexture() [D:\dev\project\main\Engine\Source\Runtime\Engine\Private\UnrealClient.cpp:193]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff769cb86d0 project.exe!FXeFGViewExtension::PostRenderView_RenderThread() [D:\dev\project\main\Engine\Plugins\External\XeSS\Source\XeFG\Private\XeFGViewExtension.cpp:180]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff7621b7cad project.exe!FSceneRenderer::OnRenderFinish() [D:\dev\project\main\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:4761]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff7614e05d7 project.exe!FDeferredShadingSceneRenderer::Render() [D:\dev\project\main\Engine\Source\Runtime\Renderer\Private\DeferredShadingRenderer.cpp:4064]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff7621bca6f project.exe!RenderViewFamily_RenderThread() [D:\dev\project\main\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:5016]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff76217f190 project.exe!`FRendererModule::BeginRenderingViewFamilies'::`125'::<lambda_4>::<lambda_invoker_cdecl>() [D:\dev\project\main\Engine\Source\Runtime\Renderer\Private\SceneRendering.cpp:5333]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762143d92 project.exe!`FSceneRenderProcessor::Execute'::`30'::<lambda_4>::operator()() [D:\dev\project\main\Engine\Source\Runtime\Renderer\Private\SceneRenderBuilder.cpp:894]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762acac32 project.exe!ExecuteCommand() [D:\dev\project\main\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:1555]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762aa04f6 project.exe!UE::RenderCommandPipe::FCommandList::ConsumeCommands<`FRenderThreadCommandPipe::ExecuteCommands'::`2'::<lambda_1> >() [D:\dev\project\main\Engine\Source\Runtime\RenderCore\Public\RenderingThread.h:431]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762ab775a project.exe!`FRenderThreadCommandPipe::EnqueueAndLaunch'::`5'::<lambda_1>::operator()() [D:\dev\project\main\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:1939]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762acb6cd project.exe!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(void),1> >::ExecuteTask() [D:\dev\project\main\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:697]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff75e14b614 project.exe!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\dev\project\main\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:519]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff75e13f9c8 project.exe!FNamedTaskThread::ProcessTasksNamedThread() [D:\dev\project\main\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:791]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff75e13fe7e project.exe!FNamedTaskThread::ProcessTasksUntilQuit() [D:\dev\project\main\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:680]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762ae65d8 project.exe!RenderingThreadMain() [D:\dev\project\main\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:261]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff762ae6c89 project.exe!FRenderingThread::Run() [D:\dev\project\main\Engine\Source\Runtime\RenderCore\Private\RenderingThread.cpp:393]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff75e7d9468 project.exe!FRunnableThreadWin::Run() [D:\dev\project\main\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007ff75e7d229f project.exe!FRunnableThreadWin::GuardedRun() [D:\dev\project\main\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:79]
[2026.07.30-12.07.01:858][733]LogWindows: Error: [Callstack] 0x00007fffb805e957 KERNEL32.DLL!UnknownFunction []
[2026.07.30-12.07.01:858][733]LogWindows: Error: 

My simple solution is adding this in XeFGViewExtension.cpp, i am not sure it's the correct way but it works.

#if XESS_ENGINE_WITH_XEFG_API & XESS_ENGINE_WITH_XEFG_API_SVE_POST_RENDER_VIEW_RDG
void FXeFGViewExtension::PostRenderView_RenderThread(FRDGBuilder& GraphBuilder, FSceneView& InView)
{ 
	// custom change start
	if (!InView.Family->RenderTarget->GetRenderTargetTexture().IsValid())
	{
		return;
	}
	// custom change end

	FRDGTexture* SceneColorTexture = XeSSUnreal::GetRenderTargetTexture(*InView.Family->RenderTarget, GraphBuilder);
	const FViewInfo& ViewInfo = static_cast<const FViewInfo&>(InView);
	const XeSSUnreal::XSceneTextures& SceneTextures = XeSSUnreal::GetSceneTextures(ViewInfo, GraphBuilder);
	FRDGTexture* DepthTexture = XeSSUnreal::GetSceneDepthTexture(SceneTextures, GraphBuilder);
	FRDGTexture* VelocityTexture = XeSSUnreal::GetSceneVelocityTexture(SceneTextures, GraphBuilder);

The second crash is a GPU hang, Game thread and Render thread are waiting, here is the callstack of RHI thread

[External Code]
[Inline Frame]
project.exe!TRefCountPtr<ID3D12DescriptorHeap>::{dtor}() Line 505
project.exe!FD3D12DescriptorHeap::~FD3D12DescriptorHeap() Line 188
[External Code]
[Inline Frame]
project.exe!FThreadSafeRefCountedObject::DeleteThis(const UE::Private::TTransactionalAtomicRefCount<unsigned int> *) Line 315
[Inline Frame]
project.exe!UE::Private::TTransactionalAtomicRefCount<unsigned int>::ImmediatelyRelease() Line 184
[Inline Frame]
project.exe!UE::Private::TTransactionalAtomicRefCount<unsigned int>::Release() Line 142
[Inline Frame]
project.exe!FThreadSafeRefCountedObject::Release() Line 302
[Inline Frame]
project.exe!TRefCountPtr<FD3D12DescriptorHeap>::operator=(FD3D12DescriptorHeap *) Line 522
[Inline Frame]
project.exe!TRefCountPtr<FD3D12DescriptorHeap>::SafeRelease() Line 601
project.exe!FD3D12BindlessResourceManager::GarbageCollect() Line 456
[Inline Frame]
project.exe!FD3D12BindlessDescriptorManager::GarbageCollect() Line 815
project.exe!FD3D12Adapter::EndFrame() Line 1834
project.exe!FD3D12DynamicRHI::RHIEndFrame(const FDynamicRHI::FRHIEndFrameArgs & Args) Line 602
project.exe!FRHICommandListExecutor::FSubmitState::Submit(const FRHICommandListExecutor::FSubmitState::FSubmitArgs & Args)Line 1295
[Inline Frame]
project.exe!FCpuProfilerTrace::FEventScope::{ctor}(unsigned int &) Line 197
project.exe!FRHICommandListExecutor::Submit::__l56::
void <lambda>(const TArray<FString, TSizedDefaultAllocator<32>> &)...::<lambda_1>::operator()()
[Inline Frame]
project.exe!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<0>,void __cdecl(void)>::operator()()Line 414
project.exe!FRHICommandListExecutor::FTaskPipe::Execute(FRHICommandListExecutor::FTaskPipe::FTask * Task, const TRefCountPtr<FBaseGraphTask> & Current...)
[Inline Frame]
project.exe!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>, void __cdecl(enum ENamedThreads::Type...)>
[Inline Frame]
project.exe!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type, TRefCountPtr<FBaseGraphTask> const &), 0>::DoTaskImpl(...)
[Inline Frame]
project.exe!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type, TRefCountPtr<FBaseGraphTask> const &), 0>::DoTask(...)
project.exe!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type, TRefCountPtr<FBaseGraphTask> const &), 0>>::ExecuteTask() Line 697
[Inline Frame]
project.exe!std::_Atomic_storage<int,4>::load(const std::memory_order) Line 932
[Inline Frame]
project.exe!UE::Trace::Private::AtomicLoadRelaxed(volatile int *) Line 62
[Inline Frame]
project.exe!UE::Trace::FChannel::IsEnabled() Line 18
[Inline Frame]
project.exe!UE::Trace::FChannel::operator bool() Line 24
[Inline Frame]
project.exe!TaskTrace::Finished(unsigned __int64) Line 199
[Inline Frame]
project.exe!TaskTrace::FTaskTimingEventScope::{dtor}() Line 322
project.exe!UE::Tasks::Private::FTaskBase::TryExecuteTask() Line 519
[Inline Frame]
project.exe!FBaseGraphTask::Execute(TArray<FBaseGraphTask *, TSizedDefaultAllocator<32>> &) Line 495
project.exe!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 791
project.exe!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 680
project.exe!FRHIThread::Run() Line 213
project.exe!FRunnableThreadWin::Run() Line 159
project.exe!FRunnableThreadWin::GuardedRun() Line 79

Final hit at RefCounting.h

~TRefCountPtr()
{
	if (Reference)
	{
		Reference->Release();
	}
}

Seems relevant to GC and bindless heap, I do not have bindless enabled in config, please help to take a look at it, thanks.

Spec
RTX 5090

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions