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.

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.