App freeze or crash on android

Godot Version

4.3.beta2

Question

Hello.
I’m running my project on my Google Pixel 6a, running an up-to -date Android 14, using the mobile rendering backend. After running for a few minutes (its random), the game freezes with the adb traces below :

07-06 16:23:18.353 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.353 19664 19727 E godot   :    at: fence_wait (drivers/vulkan/rendering_device_driver_vulkan.cpp:2066)
07-06 16:23:18.370 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.370 19664 19727 E godot   :    at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2266)
07-06 16:23:18.370 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.370 19664 19727 E godot   :    at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2266)
07-06 16:23:18.370 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.370 19664 19727 E godot   :    at: fence_wait (drivers/vulkan/rendering_device_driver_vulkan.cpp:2066)
07-06 16:23:18.400 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.400 19664 19727 E godot   :    at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2266)
07-06 16:23:18.400 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.400 19664 19727 E godot   :    at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2266)
07-06 16:23:18.400 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.400 19664 19727 E godot   :    at: fence_wait (drivers/vulkan/rendering_device_driver_vulkan.cpp:2066)
07-06 16:23:18.403  1665  5120 W ActivityManager: Background start not allowed: service Intent { act=com.whatsapp.messaging.MessageService.START cmp=com.whatsapp/.messaging.MessageService } to com.whatsapp/.messaging.MessageService from pid=17160 uid=10304 pkg=com.whatsapp startFg?=false
07-06 16:23:18.419 19664 19727 E BufferQueueProducer: [SurfaceView[com.ggg.Game1/com.godot.game.GodotApp]#1(BLAST Consumer)1](id:4cd000000001,api:1,p:19664,c:19664) dequeueBuffer: attempting to exceed the max dequeued buffer count (2)
07-06 16:23:18.419 19664 19727 W vulkan  : dequeueBuffer timed out: Function not implemented (-38)
07-06 16:23:18.419 19664 19727 E godot   : USER ERROR: Unable to acquire framebuffer.
07-06 16:23:18.419 19664 19727 E godot   :    at: screen_prepare_for_drawing (servers/rendering/rendering_device.cpp:3503)
07-06 16:23:18.424 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.424 19664 19727 E godot   :    at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2266)
07-06 16:23:18.424 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.424 19664 19727 E godot   :    at: command_queue_execute_and_present (drivers/vulkan/rendering_device_driver_vulkan.cpp:2266)
07-06 16:23:18.424 19664 19727 E godot   : USER ERROR: Condition "err != VK_SUCCESS" is true. Returning: FAILED
07-06 16:23:18.424 19664 19727 E godot   :    at: fence_wait (drivers/vulkan/rendering_device_driver_vulkan.cpp:2066)
07-06 16:23:18.442 19664 19727 E BufferQueueProducer: [SurfaceView[com.ggg.Game1/com.godot.game.GodotApp]#1(BLAST Consumer)1](id:4cd000000001,api:1,p:19664,c:19664) dequeueBuffer: attempting to exceed the max dequeued buffer count (2)
07-06 16:23:18.442 19664 19727 W vulkan  : dequeueBuffer timed out: Function not implemented (-38)
07-06 16:23:18.442 19664 19727 E godot   : USER ERROR: Unable to acquire framebuffer.
07-06 16:23:18.442 19664 19727 E godot   :    at: screen_prepare_for_drawing (servers/rendering/rendering_device.cpp:3503)
(then many more of the same errors)

Has anybody got that kind of problem, and how did you fix it ?

When I remove the game UI, there is no freeze/crash. I will keep digging.

My conclusion is that there are multiple cases causing the same problem (after a while) :

  • setting Richtextlabel.text to non-empty string
  • adding Panel control

I can use the Compatibility mode (opengl instead of vulkan) though, it’s working well. I didn’t want to do that as I prefer to use the most modern tech, but the vulkan stack is too broken (at least on my phone).