You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the image sample, if the border of the window is held up and the window is continuously resized, after a while the program will crash. I've added the validation layer to the sample to obtain the validation error below.
vkQueueSubmit(): (VkFence 0x6c25cb0000015067) is already in use by another submission.
The Vulkan spec states: If fence is not VK_NULL_HANDLE, fence must not be associated with any other queue command that has not yet completed execution on that queue (https://docs.vulkan.org/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-fence-00064)
Objects: 2
[0] VkQueue 0x55928fc00420
[1] VkFence 0x6c25cb0000015067
Rust backtrace
thread 'main' panicked at /home/ripley/Repos_Utils/vulkano/vulkano/src/sync/future/fence_signal.rs:538:34:
called Result::unwrap() on an Err value: DeviceLost
stack backtrace:
0: rust_begin_unwind
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5
1: core::panicking::panic_fmt
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14
2: core::result::unwrap_failed
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/result.rs:1704:5
3: core::result::Result<T,E>::unwrap
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1109:23
4: <vulkano::sync::future::fence_signal::FenceSignalFuture as core::ops::drop::Drop>::drop
at /home/ripley/Repos_Utils/vulkano/vulkano/src/sync/future/fence_signal.rs:538:17
5: core::ptr::drop_in_place<vulkano::sync::future::fence_signal::FenceSignalFuture<vulkano::swapchain::acquire_present::PresentFuture<vulkano::command_buffer::traits::CommandBufferExecFuture<vulkano::sync::future::join::JoinFuture<alloc::boxed::Box,vulkano::swapchain::acquire_present::SwapchainAcquireFuture>>>>>
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1
6: vulkano::sync::future::GpuFuture::then_signal_fence_and_flush
at /home/ripley/Repos_Utils/vulkano/vulkano/src/sync/future/mod.rs:331:5
7: <image::App as winit::application::ApplicationHandler>::window_event
at /home/ripley/Repos_Utils/vulkano/examples/image/main.rs:558:30
8: winit::event_loop::dispatch_event_for_app
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/event_loop.rs:631:52
9: winit::event_loop::EventLoop::run_app::{{closure}}
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/event_loop.rs:265:49
10: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
11: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
12: winit::platform_impl::platform::wayland::event_loop::EventLoop::single_iteration
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:469:17
13: winit::platform_impl::platform::wayland::event_loop::EventLoop::poll_events_with_timeout
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:295:9
14: winit::platform_impl::platform::wayland::event_loop::EventLoop::pump_events
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:217:13
15: winit::platform_impl::platform::wayland::event_loop::EventLoop::run_on_demand
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:181:19
16: winit::platform_impl::platform::EventLoop::run_on_demand
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/mod.rs:813:56
17: winit::platform_impl::platform::EventLoop::run
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/mod.rs:806:9
18: winit::event_loop::EventLoop::run_app
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/event_loop.rs:265:9
19: image::main
at /home/ripley/Repos_Utils/vulkano/examples/image/main.rs:58:5
20: core::ops::function::FnOnce::call_once
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
After further playing with the sample, the crash never occurs if rcx.previous_frame_end.as_mut().unwrap().cleanup_finished(); is commented out, I assume something unsound is going in there?
The text was updated successfully, but these errors were encountered:
May I suggest rewriting the examples with how the library is meant to be used then?
I'd do it myself but I'm relatively unfamiliar with both Vulkan and how the library is meant to be used.
Examples are the prime way people will dig into how to use the library(it is even the first item under Documentation and Resources).
Marking the functions relating to the old sync as deprecated would also probably be a good idea?
In the image sample, if the border of the window is held up and the window is continuously resized, after a while the program will crash. I've added the validation layer to the sample to obtain the validation error below.
Vulkan validation error
Validation Error: [ VUID-vkQueueSubmit-fence-00064 ] | MessageID = 0xbf76c98dvkQueueSubmit(): (VkFence 0x6c25cb0000015067) is already in use by another submission.
The Vulkan spec states: If fence is not VK_NULL_HANDLE, fence must not be associated with any other queue command that has not yet completed execution on that queue (https://docs.vulkan.org/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-fence-00064)
Objects: 2
[0] VkQueue 0x55928fc00420
[1] VkFence 0x6c25cb0000015067
Rust backtrace
thread 'main' panicked at /home/ripley/Repos_Utils/vulkano/vulkano/src/sync/future/fence_signal.rs:538:34:called
Result::unwrap()
on anErr
value: DeviceLoststack backtrace:
0: rust_begin_unwind
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/std/src/panicking.rs:692:5
1: core::panicking::panic_fmt
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/panicking.rs:75:14
2: core::result::unwrap_failed
at /rustc/4d91de4e48198da2e33413efdcd9cd2cc0c46688/library/core/src/result.rs:1704:5
3: core::result::Result<T,E>::unwrap
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1109:23
4: <vulkano::sync::future::fence_signal::FenceSignalFuture as core::ops::drop::Drop>::drop
at /home/ripley/Repos_Utils/vulkano/vulkano/src/sync/future/fence_signal.rs:538:17
5: core::ptr::drop_in_place<vulkano::sync::future::fence_signal::FenceSignalFuture<vulkano::swapchain::acquire_present::PresentFuture<vulkano::command_buffer::traits::CommandBufferExecFuture<vulkano::sync::future::join::JoinFuture<alloc::boxed::Box,vulkano::swapchain::acquire_present::SwapchainAcquireFuture>>>>>
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:523:1
6: vulkano::sync::future::GpuFuture::then_signal_fence_and_flush
at /home/ripley/Repos_Utils/vulkano/vulkano/src/sync/future/mod.rs:331:5
7: <image::App as winit::application::ApplicationHandler>::window_event
at /home/ripley/Repos_Utils/vulkano/examples/image/main.rs:558:30
8: winit::event_loop::dispatch_event_for_app
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/event_loop.rs:631:52
9: winit::event_loop::EventLoop::run_app::{{closure}}
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/event_loop.rs:265:49
10: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
11: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
12: winit::platform_impl::platform::wayland::event_loop::EventLoop::single_iteration
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:469:17
13: winit::platform_impl::platform::wayland::event_loop::EventLoop::poll_events_with_timeout
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:295:9
14: winit::platform_impl::platform::wayland::event_loop::EventLoop::pump_events
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:217:13
15: winit::platform_impl::platform::wayland::event_loop::EventLoop::run_on_demand
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/wayland/event_loop/mod.rs:181:19
16: winit::platform_impl::platform::EventLoop::run_on_demand
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/mod.rs:813:56
17: winit::platform_impl::platform::EventLoop::run
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/platform_impl/linux/mod.rs:806:9
18: winit::event_loop::EventLoop::run_app
at /home/ripley/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.3/src/event_loop.rs:265:9
19: image::main
at /home/ripley/Repos_Utils/vulkano/examples/image/main.rs:58:5
20: core::ops::function::FnOnce::call_once
at /home/ripley/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
After further playing with the sample, the crash never occurs if
rcx.previous_frame_end.as_mut().unwrap().cleanup_finished();
is commented out, I assume something unsound is going in there?The text was updated successfully, but these errors were encountered: