Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question Native crash - Vulkan related

Discussion in 'Android' started by tduriga, Nov 30, 2021.

  1. tduriga

    tduriga

    Joined:
    Dec 9, 2015
    Posts:
    52
    Hello, I'm getting multiple crash reports that point to single function vk::CommandBuffer:: DoImageWriteBarrier inside libunity.so. This is the most common crash according to Cloud Diagnostics by impacted users count and I don't know what can be the cause of this crash since I cannot replicate it on any device. There are also no logs attached to the crash reports so I assume that the crash happens shortly after game starts. I'm using Unity 2020.3 with IL2CPP scripting backend. Thank you for any feedback that could help me to resolve this issue.

    Crash report example #1
    Code (CSharp):
    1.  
    2. Native StackTrace:
    3. Thread 0 (crashed)
    4. 0   libunity.so                        0x000000765ef05d00 vk::CommandBuffer::DoImageWriteBarrier(VkCommandBuffer_T*, vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    5. 1   libunity.so                        0x000000765eef75dc vk::TaskExecutor::FlushBarriers(vk::CommandBuffer*, vk::TaskExecutor::BarrierRequests&)
    6. 2   libunity.so                        0x000000765eef672c vk::TaskExecutor::HandleCommandStream(GrowableBuffer*, VkCommandBuffer_T*)
    7. 3   libunity.so                        0x000000765eef6320 vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int)
    8. 4   libunity.so                        0x000000765eef4af8 vk::TaskExecutor::DoFlush(VkFence_T*, VkSemaphore_T*, unsigned long)
    9. 5   libunity.so                        0x000000765eecedf0 GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*)
    10. 6   libunity.so                        0x000000765eed3b38 GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
    11. 7   libunity.so                        0x000000765eed3a58 GfxDeviceVK::AdjustPrimarySwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
    12. 8   libunity.so                        0x000000765eebc914 vk::InitializeOrResetSwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, int&, int&, int&)
    13. 9   libunity.so                        0x000000765ee50aa0 AndroidDisplayManagerVulkan::UpdateVulkanPrimarySwapChain()
    14. 10  libunity.so                        0x000000765ee5120c AndroidDisplayManagerVulkan::Update(bool)
    15. 11  libunity.so                        0x000000765ee39c0c AndroidDisplayManager::Update(bool)
    16. 12  libunity.so                        0x000000765ee51c98 AndroidGraphics::ApplyPendingWindowChanges()
    17. 13  libunity.so                        0x000000765ee3d55c UnityPlayerLoop()
    18. 14  libunity.so                        0x000000765ee53cb8 nativeRender(_JNIEnv*, _jobject*)
    19. 15  base.odex                          0x000000767a268a5c <symbols missing for uuid: 0000000000000000000000000000000000000000>
    20.  
    Crash report example #2
    Code (CSharp):
    1. Native StackTrace:
    2.  
    3. Thread 0 (crashed)
    4. 0   libunity.so                        0x0000007de14a2d00 vk::CommandBuffer::DoImageWriteBarrier(VkCommandBuffer_T*, vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    5. 1   libunity.so                        0x0000007de14945dc vk::TaskExecutor::FlushBarriers(vk::CommandBuffer*, vk::TaskExecutor::BarrierRequests&)
    6. 2   libunity.so                        0x0000007de149372c vk::TaskExecutor::HandleCommandStream(GrowableBuffer*, VkCommandBuffer_T*)
    7. 3   libunity.so                        0x0000007de1493320 vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int)
    8. 4   libunity.so                        0x0000007de1491af8 vk::TaskExecutor::DoFlush(VkFence_T*, VkSemaphore_T*, unsigned long)
    9. 5   libunity.so                        0x0000007de146bdf0 GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*)
    10. 6   libunity.so                        0x0000007de1470b38 GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
    11. 7   libunity.so                        0x0000007de1470a58 GfxDeviceVK::AdjustPrimarySwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
    12. 8   libunity.so                        0x0000007de1459914 vk::InitializeOrResetSwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, int&, int&, int&)
    13. 9   libunity.so                        0x0000007de13edaa0 AndroidDisplayManagerVulkan::UpdateVulkanPrimarySwapChain()
    14. 10  libunity.so                        0x0000007de13ee20c AndroidDisplayManagerVulkan::Update(bool)
    15. 11  libunity.so                        0x0000007de13d6c0c AndroidDisplayManager::Update(bool)
    16. 12  libunity.so                        0x0000007de13eec98 AndroidGraphics::ApplyPendingWindowChanges()
    17. 13  libunity.so                        0x0000007de13f0b98 nativeFocusChanged(_JNIEnv*, _jobject*, bool)
    18. 14  base.odex                          0x0000007e06c08714 <symbols missing for uuid: 0000000000000000000000000000000000000000>
    Crash report example #3
    Code (CSharp):
    1. Native StackTrace:
    2.  
    3. Thread 0 (crashed)
    4. 0   libunity.so                        0x00000000c73ebd80 vk::CommandBuffer::DoImageWriteBarrier(VkCommandBuffer_T*, vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    5. 1   libunity.so                        0x00000000c73ee2fc vk::CommandBuffer::BatchImageWriteBarrier(vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    6. 2   libunity.so                        0x00000000c73d82d4 vk::TaskExecutor::FlushBarriers(vk::CommandBuffer*, vk::TaskExecutor::BarrierRequests&)
    7. 3   libunity.so                        0x00000000c73d73f0 vk::TaskExecutor::HandleCommandStream(GrowableBuffer*, VkCommandBuffer_T*)
    8. 4   libunity.so                        0x00000000c73d6bf4 vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int)
    9. 5   libunity.so                        0x00000000c73d5428 vk::TaskExecutor::DoFlush(unsigned long long, unsigned long long, unsigned long long)
    10. 6   libunity.so                        0x00000000c73abc58 GfxDeviceVK::SubmitCurrentCommandBuffers(unsigned long long)
    11. 7   libunity.so                        0x00000000c73b11b0 GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
    12. 8   libunity.so                        0x00000000c73b1124 GfxDeviceVK::AdjustPrimarySwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
    13. 9   libunity.so                        0x00000000c7396b6c vk::InitializeOrResetSwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, int&, int&, int&)
    14. 10  libunity.so                        0x00000000c733ab2d AndroidDisplayManagerVulkan::UpdateVulkanPrimarySwapChain()
    15. 11  libunity.so                        0x00000000c733b109 AndroidDisplayManagerVulkan::Update(bool)
    16. 12  libunity.so                        0x00000000c732b6a9 AndroidDisplayManager::Update(bool)
    17. 13  libunity.so                        0x00000000c733b91b AndroidGraphics::ApplyPendingWindowChanges()
    18. 14  libunity.so                        0x00000000c732d8ab UnityPlayerLoop()
    19. 15  libunity.so                        0x00000000c733d061 nativeRender(_JNIEnv*, _jobject*)
    20. 16  base.odex                          0x00000000cb1f4143 <symbols missing for uuid: 0000000000000000000000000000000000000000>
    This report is from Google Play Console and I think it might be related to the crashes reported in Cloud Diagnostics (most common crash and vulkan in stacktrace).

    Code (csharp):
    1.  
    2. java.lang.Error: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    3. Version '2020.3.21f1 (a38c86f6690f)', Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
    4. Build fingerprint: 'samsung/a71naxx/a71:11/RP1A.200720.012/A715FXXS4BUC1:user/release-keys'
    5. Revision: '6'
    6. ABI: 'arm64'
    7. Timestamp: 2021-11-29 19:53:48+0330
    8. pid: 12994, tid: 14425, name: UnityMain
    9. uid: 10404
    10. signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
    11. Cause: null pointer dereference
    12. x0  b400006f826684d0  x1  b400006f1254a6b0  x2  0000000000000000  x3  0000000000000000
    13. x4  0000006de01d32f0  x5  00000000ffffffaf  x6  0000000000000000  x7  0000000000000000
    14. x8  b400006f4250ba70  x9  0000000000000090  x10 b400006f02586ca0  x11 b400007012504b98
    15. x12 0000000000000000  x13 b400006f826684d0  x14 0000000000000000  x15 0000000000000000
    16. x16 b400006f826684d0  x17 0000000000000000  x18 000000000000002c  x19 b400006f926e4f10
    17. x20 0000000000000000  x21 0000000000000000  x22 0000000000000000  x23 b400006f926e4f10
    18. x24 0000000000000000  x25 0000000000000000  x26 0000000000000000  x27 b400006f02586ca0
    19. x28 0000006de026ff30  x29 0000006e24cb0d70
    20. sp  0000006e24cb0c30  lr  0000006de01d333c  pc  0000006de01a5f78
    21. backtrace:
    22.   at
    23.   at
    24.   at
    25.   at
    26.   at qglinternal::vkCmdEndRenderPass(VkCommandBuffer_T*)
    27.   at
    28.   at
    29.   at
    30.   at
    31.   at
    32.   at
    33.   at
    34.   at
    35.   at
    36.   at
    37.   at
    38.   at vulkan.0xe5f78 (Native Method)
    39.   at vulkan.0x113338 (Native Method)
    40.   at vulkan.0xc8018 (Native Method)
    41.   at vulkan.0x91428 (Native Method)
    42.   at vulkan.qglinternal
    43.   at libunity.0x4613dc (Native Method)
    44.   at libunity.0x43c4d4 (Native Method)
    45.   at libunity.0x42eb1c (Native Method)
    46.   at libunity.0x42ea58 (Native Method)
    47.   at libunity.0x417914 (Native Method)
    48.   at libunity.0x3abaa0 (Native Method)
    49.   at libunity.0x3ac20c (Native Method)
    50.   at libunity.0x394c0c (Native Method)
    51.   at libunity.0x3acc98 (Native Method)
    52.   at libunity.0x3aeb98 (Native Method)
    53.   at base.0x179714 (Native Method)
    54.  
     
    wavs likes this.
  2. wavs

    wavs

    Joined:
    Feb 20, 2017
    Posts:
    6
    Hello, same here with multiples crashes.
    Some are slightly different but seems to be related to Vulkan too.

    Unity: 2020.3.23f1
    Strip Engine Code: on
    Scripting backend: IL2CPP

    Crash #1
    OS: Android OS 10
    GPU: Mali-G76
    Device: HUAWEI/ELE-L29/HWELE

    Code (CSharp):
    1. Thread 0 (crashed)
    2. 0   libunity.so                        0x0000007256d6ab7c vk::CommandBuffer::DoImageWriteBarrier(VkCommandBuffer_T*, vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    3. 1   libunity.so                        0x0000007256d5c458 vk::TaskExecutor::FlushBarriers(vk::CommandBuffer*, vk::TaskExecutor::BarrierRequests&)
    4. 2   libunity.so                        0x0000007256d5b5a8 vk::TaskExecutor::HandleCommandStream(GrowableBuffer*, VkCommandBuffer_T*)
    5. 3   libunity.so                        0x0000007256d5b19c vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int)
    6. 4   libunity.so                        0x0000007256d59974 vk::TaskExecutor::DoFlush(VkFence_T*, VkSemaphore_T*, unsigned long)
    7. 5   libunity.so                        0x0000007256d34a90 GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*)
    8. 6   libunity.so                        0x0000007256d397d8 GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
    9. 7   libunity.so                        0x0000007256d396f8 GfxDeviceVK::AdjustPrimarySwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
    10. 8   libunity.so                        0x0000007256d21b40 vk::InitializeOrResetSwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, int&, int&, int&)
    11. 9   libunity.so                        0x0000007256cb6814 AndroidDisplayManagerVulkan::UpdateVulkanPrimarySwapChain()
    12. 10  libunity.so                        0x0000007256cb6f80 AndroidDisplayManagerVulkan::Update(bool)
    13. 11  libunity.so                        0x0000007256ca1478 AndroidDisplayManager::Update(bool)
    14. 12  libunity.so                        0x0000007256cb7a0c AndroidGraphics::ApplyPendingWindowChanges()
    15. 13  libunity.so                        0x0000007256ca3e00 UnityPlayerLoop()
    16. 14  libunity.so                        0x0000007256cb9a34 nativeRender(_JNIEnv*, _jobject*)
    17. 15  base.odex                          0x000000727f0e139c <symbols missing for uuid: 0000000000000000000000000000000000000000>

    Crash #2
    OS: Android OS 9
    GPU: Mali-T830
    Device: samsung/SM-J530G/j5y17lte

    Code (CSharp):
    1. Thread 0 (crashed)
    2. 0   libGLES_mali.so                    0x00000000de3fddac <symbols missing for uuid: d03def16791ce438d28ca2cab6d848cc>
    3. 1   libGLES_mali.so                    0x00000000de3fd773 <symbols missing for uuid: d03def16791ce438d28ca2cab6d848cc>
    4. 2   libGLES_mali.so                    0x00000000de2f8873 <symbols missing for uuid: d03def16791ce438d28ca2cab6d848cc>
    5. 3   libGLES_mali.so                    0x00000000de2f84cf <symbols missing for uuid: d03def16791ce438d28ca2cab6d848cc>
    6. 4   libunity.so                        0x00000000cc4e63cc vk::TaskExecutor::HandleCommandStream(GrowableBuffer*, VkCommandBuffer_T*)
    7. 5   libunity.so                        0x00000000cc4e5fd4 vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int)
    8. 6   libunity.so                        0x00000000cc4e4808 vk::TaskExecutor::DoFlush(unsigned long long, unsigned long long, unsigned long long)
    9. 7   libunity.so                        0x00000000cc4baee8 GfxDeviceVK::SubmitCurrentCommandBuffers(unsigned long long)
    10. 8   libunity.so                        0x00000000cc4c0440 GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
    11. 9   libunity.so                        0x00000000cc4c03b4 GfxDeviceVK::AdjustPrimarySwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
    12. 10  libunity.so                        0x00000000cc4a52cc vk::InitializeOrResetSwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, int&, int&, int&)
    13. 11  libunity.so                        0x00000000cc4489d5 AndroidDisplayManagerVulkan::UpdateVulkanPrimarySwapChain()
    14. 12  libunity.so                        0x00000000cc448fb1 AndroidDisplayManagerVulkan::Update(bool)
    15. 13  libunity.so                        0x00000000cc439161 AndroidDisplayManager::Update(bool)
    16. 14  libunity.so                        0x00000000cc4497c3 AndroidGraphics::ApplyPendingWindowChanges()
    17. 15  libunity.so                        0x00000000cc44ae65 nativeFocusChanged(_JNIEnv*, _jobject*, bool)
    18. 16  base.odex                          0x00000000d07a366f <symbols missing for uuid: 0000000000000000000000000000000000000000>

    Crash #3
    OS: Android OS 11
    GPU: Adreno (TM) 618
    Device: Xiaomi/Redmi Note 9 Pro/joyeuse

    Code (CSharp):
    1. Thread 0 (crashed)
    2. 0   vulkan.adreno.so                   0x00000073603f9f78 <symbols missing for uuid: 7e0136a1b03fa7026aad699d47cac71e>
    3. 1   vulkan.adreno.so                   0x0000007360427320 <symbols missing for uuid: 7e0136a1b03fa7026aad699d47cac71e>
    4. 2   vulkan.adreno.so                   0x00000073603dc018 <symbols missing for uuid: 7e0136a1b03fa7026aad699d47cac71e>
    5. 3   vulkan.adreno.so                   0x00000073603a5428 <symbols missing for uuid: 7e0136a1b03fa7026aad699d47cac71e>
    6. 4   vulkan.adreno.so                   0x000000736038d994 <symbols missing for uuid: 7e0136a1b03fa7026aad699d47cac71e>
    7. 5   libunity.so                        0x00000074273dd258 vk::CommandBuffer::EndRenderPass(VkRenderPass_T*, VkRenderPass_T*)
    8. 6   libunity.so                        0x00000074273b8174 vk::RenderPassSwitcher::EndCurrentRenderPass(vk::CommandBuffer*, bool, GfxRTStoreAction const*, vk::RenderPassSwitcher::MultiSamplingStoreAction)
    9. 7   libunity.so                        0x00000074273ab7bc GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
    10. 8   libunity.so                        0x00000074273ab6f8 GfxDeviceVK::AdjustPrimarySwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
    11. 9   libunity.so                        0x0000007427393b40 vk::InitializeOrResetSwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, int&, int&, int&)
    12. 10  libunity.so                        0x0000007427328814 AndroidDisplayManagerVulkan::UpdateVulkanPrimarySwapChain()
    13. 11  libunity.so                        0x0000007427328f80 AndroidDisplayManagerVulkan::Update(bool)
    14. 12  libunity.so                        0x0000007427313478 AndroidDisplayManager::Update(bool)
    15. 13  libunity.so                        0x0000007427329a0c AndroidGraphics::ApplyPendingWindowChanges()
    16. 14  libunity.so                        0x000000742732b914 nativeFocusChanged(_JNIEnv*, _jobject*, bool)
    17. 15  base.odex                          0x0000007451561054 <symbols missing for uuid: 0000000000000000000000000000000000000000>
    Thanks for any feedbacks too.
     
  3. wavs

    wavs

    Joined:
    Feb 20, 2017
    Posts:
    6
    @tduriga What specific version of Unity do you use ? please
    Are you using any advertising / analytics SDKs (like AdMob, Firebase, ...) ?

    On my side, I began to see these crashes when moving to Unity v2020.3.23f1 (was fine on v2020.3.13f1).
    I also use AppLovin mediation (with multiple ad networks) and Firebase.

    This issue isn't reproducible on my device.
    I saw these stacktraces on Unity Diagnostics from our players.

    It seems to be related to Vulkan Graphics API and appear when the app is gaining (or losing) focus apparently (at least for crashes mentioning
    nativeFocusChanged
    as I suppose).
    As I'm not an Android expert, I'm stuck at this point for now.

    @Tomas1856 Hi ! Any idea what could be the source of the issue ?
    Or how can we move forward to the solution ? please
     
    dan_ginovker and tduriga like this.
  4. tduriga

    tduriga

    Joined:
    Dec 9, 2015
    Posts:
    52
    I'm using 2020.3.23f. The issue itself appeared when we added Vulkan support to the game (it was GLES3 only before) and the last "pre-Vulkan" version of game was build with Unity 2020.3.10f1. Since then the number of crashes per device reported on the Google Play Console increased 4-5 times. I think the fastest solution would be to disable Vulkan in settings. And we use Appodeal mediation, so it might be related to the focus when showing/closing the ads. But since we cannot reproduce it on any devices I don't know how to fix it, or even how to report it because I assume the bug report will be closed with "Non-Reproducible" status.
     
    sinisterpig and wavs like this.
  5. nuel999999

    nuel999999

    Joined:
    Mar 18, 2018
    Posts:
    2
    got the same issue

    Device: samsung/SM-A326U/a32x
    OS version: Android OS 11 / API-30 (RP1A.200720.012/A326USQU3AUG7)
    CPU: ARM64 FP ASIMD AES
    GFX: Mali-G57 MC3
    Unity version: 2020.3.22f1

    Code (csharp):
    1. Message
    2. Native Crash - vk::CommandBuffer::DoImageWriteBarrier(VkCommandBuffer_T*, vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    3. vk::CommandBuffer::DoImageWriteBarrier(VkCommandBuffer_T*, vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    Code (csharp):
    1. Native StackTrace:
    2. Thread 0 (crashed)
    3. 0   libunity.so                        0x000000777cf650f0 vk::CommandBuffer::DoImageWriteBarrier(VkCommandBuffer_T*, vk::ImageBarrierKey const&, VkImageLayout, unsigned int, unsigned int, vk::PipelineBarrierMap*, bool)
    4. 1   libunity.so                        0x000000777cf569cc vk::TaskExecutor::FlushBarriers(vk::CommandBuffer*, vk::TaskExecutor::BarrierRequests&)
    5. 2   libunity.so                        0x000000777cf55b1c vk::TaskExecutor::HandleCommandStream(GrowableBuffer*, VkCommandBuffer_T*)
    6. 3   libunity.so                        0x000000777cf55710 vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int)
    7. 4   libunity.so                        0x000000777cf53ee8 vk::TaskExecutor::DoFlush(VkFence_T*, VkSemaphore_T*, unsigned long)
    8. 5   libunity.so                        0x000000777cf2f1e0 GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*)
    9. 6   libunity.so                        0x000000777cf33f28 GfxDeviceVK::UpdatePrimarySwapChain(vk::SwapChainConfiguration const&)
    10. 7   libunity.so                        0x000000777cf33e48 GfxDeviceVK::AdjustPrimarySwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, DepthBufferFormat, int&, int&, int&)
    11. 8   libunity.so                        0x000000777cf1ccfc vk::InitializeOrResetSwapChain(ANativeWindow*, int, int, int, int, int, bool, bool, int, int, bool, int&, int&, int&)
    12. 9   libunity.so                        0x000000777cec7190 AndroidDisplayManagerVulkan::UpdateVulkanPrimarySwapChain()
    13. 10  libunity.so                        0x000000777cec78fc AndroidDisplayManagerVulkan::Update(bool)
    14. 11  libunity.so                        0x000000777ceb2528 AndroidDisplayManager::Update(bool)
    15. 12  libunity.so                        0x000000777cec8388 AndroidGraphics::ApplyPendingWindowChanges()
    16. 13  libunity.so                        0x000000777ceb4e78 UnityPlayerLoop()
    17. 14  libunity.so                        0x000000777ceca3b0 nativeRender(_JNIEnv*, _jobject*)
    18. 15  base.odex                          0x00000077db96544c <symbols missing for uuid: 0000000000000000000000000000000000000000>
     
    wavs and tduriga like this.
  6. tduriga

    tduriga

    Joined:
    Dec 9, 2015
    Posts:
    52
    I found out that the only way to fix this is to disable Vulkan Graphics API in the Player Settings. The data from Google Play Console show this clearly. Below is the Crash Rate per session graph. RED LINE - marks the rollout of the update with the Vulkan enabled. GREEN LINE - marks the rollout of the update with Vulkan API disabled (it was the only change in the build). Note: Not all users updated the game yet, so I expect the crash rate will go even lower after while. So if you are using Unity 2020.3 LTS with the Vulkan API enabled on Android and you are getting many unknown crashes related to Vulkan switch to OpenGLES3 and it might help.
     
    ilmario and xucian like this.
  7. luisgualandi

    luisgualandi

    Joined:
    Oct 17, 2018
    Posts:
    22
    I too was having multiple crashes related to Vulkan, putting me way above bad behaviour threshold (~3.5%). I set the Grahics API to OpenGLES3 only and they were gone to 0.
    They all were occurring upon app gaining focus. Through the logs I can see it wasn't related to ads nor on startup, so it was happening when users manually leave and reenter the app.
    I'm gonna post the stack traces caught with Firebase Crashlytics just in case.
    Unity version 2020.3.18f1 with IL2CPP
    Would be interesting to have Vulkan as an option, but for now I can't afford to be above bad behaviour threshold.

    vulkan_crash_1.png

    vulkan_crash_3.png

    vulkan_crash_4.png

    vulkan_crash_5.png

    vulkan_crash_2.png
     
    ilmario likes this.
  8. SEVO

    SEVO

    Joined:
    May 21, 2013
    Posts:
    15
    Any updates on this? We too may be affected by this Vulkan issue, but we also seem to see a 'NativeFocusChanged' call just before the Vulkan throws. It is having a very negative effect on app stability.
     
    OmerPlaytika likes this.
  9. MorganYT

    MorganYT

    Joined:
    Jul 29, 2017
    Posts:
    31
    Has anyone been able to get this crash? I experience many unknown crashes with Vulkan. It would be nice if someone sent a report
     
  10. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,969
    Are these from older devices? Then it's probably bad drivers on those phones
     
  11. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    I'm on the same boat, noticed this by pre-launch report after uploading a new build to Google Play.

    I'm able to reproduce the same issue using the emulator:
    • Create a Pixel 5 API 30 (Android 11) device
    • Create a new blank unity project
    • Switch to IL2CPP and select ARM64
    • Build to emulator and app will crash on launch with the exact same log error pre-launch reported
    • Untick Auto Graphics API and remove Vulkan.
    • Re-build and the app launches correctly.
    I've tried Pixel 6 API 31 & Pixel 4 API 33 also, which both worked ok with Vulcan enabled.
     
  12. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,969
    Please make a bug report with these steps!
     
  13. MorganYT

    MorganYT

    Joined:
    Jul 29, 2017
    Posts:
    31
    No, absolutely new and random devices.
     
  14. MorganYT

    MorganYT

    Joined:
    Jul 29, 2017
    Posts:
    31
    You use 2020.3?
     
  15. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    No, but tested with 2021 LTS & 2022.x latest...
     
  16. Zilk

    Zilk

    Joined:
    May 10, 2014
    Posts:
    329
    Any changes to this. Seeing the same issue on Nokia G20
     
  17. highcore

    highcore

    Joined:
    Jun 4, 2021
    Posts:
    4
    we have tones of crashes with same error...
     
  18. jason_yak

    jason_yak

    Joined:
    Aug 25, 2016
    Posts:
    514
    Getting a similar crash, no idea what to try other than switch from Vulkan only to OpenGLES3, but we shouldn't have to do this. We want to move on to a modern rendering api. We're using v2021.3.22, the crash info is coming from the play console. It says it's on a Samsung A12 running Android 12:

    Code (CSharp):
    1. backtrace:
    2.   #00  pc 0x000000000004b420  /vendor/lib64/hw/vulkan.mt6765.so
    3.   #01  pc 0x000000000004b780  /vendor/lib64/hw/vulkan.mt6765.so
    4.   #02  pc 0x0000000000bd0b04  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (vk::TaskExecutor::HandleCommandStream(GrowableBuffer*, VkCommandBuffer_T*))
    5.   #03  pc 0x0000000000bcf898  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (vk::TaskExecutor::ExecuteCommandbuffers(vk::CommandBuffer**, int))
    6.   #04  pc 0x0000000000bcdfcc  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (vk::TaskExecutor::DoFlush(VkFence_T*, VkSemaphore_T*, unsigned long, bool))
    7.   #05  pc 0x0000000000c0fd54  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (GfxDeviceVK::SubmitCurrentCommandBuffers(VkSemaphore_T*, bool))
    8.   #06  pc 0x0000000000c114f4  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (GfxDeviceVK::PresentImage(bool))
    9.   #07  pc 0x0000000000d388a0  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&))
    10.   #08  pc 0x0000000000d39388  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (GfxDeviceWorker::RunExt(ThreadedStreamBuffer&))
    11.   #09  pc 0x0000000000d30a58  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (GfxDeviceWorker::RunGfxDeviceWorker(void*))
    12.   #10  pc 0x00000000005110ec  /data/app/~~pGUH61FrEs7eIcupOcHy_w==/com.ourcompany.ourpackagenamehere-0MzdTFC5BytaAbZiOrc_DQ==/lib/arm64/libunity.so (Thread::RunThreadWrapper(void*))
    13.   #11  pc 0x00000000000ed138  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264)
    14.   #12  pc 0x000000000008b2a0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)