Native Crash - vk::DataBuffer::CreateResource()

Ever since we started using Vulkan API our game has been plagued with this issue. At first I thought this only affected Huawei devices because there were only Huawei devices associated with this crash in google play console. To my surprise after checking Unity Cloud Diagnostics it turned out that this issue affects other manufacturers as well. Only similarity I’ve noticed is that all of the devices use Mali based GPUs.
Same issue persists in current 2019.4 and 2020.3 LTS versions. Sadly I can’t provide steps to reproduce this issue because I have not encountered it on any of the test devices myself and I’m only going based on incoming crash reports.

Native Stacktrace

Thread 0 (crashed)
0 libunity.so 0x000000743d43d4c8 vk::smile:ataBuffer::CreateResource()
1 libunity.so 0x000000743d43e42c vk::smile:ataBuffer::BeginWrite(unsigned long, unsigned long, bool)
2 libunity.so 0x000000743d52714c GeometryJobTasks::ScheduleGeometryJobs(GfxDevice&, void (*)(GeometryJobData*), GeometryJobInstruction const*, unsigned int, bool)
3 libunity.so 0x000000743d844a60 GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&)
4 libunity.so 0x000000743d84ce74 GfxDeviceWorker::RunExt(ThreadedStreamBuffer&)
5 libunity.so 0x000000743d844014 GfxDeviceWorker::RunGfxDeviceWorker(void*)
6 libunity.so 0x000000743d2d5894 Thread::RunThreadWrapper(void*)
7 libc.so 0x00000077ba1070e8 <system symbols missing>
8 libc.so 0x00000077ba0a6a58 <system symbols missing>


1 Like

I can confirm that we are also experiencing these Vulkan related crashes on a number of Android devices. The most common being Samsung devices, then Huawei and Xiaomi.

We are using Unity 2019.4.17

Please have a look here.
It is a similar topic reported in the Unity Issue Tracker and it has a resolution note: “Your GPU only has 3 GB of dedicated memory. Some of it will be reserved by the OS and other applications. In the current state, it is an insufficient amount of VRAM to run HDRP with all the features enabled (and set to high resolution). We plan to optimize the memory usage, but in the current state, this is expected. As a workaround, try disabling certain effects and reducing the resolution of textures/buffers where it’s possible. Also note that the Editor will typically consume more memory than the Player.”

Thanks @rlm3d I am familiar with this issue and I’m looking into possibility that this could be caused due to high memory pressure. Tho we get reports of this crash without any prior memory warnings.

@Siruan did you ever figure out what was causing this for you? We recently updated to 2019.4.26 but still get the vk::smile:ataBuffer::CreateResource() crashes.

Not exactly, but reducing memory pressure made these errors appear less frequent so there might be some correlation there.

1 Like

was there ever a fix on Android for this? It seems to be causing a lot of crashes.

We have this crash on Unity 2021.3.26

Might have fixed this by turning off graphics jobs. Let me know if that applies to you / changes anything.

We don’t have it enabled

We have same issue on some devices.
It looks like that not enough memory on device. But strange that crash happens on quite modern phones.
Galaxy S21 5G
Galaxy S23
Galaxy S22+
Motorola One 5G
Moto G Stylus 5
Moto G Stylus (2021)

Android 11, 13

Seeing a similar issue here

Thread 0 (crashed)
0 libunity.so 0x00000078936fbc64 vk::ScratchBuffer::PoolEntry::PoolEntry(vk::BufferManager&, unsigned int, unsigned int, vk::ScratchBuffer::MemoryAccessType, bool)
1 libunity.so 0x00000078936fa8f8 vk::ScratchBuffer::GetPool(unsigned int)
2 libunity.so 0x00000078936fb6c0 vk::ScratchBuffer::ReserveImpl(unsigned int, vk::CommandBuffer*, vk::FrameNumbers const&)
3 libunity.so 0x00000078936fb2a8 vk::ScratchBuffer::Reserve(unsigned long, vk::CommandBuffer*, vk::FrameNumbers const&)
4 libunity.so 0x000000789373ca5c vk::ImageManager::Upload(vk::CommandBuffer*, vk::ScratchBuffer*, vk::Image*, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, int, unsigned int, TextureUploadFlags, vk::ScratchBufferAllocation*)
5 libunity.so 0x000000789373c970 vk::ImageManager::CreateImage(vk::CommandBuffer*, vk::ScratchBuffer*, TextureDimension, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, int, unsigned int, VkSampleCountFlagBits, bool, TextureUploadFlags, vk::ScratchBufferAllocation*)
6 libunity.so 0x00000078936d7d20 vk::Texture::Create(vk::CommandBuffer*, vk::ScratchBuffer*, TextureID, TextureDimension, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, int, VkSampleCountFlagBits, TextureUploadFlags, profiling::GfxResourceID, bool, bool)
7 libunity.so 0x0000007893729474 GfxDeviceVK::UploadTexture2D(TextureID, TextureDimension, unsigned char const*, unsigned long, int, int, GraphicsFormat, int, TextureUploadFlags)
8 libunity.so 0x00000078930e9768 UploadTexture2DData(GfxDevice&, UploadTextureDataParams const&)
9 libunity.so 0x00000078930aeb38 ConcurrentFreeList<TextureDeleteInstruction>::CleanUp()
10 libunity.so 0x00000078930abaec ConcurrentFreeList<TextureUploadInstruction>::Allocate()
11 libunity.so 0x00000078930d0568 AsyncUploadManager::AsyncResourceUpload(GfxDevice&, int, AsyncUploadManagerSettings const&)
12 libunity.so 0x000000789385e3bc GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&)
13 libunity.so 0x0000007893858430 GfxDeviceWorker::RunExt(ThreadedStreamBuffer&)
14 libunity.so 0x0000007893858178 GfxDeviceWorker::RunGfxDeviceWorker(void*)
15 libunity.so 0x00000078931cd950 Thread::RunThreadWrapper(void*)
16 libc.so 0x000000799b1a5278 <symbols missing for uuid: e81bf516b888e895d4e757da439c8117>
17 libc.so 0x000000799b145448 <symbols missing for uuid: e81bf516b888e895d4e757da439c8117
1 Like

Any update on this issue?

1 Like

Does anyone find what’s causing this issue ,its annoying and so many of my players can’t play my game because of this.

Game Name - Blackout : Multiplayer Horror ( Playstore)
Editor version - 6.3
Platform - Android

Hope this is fixed soon.