Search Issue Tracker

Fixed

Fixed in 2021.3.32f1, 2022.3.13f1

Votes

4

Found in

2021.3.27f1

2022.3.1f1

Issue ID

UUM-40244

Regression

Yes

[Android] Vulkan Texture Streaming causes a memory leak which results in a crash

-

How to reproduce:
1. Open the attached “IN-42087“ project
2. In the “Edit” → “Project Settings” → “Player” → “Other Settings” disable “Auto Graphics API”
3. From “Graphics APIs” remove “OpenGLES3”
4. Connect a device to your machine
5. In the “File” → “Build Settings” enable “Development Build” and “Autoconnect Profiler”
6. Click “Build And Run”
7. After the “Player” loads on the device, inspect the “Profiler” window

Expected result: The memory usage stays stable and the “Player” doesn’t crash
Actual result: The memory usage increases and the “Player” crashes after 15s-60s

Reproducible with: 2021.3.27f1, 2022.2.6f1, 2022.3.1f1
Not reproducible with: 2022.2.5f1, 2023.1.0f1, 2023.2.0a19

Testing environment: macOS 13.2 (Intel)

Reproducible on devices:
VLNQA00520 - Galaxy S22 USA (SM-S901U), CPU: Snapdragon 8 Gen 1 (SM8450), GPU: Adreno 730, OS: 12
VLNQA00530 - Sony Xperia 5 III (XQ-BQ52), CPU: Snapdragon 888, GPU: Adreno 660, OS: 11
VLNQA00409 - Galaxy Z Fold3 5G (SM-F926B), CPU: Snapdragon 888, GPU: Adreno 660, OS: 11
VLNQA00277 - Asus ROG Phone (ASUS_Z01QD), CPU: Snapdragon 845 SDM845, GPU: Adreno 630, OS: 8.1.0
VLNQA00379 - Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650, OS: 10

Logcat lines:
06-14 08:48:30.176 7021 7136 E CRASH : backtrace:
06-14 08:48:30.176 7021 7136 E CRASH : #00 pc 013d2290 /data/app/~~-1RZ_V3UPRI8Ha7Z_pAqtg==/com.DefaultCompany.VulkanTextureStreamingLeak-RFUL1PP3KqVLTvQHx5OCAw==/lib/arm/libunity.so (vk::ImageManager::AllocateTextureUploadBuffer(vk::CommandBuffer, vk::ScratchBuffer, vk::Image, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, int, dynamic_array<VkBufferImageCopy, 0u>&)+28) (BuildId: c11d18c7a2ff8cfc)
06-14 08:48:30.176 7021 7136 E CRASH : #01 pc 0135e55c /data/app/~~-1RZ_V3UPRI8Ha7Z_pAqtg==/com.DefaultCompany.VulkanTextureStreamingLeak-RFUL1PP3KqVLTvQHx5OCAw==/lib/arm/libunity.so (vk::Texture::AllocateTextureUploadBuffer(vk::CommandBuffer
, vk::ScratchBuffer, vk::ImageData const&, VkExtent3D const&, GraphicsFormat, int, dynamic_array<VkBufferImageCopy, 0u>&)+60) (BuildId: c11d18c7a2ff8cfc)
06-14 08:48:30.176 7021 7136 E CRASH : #02 pc 013b788c /data/app/~~-1RZ_V3UPRI8Ha7Z_pAqtg==/com.DefaultCompany.VulkanTextureStreamingLeak-RFUL1PP3KqVLTvQHx5OCAw==/lib/arm/libunity.so (GfxDeviceVK::AcquireTexture2DUploadMemory(TextureCreateData&, TextureUploadMemory
&)+404) (BuildId: c11d18c7a2ff8cfc)
06-14 08:48:30.176 7021 7136 E CRASH : #03 pc 007770df /data/app/~~-1RZ_V3UPRI8Ha7Z_pAqtg==/com.DefaultCompany.VulkanTextureStreamingLeak-RFUL1PP3KqVLTvQHx5OCAw==/lib/arm/libunity.so (AcquireTexture2DUploadMemory(GfxDevice&, TextureCreateData, TextureUploadMemory&)+30) (BuildId: c11d18c7a2ff8cfc)
06-14 08:48:30.176 7021 7136 E CRASH : #04 pc 00734f3b /data/app/~~-1RZ_V3UPRI8Ha7Z_pAqtg==/com.DefaultCompany.VulkanTextureStreamingLeak-RFUL1PP3KqVLTvQHx5OCAw==/lib/arm/libunity.so (AsyncTextureProcessingCompleteCallback(GfxDevice&, AsyncUploadCallbackInfo const&)+66) (BuildId: c11d18c7a2ff8cfc)
06-14 08:48:30.176 7021 7136 E CRASH : #05 pc 0075a6d9 /data/app/~~-1RZ_V3UPRI8Ha7Z_pAqtg==/com.DefaultCompany.VulkanTextureStreamingLeak-RFUL1PP3KqVLTvQHx5OCAw==/lib/arm/libunity.so (AsyncUploadManager::AsyncResourceUpload(GfxDevice&, int, AsyncUploadManagerSettings const&)+248) (BuildId: c11d18c7a2ff8cfc)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.