UE5 crashing on startup.

So i compiled UE5 from source (Linux) and everything works as long as i want to open or create project. Even black projects give me out of memory error. (on windows never had this problem). It always says allocated 128.000mb so i thing its driver related.

My setup:
CPU : i5 7500
RAM : 8gb RAM ddr4 2666mhz
GPU : GT 1030 2GB ← this is problem but on windows project opened. i even opened city example on low in 15 fps.
OS : Arch (kernel 5.17.3)
Driver: nvidia-dkms 510.60.02

creah reporter:

Fatal error: [File:./Runtime/VulkanRHI/Private/VulkanMemory.cpp] [Line: 2123] Out of memory on Vulkan; MemoryTypeIndex=7, AllocSize=128.000MB << callstack too long >>

libUnrealEditor-VulkanRHI.so!VulkanRHI::FVulkanResourceHeap::AllocateResource(VulkanRHI::FVulkanAllocation&, FVulkanEvictable*, VulkanRHI::EType, unsigned int, unsigned int, bool, bool, VulkanRHI::EVulkanAllocationMetaType, bool, char const*, unsigned int) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/VulkanRHI/Private/VulkanMemory.cpp:2123]
libUnrealEditor-VulkanRHI.so!VulkanRHI::FMemoryManager::AllocateBufferMemory(VulkanRHI::FVulkanAllocation&, FVulkanEvictable*, VkMemoryRequirements const&, unsigned int, VulkanRHI::EVulkanAllocationMetaType, bool, char const*, unsigned int) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/VulkanRHI/Private/VulkanMemory.cpp:3065]
libUnrealEditor-VulkanRHI.so!FVulkanTransientHeap::FVulkanTransientHeap(FRHITransientHeap::FInitializer const&, FVulkanDevice*) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:45]
libUnrealEditor-VulkanRHI.so!FVulkanTransientHeapCache::CreateHeap(FRHITransientHeap::FInitializer const&) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:100]
libUnrealEditor-RHICore.so!FRHITransientHeapCache::Acquire(unsigned long long, ERHITransientHeapFlags) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/RHICore/Private/RHICoreTransientResourceAllocator.cpp:634]
libUnrealEditor-RHICore.so!FRHITransientResourceHeapAllocator::CreateBufferInternal(FRHIBufferCreateInfo const&, char16_t const*, unsigned int, unsigned int, unsigned int, TFunction<FRHITransientBuffer* (FRHITransientHeap::FResourceInitializer const&)>) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/RHICore/Private/RHICoreTransientResourceAllocator.cpp:775]
libUnrealEditor-VulkanRHI.so!FVulkanTransientResourceAllocator::CreateBuffer(FRHIBufferCreateInfo const&, char16_t const*, unsigned int) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:140]
libUnrealEditor-RenderCore.so!FRDGBuilder::BeginResourceRHI(TRDGHandle<FRDGPass, unsigned short>, FRDGBuffer*) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:3093]
libUnrealEditor-RenderCore.so!FRDGBuilder::BeginResourcesRHI(FRDGPass*, TRDGHandle<FRDGPass, unsigned short>) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:2488]
libUnrealEditor-RenderCore.so!FRDGBuilder::Execute() [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:1499]
libUnrealEditor-Renderer.so!RenderViewFamily_RenderThread(FRHICommandListImmediate&, FSceneRenderer*) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/Renderer/Private/SceneRendering.cpp:4087]
libUnrealEditor-Renderer.so!FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::$_57::operator()(FRHICommandListImmediate&) const [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/Renderer/Private/SceneRendering.cpp:4337]
libUnrealEditor-Renderer.so!TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::FDrawSceneCommandName, FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::$_57>::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/Runtime/RenderCore/Public/RenderingThread.h:193]
libUnrealEditor-Renderer.so!TGraphTask<TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::FDrawSceneCommandName, FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::$_57> >::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type, bool) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:975]
libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:753]
libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksUntilQuit(int) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:641]
libUnrealEditor-Core.so!FTaskGraphCompatibilityImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:2114]
libUnrealEditor-RenderCore.so!RenderingThreadMain(FEvent*) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/RenderCore/Private/RenderingThread.cpp:380]
libUnrealEditor-RenderCore.so!FRenderingThread::Run() [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/RenderCore/Private/RenderingThread.cpp:544]
libUnrealEditor-Core.so!FRunnableThreadPThread::Run() [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/./Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]
libUnrealEditor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/home/arch/drives/shared/UnrealEngine-release/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185]
libc.so.6!UnknownFunction(0x8d5c1)
libc.so.6!clone(+0x43)

log:

line 860 is where error accures.

ue_log.txt (111.7 KB)

i find some similar questions but none of them was my problem.

Thanks for any help.

I don’t know how Linux handles going over RAM, but I know how Windows handles it.

When it creates something that it wants to retain in memory but needs to make space in RAM, it will fill that data into a PageFile, which UE5 will fill very quickly, especially only 8GB of RAM, if you even have Chromium or another linux related browser, you’re probably using 500mb-2gb of RAM, UE4 could eat 16gb of RAM and still need room in a PageFile.

Do you have a Resource Monitor on your linux distro? can you see how much of your 8gb is left over? is there a PageFile system for your linux distro? can you increase it? Is that actually only allocating 128mb ? a single shader could blow over 128mb.

I was working on ARK Mods back when it first was released in EA and noticed that when doing intensive activities in UE4 it would fill the entire 16gb of RAM and then some, and even filled the PageFile and Windows did a Data Dump and reset.

My page file has 32GB. (file because i preffer file not partition)
when im launching unreal editor i have everything closed and like 7 gb not used.
Even if there was too low ram unreal will newer allocate 128.000 ← i mean this zeros.
i mean this looks like some sort of driver issue.

BTW bro you know on linux is normal chrome and other browsers like on windows even edge. And linux handles ram better than windows this is why i switched to linux, my pc is trash and on linux games works like 2 times better (not that much but 5-10fps better)

You are probally using 2Gb of ram (350mb with firefox opened, 200mb without)

I want an advice from someone who uses unreal on linux and understand unreal on linux.

For anyone looking into something similar:
I have the same issue with 5.2 and
GPU: NVIDIA GeForce RTX 3050 Laptop GPU (NVIDIA UNIX x86
_64 Kernel Module 530.41.03

I initially had the nouveau driver which seemed to not have this OOM error but was having other problems. So most likely it’s the NVIDIA driver not supporting shared memory. On my other PCs with AMD 6700 12GB and 5700xt with 8GB of VRAM are fine so it either there’s enough VRAM or mesa drivers handle it better

So anyway the workaround I found is to build all levels before opening anything else which builds textures, shaders etc, but I’m not sure how you’d do it on a new blank project

1 Like

@lorezio23, @OneGuyStudio, @Akukiyo
I have the same problem and am not aware of any workaround.
I even installed the latest nvidia 535 drivers for a geforce mx450.
With the old drivers - 460 or 470, there was a warning that those drivers are reported to not work correctly… but with the new ones, this warning vanished.

However, the error is still there.

It even happens if I try to open an empty project with no starter content with “Scalable” as a setting.

The opening speed is quite fast, so it looks to be some kind of driver or other issue.

I am starting UE5 as follows:

_NV_PRIME_RENDER_OFFLOAD=1 _VM_LAYER_MX_optimus=NVIDIA_only ./UnrealEditor

Crash log:

Fatal error: [File:./Runtime/VulkanRHI/Private/VulkanMemory.cpp] [Line: 1993] Out of memory on Vulkan; MemoryTypeIndex=1, AllocSize=128.000MB 0x00007fca75e6ba15 libUnrealEditor-VulkanRHI.so!VulkanRHI::FVulkanResourceHeap::AllocateResource(VulkanRHI::FVulkanAllocation&, FVulkanEvictable*, VulkanRHI::EType, unsigned int, unsigned int, bool, bool, VulkanRHI::EVulkanAllocationMetaType, bool, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanMemory.cpp:1993] 0x00007fca75e72d18 libUnrealEditor-VulkanRHI.so!VulkanRHI::FMemoryManager::AllocateBufferMemory(VulkanRHI::FVulkanAllocation&, FVulkanEvictable*, VkMemoryRequirements const&, unsigned int, VulkanRHI::EVulkanAllocationMetaType, bool, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanMemory.cpp:2969] 0x00007fca75f10b7c libUnrealEditor-VulkanRHI.so!FVulkanTransientHeap::FVulkanTransientHeap(FRHITransientHeap::FInitializer const&, FVulkanDevice*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:51] 0x00007fca75f11c7a libUnrealEditor-VulkanRHI.so!FVulkanTransientHeapCache::CreateHeap(FRHITransientHeap::FInitializer const&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:106] 0x00007fcb2fbc439a libUnrealEditor-RHICore.so!FRHITransientHeapCache::Acquire(unsigned long long, ERHITransientHeapFlags) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHICore/Private/RHICoreTransientResourceAllocator.cpp:625] 0x00007fcb2fbc4e24 libUnrealEditor-RHICore.so!FRHITransientResourceHeapAllocator::CreateBufferInternal(FRHIBufferCreateInfo const&, char16_t const*, unsigned int, unsigned int, unsigned int, TFunction<FRHITransientBuffer* (FRHITransientHeap::FResourceInitializer const&)>) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHICore/Private/RHICoreTransientResourceAllocator.cpp:755] 0x00007fca75f11f48 libUnrealEditor-VulkanRHI.so!FVulkanTransientResourceAllocator::CreateBuffer(FRHIBufferCreateInfo const&, char16_t const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:138] 0x00007fcb49d593d3 libUnrealEditor-RenderCore.so!FRDGBuilder::BeginResourceRHI(TRDGHandle<FRDGPass, unsigned short>, FRDGBuffer*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:3663] 0x00007fcb49d66925 libUnrealEditor-RenderCore.so!FRDGBuilder::BeginResourcesRHI(FRDGPass*, TRDGHandle<FRDGPass, unsigned short>) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:2947] 0x00007fcb49d61f2a libUnrealEditor-RenderCore.so!FRDGBuilder::Execute() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:1800] 0x00007fcb37f201e5 libUnrealEditor-Renderer.so!RenderViewFamilies_RenderThread(FRHICommandListImmediate&, TArray<FSceneRenderer*, TSizedDefaultAllocator<32> > const&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Renderer/Private/SceneRendering.cpp:4415] 0x00007fcb37f1fb99 libUnrealEditor-Renderer.so!TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::FDrawSceneCommandName, FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::$_48>::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/RenderCore/Public/RenderingThread.h:209] 0x00007fcb37f22ad3 libUnrealEditor-Renderer.so!TGraphTask<TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::FDrawSceneCommandName, FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::$_48> >::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type, bool) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:1310] 0x00007fcb5050779f libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:758] 0x00007fcb505056c0 libUnrealEditor-Core.so!FNa

libUnrealEditor-VulkanRHI.so!VulkanRHI::FVulkanResourceHeap::AllocateResource(VulkanRHI::FVulkanAllocation&, FVulkanEvictable*, VulkanRHI::EType, unsigned int, unsigned int, bool, bool, VulkanRHI::EVulkanAllocationMetaType, bool, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanMemory.cpp:1993]
libUnrealEditor-VulkanRHI.so!VulkanRHI::FMemoryManager::AllocateBufferMemory(VulkanRHI::FVulkanAllocation&, FVulkanEvictable*, VkMemoryRequirements const&, unsigned int, VulkanRHI::EVulkanAllocationMetaType, bool, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanMemory.cpp:2969]
libUnrealEditor-VulkanRHI.so!FVulkanTransientHeap::FVulkanTransientHeap(FRHITransientHeap::FInitializer const&, FVulkanDevice*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:51]
libUnrealEditor-VulkanRHI.so!FVulkanTransientHeapCache::CreateHeap(FRHITransientHeap::FInitializer const&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:106]
libUnrealEditor-RHICore.so!FRHITransientHeapCache::Acquire(unsigned long long, ERHITransientHeapFlags) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHICore/Private/RHICoreTransientResourceAllocator.cpp:625]
libUnrealEditor-RHICore.so!FRHITransientResourceHeapAllocator::CreateBufferInternal(FRHIBufferCreateInfo const&, char16_t const*, unsigned int, unsigned int, unsigned int, TFunction<FRHITransientBuffer* (FRHITransientHeap::FResourceInitializer const&)>) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHICore/Private/RHICoreTransientResourceAllocator.cpp:755]
libUnrealEditor-VulkanRHI.so!FVulkanTransientResourceAllocator::CreateBuffer(FRHIBufferCreateInfo const&, char16_t const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanTransientResourceAllocator.cpp:138]
libUnrealEditor-RenderCore.so!FRDGBuilder::BeginResourceRHI(TRDGHandle<FRDGPass, unsigned short>, FRDGBuffer*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:3663]
libUnrealEditor-RenderCore.so!FRDGBuilder::BeginResourcesRHI(FRDGPass*, TRDGHandle<FRDGPass, unsigned short>) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:2947]
libUnrealEditor-RenderCore.so!FRDGBuilder::Execute() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderGraphBuilder.cpp:1800]
libUnrealEditor-Renderer.so!RenderViewFamilies_RenderThread(FRHICommandListImmediate&, TArray<FSceneRenderer*, TSizedDefaultAllocator<32> > const&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Renderer/Private/SceneRendering.cpp:4415]
libUnrealEditor-Renderer.so!TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::FDrawSceneCommandName, FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::$_48>::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/RenderCore/Public/RenderingThread.h:209]
libUnrealEditor-Renderer.so!TGraphTask<TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::FDrawSceneCommandName, FRendererModule::BeginRenderingViewFamilies(FCanvas*, TArrayView<FSceneViewFamily*, int>)::$_48> >::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type, bool) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:1310]
libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:758]
libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksUntilQuit(int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:648]
libUnrealEditor-Core.so!FTaskGraphCompatibilityImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:2069]
libUnrealEditor-RenderCore.so!RenderingThreadMain(FEvent*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderingThread.cpp:416]
libUnrealEditor-RenderCore.so!FRenderingThread::Run() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderingThread.cpp:567]
libUnrealEditor-Core.so!FRunnableThreadPThread::Run() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]
libUnrealEditor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:187]
libc.so.6!UnknownFunction(0x94b42)
libc.so.6!UnknownFunction(0x1269ff)