Search Issue Tracker
Won't Fix
Won't Fix in 6000.5.X
Votes
5
Found in
2022.3.57f1
6000.0.36f1
6000.1.0b4
6000.2.0a1
6000.3.0a1
6000.4.0a1
6000.5.0a1
Issue ID
UUM-96239
Regression
No
[XR][Vulkan] Vulkan Command Buffer memory leak every frame after scene change when using Multiview Rendering
Steps to reproduce:
1. Open the attached project from the Google Drive link
2. Build and run a development project targeting Android for the Meta Quest 2/3/3S
3. Close the app on the Meta Quest and using ADB in the command line enable Vulkan Validation Layers using:
adb shell setprop debug.oculus.loadandinjectpackagedvvl.com.unity.template.urpsample6 1
4. In the Editor open Android Logcat
5. Launch the app on the device and observe the logcat for the Validation Error messages. They will be spammed in the log if the issue occurs. If you don't see those specific errors, keep rerunning the app until you do see them.
Expected Result: These errors do not occur and no memory leak happens
Actual Result: These errors occur and the app can crash due to being Out of Memory
Reproducible with: 2022.3.57f1, 6000.0.35f1, 6000.1.0b4, 6000.2.0a1
Could not test below 6000.0.10f1 and 2021.3.48f1 due to project errors after downgrading and issue no longer reproducing after fixing the project
Reproducible with these devices:
VLNQA00609 - Oculus Quest 3 (Quest 3), CPU: Snapdragon XR2 Gen 2 (SM8550), GPU: Adreno 740, OS: 12
VLNQA00417 - Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650, OS: 10
VLNQA00415 - Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650, OS: 12
Testing Environment: Windows 11
Not reproducible on: No other environment tested
Notes:
-If the scene never changes, Vulkan Validation errors are still spammed however there is no memory leak
-Issue reproduces with both OpenXR and OculusXR Plugins
-Issue reproduces only with Vulkan and when using MultiView Rendering mode
-Android Logcat error:
Unity VULKAN: VALIDATION ERROR: Validation Error: VUID-vkQueueSubmit-pCommandBuffers-00065 ] Object 0: handle = 0x126cc300000028e1, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0xb4000079bc429b20, type = VK_OBJECT_TYPE_QUEUE; Object 2: handle = 0xb4000079bc429b20, type = VK_OBJECT_TYPE_QUEUE; .pSignalSemaphores[0] (VkSemaphore 0x126cc300000028e1[]) is being signaled by VkQueue 0xb4000079bc429b20[], but it was previously signaled by VkQueue 0xb4000079bc429b20[] and has not since been waited on.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
Resolution Note:
The Recycle command buffers option was introduced for cases like this where we were seeing lot of memory being used up by resetting the command buffers. Instead, by unchecking this box we destroy command buffers and recreate them during reset which keeps memory usage stable. There might be a slight degradation in perf, but we haven't seen developers report that issue.
Resolution Note (6000.5.X):
The Recycle command buffers option was introduced for cases like this where we were seeing lot of memory being used up by resetting the command buffers. Instead, by unchecking this box we destroy command buffers and recreate them during reset which keeps memory usage stable. There might be a slight degradation in perf, but we haven't seen developers report that issue.