leetvr / hotham

Hotham is a tool for creating incredible standalone VR games.
Apache License 2.0
386 stars 29 forks source link

[Bug]: Simulator crashes on running samples #273

Closed rowanBlitzm closed 2 years ago

rowanBlitzm commented 2 years ago

What happened?

Note: This issue was experienced during the initial setup for Hotham (it wasn't previously working on the system)

Following relevant steps from the getting started, and attempting to run any of the sample scenes, a window for the scene opens, but immediately crashes.

All relevant dependencies should be on their most recent versions (having been installed in the last two days)

image

Version

latest

In which Hotham component are you seeing the problem on?

Simulator

What VR System are you seeing the problem on?

No response

What OS are you seeing the problem on?

Windows

Relevant log output

PS C:\hotham> cargo run --bin hotham_simple_scene_example
    Finished dev [unoptimized + debuginfo] target(s) in 0.50s
     Running `target\debug\hotham_simple_scene_example.exe`
Available extensions: ExtensionSet { epic_view_configuration_fov: false, ext_performance_settings: false, ext_thermal_query: false, ext_debug_utils: true, ext_eye_gaze_interaction: false, ext_view_configuration_depth_range: false, ext_conformance_automation: false, ext_hand_tracking: false, ext_win32_appcontainer_compatible: false, ext_hand_joints_motion_range: false, ext_samsung_odyssey_controller: false, ext_hp_mixed_reality_controller: false, extx_overlay: false, fb_composition_layer_image_layout: false, fb_composition_layer_alpha_blend: false, fb_swapchain_update_state: false, fb_composition_layer_secure_content: false, fb_display_refresh_rate: false, fb_color_space: false, fb_hand_tracking_mesh: false, fb_hand_tracking_aim: false, fb_hand_tracking_capsules: false, fb_foveation: false, fb_foveation_configuration: false, fb_triangle_mesh: false, fb_passthrough: false, fb_foveation_vulkan: false, fb_swapchain_update_state_opengl_es: false, fb_swapchain_update_state_vulkan: false, fb_space_warp: false, htc_vive_cosmos_controller_interaction: false, htcx_vive_tracker_interaction: false, huawei_controller_interaction: false, khr_composition_layer_cube: false, khr_composition_layer_depth: false, khr_vulkan_swapchain_format_list: false, khr_composition_layer_cylinder: false, khr_composition_layer_equirect: false, khr_opengl_enable: false, khr_opengl_es_enable: false, khr_vulkan_enable: true, khr_d3d11_enable: false, khr_d3d12_enable: false, khr_visibility_mask: false, khr_composition_layer_color_scale_bias: false, khr_win32_convert_performance_counter_time: false, khr_convert_timespec_time: false, khr_loader_init: false, khr_vulkan_enable2: true, khr_composition_layer_equirect2: false, khr_binding_modification: false, khr_swapchain_usage_input_attachment_bit: false, mnd_headless: false, mnd_swapchain_usage_input_attachment_bit: false, mndx_egl_enable: false, msft_unbounded_reference_space: false, msft_spatial_anchor: false, msft_spatial_graph_bridge: false, msft_hand_interaction: false, msft_hand_tracking_mesh: false, msft_secondary_view_configuration: false, msft_first_person_observer: false, msft_controller_model: false, msft_perception_anchor_interop: false, msft_holographic_window_attachment: false, msft_composition_layer_reprojection: false, msft_spatial_anchor_persistence: false, oculus_audio_device_guid: false, valve_analog_threshold: false, varjo_quad_views: false, varjo_foveated_rendering: false, varjo_composition_layer_depth_test: false, varjo_environment_depth_estimation: false, varjo_marker_tracking: false, other: [] }
[HOTHAM_VULKAN] Initializing Vulkan..
[HOTHAM_VULKAN] Requesting layers: ["VK_LAYER_KHRONOS_validation\0"]
[HOTHAM_VULKAN] Required Vulkan instance extensions: ["VK_KHR_surface", "VK_KHR_win32_surface", "VK_EXT_debug_utils"]
[HOTHAM_SIMULATOR] Created physical device: 0x2488ab42880
[HOTHAM_VULKAN] Creating logical device..
[HOTHAM_VULKAN] Using device extensions: ["VK_KHR_swapchain", "VK_KHR_shader_draw_parameters", "VK_KHR_multiview", "VK_EXT_descriptor_indexing"]
[HOTHAM_VULKAN] ..done
[HOTHAM_VULKAN] - Vulkan Context created successfully
[HOTHAM] Creating session..
[HOTHAM_SIMULATOR] Done! Device created: 0x2488ac43590
[HOTHAM_SIMULATOR] enumerate_view_configuration_views called with: 2
[HOTHAM_VULKAN] Views: [ViewConfigurationView { recommended_image_rect_width: 1000, max_image_rect_width: 1000, recommended_image_rect_height: 1000, max_image_rect_height: 1000, recommended_swapchain_sample_count: 3, max_swapchain_sample_count: 3 }, ViewConfigurationView { recommended_image_rect_width: 1000, max_image_rect_width: 1000, recommended_image_rect_height: 1000, max_image_rect_height: 1000, recommended_swapchain_sample_count: 3, max_swapchain_sample_count: 3 }]
[HOTHAM_SIMULATOR] Creating XR Swapchain..
[HOTHAM_SIMULATOR] ..done.
[HOTHAM_SIMULATOR] Building windows swapchain..
[HOTHAM_SIMULATOR] Creating window with visible true..
WINDOW SCALE FACTOR, 2.5
[HOTHAM_SIMULATOR] ..done.
[HOTHAM_SIMULATOR] Creating surface..
[HOTHAM_SIMULATOR] ..done
[HOTHAM_SIMULATOR] About to create swapchain..
[HOTHAM_SIMULATOR] Created swapchain: 0xdcc8fd0000000012. Sending..
[HOTHAM_SIMULATOR] Received swapchain: 0xdcc8fd0000000012
[HOTHAM_SIMULATOR] Creating descriptor sets..
[HOTHAM_SIMULATOR] Created descriptor pool 0x27d60e0000000019
[HOTHAM_SIMULATOR] Allocating descriptor sets with layouts: [0x95a125000000001a, 0x95a125000000001a, 0x95a125000000001a][HOTHAM_SIMULATOR] Creating render pass..
[HOTHAM_SIMULATOR] ..done!
[HOTHAM_SIMULATOR] Creating pipelines..
[HOTHAM_SIMULATOR] ..done!
[HOTHAM_SIMULATOR] ..done
[HOTHAM_SIMULATOR] Returning with Swapchain(15909243860128104466)
[HOTHAM_SIMULATOR] Create action set called with "input"
[HOTHAM_SIMULATOR] Created path 0x24890197fc0 for /user/hand/left
[HOTHAM_SIMULATOR] Created path 0x24890197b40 for /user/hand/right
[HOTHAM_SIMULATOR] Created path 0x2488ae9e880 for /user/hand/left/input/grip/pose
[HOTHAM_SIMULATOR] Created path 0x2488ae9ed90 for /user/hand/left/input/aim/pose
[HOTHAM_SIMULATOR] Created path 0x2488ae9ec40 for /user/hand/right/input/grip/pose
[HOTHAM_SIMULATOR] Created path 0x2488ae9e670 for /user/hand/right/input/aim/pose
[HOTHAM_SIMULATOR] Created path 0x2488ae9eb80 for /user/hand/left/input/squeeze/value
[HOTHAM_SIMULATOR] Created path 0x2488ae9e4c0 for /user/hand/left/input/trigger/value
[HOTHAM_SIMULATOR] Created path 0x2488ae9eb20 for /user/hand/left/output/haptic
[HOTHAM_SIMULATOR] Created path 0x2488ae9ef10 for /user/hand/right/input/squeeze/value
[HOTHAM_SIMULATOR] Created path 0x2488ae9ed90 for /user/hand/right/input/trigger/value
[HOTHAM_SIMULATOR] Created path 0x2488ae9e940 for /user/hand/right/output/haptic
[HOTHAM_SIMULATOR] Created path 0x2488ae9ee20 for /user/hand/left/input/x/click
[HOTHAM_SIMULATOR] Created path 0x2488ae9e580 for /user/hand/left/input/y/click
[HOTHAM_SIMULATOR] Created path 0x2488ae9e520 for /user/hand/right/input/a/click
[HOTHAM_SIMULATOR] Created path 0x2488ae9e6d0 for /user/hand/right/input/b/click
[HOTHAM_SIMULATOR] Created path 0x2488ae9eb80 for /user/hand/left/input/thumbstick/x
[HOTHAM_SIMULATOR] Created path 0x2488ae9e490 for /user/hand/left/input/thumbstick/y
[HOTHAM_SIMULATOR] Created path 0x2488ae9e820 for /user/hand/right/input/thumbstick/x
[HOTHAM_SIMULATOR] Created path 0x2488ae9ee20 for /user/hand/right/input/thumbstick/y
[HOTHAM_SIMULATOR] Created path 0x2488ae65900 for /interaction_profiles/oculus/touch_controller
[HOTHAM_SIMULATOR] Created left hand space: SpaceState { name: "Left Hand", position: "x: -0.2, y: 1.4, z: -0.5", orientation: "x: 0.707, y: 0, z: 0, w: 0.707" }, Space(11108153018047348782)
[HOTHAM_SIMULATOR] Created left hand space: SpaceState { name: "Left Hand", position: "x: -0.2, y: 1.4, z: -0.5", orientation: "x: 0.707, y: 0, z: 0, w: 0.707" }, Space(632535557546742090)
[HOTHAM_SIMULATOR] Created right hand space: SpaceState { name: "Right Hand", position: "x: 0.2, y: 1.4, z: -0.5", orientation: "x: 0.707, y: 0, z: 0, w: 0.707" }, Space(17603549864208002124)
[HOTHAM_SIMULATOR] Created right hand space: SpaceState { name: "Right Hand", position: "x: 0.2, y: 1.4, z: -0.5", orientation: "x: 0.707, y: 0, z: 0, w: 0.707" }, Space(1094377320395212299)
[HOTHAM_SIMULATOR] Attach action sets called
[HOTHAM_RENDERER] Creating renderer..
[HOTHAM_SIMULATOR] Creating swapchain images..
[HOTHAM_SIMULATOR] Done!
[HOTHAM_INIT] Creating swapchain....done!
VUID-VkDescriptorSetVariableDescriptorCountAllocateInfo-descriptorSetCount-03045(ERROR / SPEC): msgNum: -1713597613 - Validation Error: [ VUID-VkDescriptorSetVariableDescriptorCountAllocateInfo-descriptorSetCount-03045 ] Object 0: handle = 0x2488ac43590, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x99dc9353 | vkAllocateDescriptorSets(): VkDescriptorSetAllocateInfo::descriptorSetCount (2) != VkDescriptorSetVariableDescriptorCountAllocateInfo::descriptorSetCount (3) The Vulkan spec states: If descriptorSetCount is not zero, descriptorSetCount must equal VkDescriptorSetAllocateInfo::descriptorSetCount (https://vulkan.lunarg.com/doc/view/1.3.216.0/windows/1.3-extensions/vkspec.html#VUID-VkDescriptorSetVariableDescriptorCountAllocateInfo-descriptorSetCount-03045)
    Objects: 1
        [0] 0x2488ac43590, type: 3, name: NULL
[HOTHAM_INIT] Creating render pass....done!
[HOTHAM_INIT] Creating pipeline..[HOTHAM_AUDIO_CONTEXT] Using default audio device: Speakers / Headphones (Realtek Audio)
[HOTHAM_AUDIO_CONTEXT] cpal AudioConfig: StreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Default }
[HOTHAM_TEXTURE] - Decompresing image. This may take some time.. ..done!
[HOTHAM_VULKAN] Creating staging buffer..
[HOTHAM_VULKAN] Allocated 16777216 bits of buffer memory: 0x2c71f0000000006c
[HOTHAM_VULKAN] ..done!
[HOTHAM_VULKAN] Copying buffer to image..
[HOTHAM_VULKAN] ..done! Transitioning image layout..
[HOTHAM_VULKAN] ..done! Freeing staging buffer..
[HOTHAM_VULKAN] ..done!
VUID-VkWriteDescriptorSet-dstArrayElement-00321(ERROR / SPEC): msgNum: -1862672269 - Validation Error: [ VUID-VkWriteDescriptorSet-dstArrayElement-00321 ] Object 0: handle = 0xa43473000000002d, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0x90f9e073 | vkUpdateDescriptorSets() pDescriptorWrites[0] failed write update validation for VkDescriptorSet 0xa43473000000002d[] with error: Attempting write update to VkDescriptorSet 0xa43473000000002d[] allocated with VkDescriptorSetLayout 0x2e2cd000000002b[] binding index #4 array element 0 with 1 writes but variable descriptor size is 0. The Vulkan spec states: The sum of dstArrayElement and descriptorCount must be less than or equal to the number of array elements in the descriptor set binding specified by dstBinding, and all applicable consecutive bindings, as described by consecutive binding updates (https://vulkan.lunarg.com/doc/view/1.3.216.0/windows/1.3-extensions/vkspec.html#VUID-VkWriteDescriptorSet-dstArrayElement-00321)
    Objects: 1
        [0] 0xa43473000000002d, type: 23, name: NULL
VUID-VkWriteDescriptorSet-dstArrayElement-00321(ERROR / SPEC): msgNum: -1862672269 - Validation Error: [ VUID-VkWriteDescriptorSet-dstArrayElement-00321 ] Object 0: handle = 0x980b0000000002e, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0x90f9e073 | vkUpdateDescriptorSets() pDescriptorWrites[1] failed write update validation for VkDescriptorSet 0x980b0000000002e[] with error: Attempting write update to VkDescriptorSet 0x980b0000000002e[] allocated with VkDescriptorSetLayout 0x2e2cd000000002b[] binding index #4 array element 0 with 1 writes but variable descriptor size is 0. The Vulkan spec states: The sum of dstArrayElement and descriptorCount must be less than or equal to the number of array elements in the descriptor set binding specified by dstBinding, and all applicable consecutive bindings, as described by consecutive binding updates (https://vulkan.lunarg.com/doc/view/1.3.216.0/windows/1.3-extensions/vkspec.html#VUID-VkWriteDescriptorSet-dstArrayElement-00321)
    Objects: 1
        [0] 0x980b0000000002e, type: 23, name: NULL
error: process didn't exit successfully: `target\debug\hotham_simple_scene_example.exe` (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)
kanerogers commented 2 years ago

Closing this one off due to inactivity!