Android Adreno Vulkan Crash in UE5.7.4

Hi,After I upgrade my engine to 5.7.4, there will be random crashes on the Android platform, especially during switching scene loading. Here is the crash stack. I am not good at rendering and engine, so I don’t know how to fix this kind of problem. I hope someone can help, thanks.

[0](0x0000000000268724)?? ==> ??:0 
[1](0x000000000DCCBD94)FVulkanCommandListContext::RHISetGraphicsPipelineState(FRHIGraphicsPipelineState*, unsigned int, bool) ==> VulkanPipelineState.cpp:586 
[2](0x000000000510C500)FRHICommand<FRHICommandSetGraphicsPipelineState, FRHICommandSetGraphicsPipelineStateString1995>::ExecuteAndDestruct(FRHICommandListBase&) ==> RHICommandList.h:1622 
[3](0x00000000050FD168)FRHICommandListBase::Execute() ==> Module.RHI.2.cpp:? 
[4](0x00000000050FF768)FRHICommandListExecutor::FTranslateState::Translate(FRHICommandListBase*) ==> RHICommandList.cpp:1101 
[5](0x000000000512C740)FScopedNamedEventStatic::~FScopedNamedEventStatic() ==> PlatformMisc.h:129 
[6](0x00000000050FDB44)FRHICommandListExecutor::FTaskPipe::Execute(FRHICommandListExecutor::FTaskPipe::FTask*, TRefCountPtr<FBaseGraphTask> const&) const ==> RHICommandList.cpp:746 
[7](0x0000000003DF6AC8)FScopeCycleCounter::~FScopeCycleCounter() ==> StatsSystemTypes.h:1659 
[8](0x00000000037F2DD4)UE::Tasks::Private::FTaskBase::TryExecuteTask() ==> TaskPrivate.h:519 
[9](0x00000000038302F8)FBaseGraphTask::Execute(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type, bool) ==> TaskGraphInterfaces.h:495 
[10](0x000000000382F4EC)FNamedTaskThread::ProcessTasksUntilQuit(int) ==> TaskGraph.cpp:680 
[11](0x000000000526D428)FScopedNamedEventStatic::FScopedNamedEventStatic(FColor const&, char const*) ==> PlatformMisc.h:123 
[12](0x0000000003A1B234)FRunnableThreadPThread::Run() ==> PThreadRunnableThread.cpp:27 
[13](0x00000000037F4D1C)FRunnableThreadPThread::_ThreadProc(void*) ==> PThreadRunnableThread.h:188 
[14](0x000000000008158C)?? ==> ??:0 
[15](0x0000000000073D6C)?? ==> ??:0 

[2026.04.14-02.46.57:194][198]LogLoad: Took 0.368626 seconds to LoadMap(/Game/Map/LV_NewCharacterCreate)
[2026.04.14-02.46.57:194][198]LogGlobalStatus: LoadMap Load map complete /Game/Map/LV_NewCharacterCreate
[2026.04.14-02.46.57:204][199]LogRenderer: Forcing update for all mesh draw commands: Add directional light
[2026.04.14-02.46.57:204][199]LogSlate: Took 0.001383 seconds to synchronously load lazily loaded font ‘../../../Engine/Content/Slate/Fonts/Roboto-Regular.ttf’ (155K)
[2026.04.14-02.46.57:400][200]CrashHandle: DefaultCrashHandler
[2026.04.14-02.46.57:400][200]CrashHandle: Error:
0x0000006D33469724 vulkan.adreno.so(0x0000000000268724)!qglinternal::vkCmdBindPipeline(VkCommandBuffer_T*, VkPipelineBindPoint, VkPipeline_T*)
0x00000079A2743D94 libUnreal.so(0x000000000DCCBD94)Unknown
0x0000007999B84500 libUnreal.so(0x000000000510C500)Unknown
0x0000007999B75168 libUnreal.so(0x00000000050FD168)Unknown
0x0000007999B77768 libUnreal.so(0x00000000050FF768)Unknown
0x0000007999BA4740 libUnreal.so(0x000000000512C740)Unknown
0x0000007999B75B44 libUnreal.so(0x00000000050FDB44)Unknown
0x000000799886EAC8 libUnreal.so(0x0000000003DF6AC8)Unknown
0x000000799826ADD4 libUnreal.so(0x00000000037F2DD4)Unknown
0x00000079982A82F8 libUnreal.so(0x00000000038302F8)Unknown
0x00000079982A74EC libUnreal.so(0x000000000382F4EC)Unknown
0x0000007999CE5428 libUnreal.so(0x000000000526D428)Unknown
0x0000007998493234 libUnreal.so(0x0000000003A1B234)Unknown
0x000000799826CD1C libUnreal.so(0x00000000037F4D1C)Unknown
0x0000007D4215058C libc.so(0x000000000008158C)Unknown
0x0000007D42142D6C libc.so(0x0000000000073D6C)Unknown

Hello there @Anonymous_206ca6c69954d4f703db68f72de5eee8!

Checking your log extract with my peers, we think the following lines are key:

(0x000000000DCCBD94)FVulkanCommandListContext::RHISetGraphicsPipelineState(FRHIGraphicsPipelineState*, unsigned int, bool) ==> VulkanPipelineState.cpp:586

This means the engine is trying to access an object in the PSO graphic pipeline, and failing, with the Adreno driver crashing. This is most likely due a previous map compilation still having references present. And said reference should be overwritten on launch. Sometimes it doesn’t, which explains the randomness you are experiencing with this crash.

To avoid these references alltogether, we can try disabling PSO caching. To do so, open your “DefaultEngine.ini” file and add the following lines:

[/Script/Engine.RendererSettings]
r.ShaderPipelineCache.Enabled=0

Alternatively, you can clear the whole pipeline before the map loads, by adding a “FlushRenderingCommands()” to your code, before the level opens. This should help avoiding further stale references.

We are also experiencing this in our live mobile app in version 5.7.4. Unfortunately, we haven’t been able to replicate it ourselves but we are seeing it quite a lot on a variety of devices. It also doesn’t seem to be exclusive to adreno as we’ve seen it on mali GPUs.

SIGSEGV: Segfault
vulkan.adreno 0x6ae99e3988 qglinternal::vkCmdBindPipeline
libUnreal 0x7729d7dbc0 FVulkanCommandListContext::RHISetGraphicsPipelineState
libUnreal 0x772523cbbc FRHICommandListExecutor::FTranslateState::Translate
libUnreal 0x772523bf44 FRHICommandListExecutor::FTaskPipe::Execute
libUnreal 0x77252476d4 TGraphTask::ExecuteTask
libUnreal 0x772491d434 UE::Tasks::Private::FTaskBase::TryExecuteTask
libUnreal 0x7724934d68 FNamedTaskThread::ProcessTasksNamedThread
libUnreal 0x7724934614 FNamedTaskThread::ProcessTasksUntilQuit
libUnreal 0x772530491c FRHIThread::Run
libUnreal 0x77249a18b4 FRunnableThreadPThread::Run
libUnreal 0x772491e4d0 FRunnableThreadPThread::_ThreadProc
libc 0x7a9b903048 __pthread_start
libc 0x7a9b8a33c8 __start_thread

We’ve tried the solution regarding calling

FlushRenderingCommands();

before a map load and setting

[/Script/Engine.RendererSettings]
r.ShaderPipelineCache.Enabled=0

in the DefaultEngine.ini, but we are still experiencing this issue. Working on the rendering pipeline is also new for us, if anyone has solved this or has any insight it would be greatly appreciated.