Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Want to know about how does OpenXR manage/destroy Vulkan resources. #377

Open
TheZeury opened this issue Jan 26, 2023 · 6 comments
Open
Labels
runtime related a problem/question for a runtime, not OpenXR itself synced to gitlab Synchronized to OpenXR internal GitLab waiting for reporter

Comments

@TheZeury
Copy link

TheZeury commented Jan 26, 2023

Vulkan version: 1.3

In my application, when I try to destroy the Vulkan logical device, the validation layer complains that a bunch of objects has not been destroyed yet. I spent an entire day trying to properly destroy the resources until I realized that these objects were not created by me at all. Then they must be created by OpenXR I think since it's the only part of my code that interact with Vulkan.

And I also found an #issue saying that the hello-xr demo doesn't destroy the Vulkan device manually. And it is true indeed. So I tried to add a destructor for the VulkanGraphicsPlugin class. And as a result, the validation layer complained the same thing (maybe not completely the same) as it does in my application.

I don't understand how OpenXR manages these Vulkan objects, maybe it's a bug, or maybe I just shouldn't destroy the Vulkan logical device myself, and OpenXR can handle this for me, so I'm asking here.

Here's the validation layer output from hello-xr after manually destroying m_vkDevice field:

(This output is not correct so I deleted it, look at those I posted in the comment)
@TheZeury
Copy link
Author

Oops, I made something wrong, I let the VulkanGraphicsPlugin destroy the device before destroying other objects, let me try again. This should be the output after the members are destructed:

[19:50:44.379][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x1cc2255eaf0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkCommandBuffer 0x1cc2255eaf0[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x1cc2265e8c0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkCommandBuffer 0x1cc2265e8c0[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xed367200000000ab, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0xed367200000000ab[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xb527dd00000000cd, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0xb527dd00000000cd[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xa56ac00000000d4, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0xa56ac00000000d4[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xaa4e0f00000000cf, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0xaa4e0f00000000cf[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x2602c100000000b8, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0x2602c100000000b8[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xe7713700000000ae, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0xe7713700000000ae[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x58e3e000000000d8, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0x58e3e000000000d8[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x9b139800000000b1, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0x9b139800000000b1[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.380][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xa7cc1e00000000d6, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0xa7cc1e00000000d6[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x359e9300000000cb, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0x359e9300000000cb[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x2ec10700000000be, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0x2ec10700000000be[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xfb4f900000000d1, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0xfb4f900000000d1[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x2860e200000000bb, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImage 0x2860e200000000bb[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xf56c9b0000000004, type = VK_OBJECT_TYPE_SEMAPHORE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkSemaphore 0xf56c9b0000000004[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xaafb8b00000000d3, type = VK_OBJECT_TYPE_FENCE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkFence 0xaafb8b00000000d3[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x5fc58300000000db, type = VK_OBJECT_TYPE_FENCE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkFence 0x5fc58300000000db[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.381][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x1e386200000000da, type = VK_OBJECT_TYPE_FENCE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkFence 0x1e386200000000da[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.382][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xac9fba00000000d2, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0xac9fba00000000d2[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.382][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xb8b3500000000ac, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0xb8b3500000000ac[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.382][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x1dc49b00000000b2, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0x1dc49b00000000b2[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.382][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x2df7c500000000bc, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0x2df7c500000000bc[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.382][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x2d15fe00000000bf, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0x2d15fe00000000bf[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.382][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x5581c500000000d5, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0x5581c500000000d5[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.382][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xd6c9a000000000b9, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0xd6c9a000000000b9[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.383][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xad092800000000d0, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0xad092800000000d0[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.383][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xaf31600000000ce, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0xaf31600000000ce[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.383][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xa0235400000000cc, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0xa0235400000000cc[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.383][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x9b5ec100000000d9, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0x9b5ec100000000d9[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.383][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x10da6e00000000af, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0x10da6e00000000af[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.383][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x14170700000000d7, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkDeviceMemory 0x14170700000000d7[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.383][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xc9ccfc00000000ad, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImageView 0xc9ccfc00000000ad[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x8f9a6c00000000bd, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImageView 0x8f9a6c00000000bd[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x84ad8300000000ba, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImageView 0x84ad8300000000ba[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xdf8aaa00000000b3, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImageView 0xdf8aaa00000000b3[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x88693900000000c0, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImageView 0x88693900000000c0[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xc4bec900000000b0, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkImageView 0xc4bec900000000b0[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xfa21a40000000003, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkShaderModule 0xfa21a40000000003[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x95ff2600000000b7, type = VK_OBJECT_TYPE_PIPELINE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkPipeline 0x95ff2600000000b7[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x3a9c5c00000000c4, type = VK_OBJECT_TYPE_PIPELINE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkPipeline 0x3a9c5c00000000c4[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)
[19:50:44.384][Error  ] ERROR: (DEVICE 0x1cc1b627ca0) [Validation] Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x1cc1b627ca0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0xd0e29300000000aa, type = VK_OBJECT_TYPE_COMMAND_POOL; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x1cc1b627ca0[], VkCommandPool 0xd0e29300000000aa[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.236.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

@Wallbraker
Copy link
Contributor

Which runtime/device are you using? This is probably a bug with the runtime in question.

@rpavlik-bot rpavlik-bot added the synced to gitlab Synchronized to OpenXR internal GitLab label Feb 1, 2023
@rpavlik-bot
Copy link
Collaborator

An issue (number 1928) has been filed to correspond to this issue in the internal Khronos GitLab (Khronos members only: KHR:openxr/openxr#1928 ), to facilitate working group processes.

This GitHub issue will continue to be the main site of discussion.

@TheZeury
Copy link
Author

TheZeury commented Feb 2, 2023

Which runtime/device are you using? This is probably a bug with the runtime in question.

Yes, you are right. It happens when applications are running on SteamVR. I tried Oculus runtime just now after seeing your comment, and the errors are gone.

I'm using quest2, the SteamVR runtime throws these errors no matter if I run it through Virtual Desktop or through the Oculus app.

@rpavlik
Copy link
Contributor

rpavlik commented Feb 2, 2023

OK, so steamvr. It also depends on your GPU and driver version: what are those?

@rpavlik rpavlik added the runtime related a problem/question for a runtime, not OpenXR itself label Feb 2, 2023
@TheZeury
Copy link
Author

TheZeury commented Feb 2, 2023

RTX4090, driver version 528.24

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
runtime related a problem/question for a runtime, not OpenXR itself synced to gitlab Synchronized to OpenXR internal GitLab waiting for reporter
Projects
None yet
Development

No branches or pull requests

4 participants