Search Issue Tracker
Active
Votes
0
Found in
2022.3.57f1
6000.0.36f1
6000.1.0b4
6000.2.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; | MessageID = 0x71565eaf | vkQueueSubmit(): pSubmits[0].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.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on UnityMain when running Player which was built on 32-bit architecture with "Direct3D12" set as graphics API
- [Android][Vulkan] Nothing is rendered when the Splash Screen disappears in the Player
- Skinned Mesh Prefab teleports when any child Transform change is undone and the prefab is a child of another GameObject
- VideoPlayer received error is not thrown when calling VideoPlayer.errorReceived
- "HideFlags.HideAndDontSave" flag does not work when the Components are added in OnEnable and Awake methods
Add comment