attackgoat / screen-13

Screen 13 is an easy-to-use Vulkan rendering engine in the spirit of QBasic.
Apache License 2.0
264 stars 13 forks source link

Running triangle example with DeviceInfo debug enabled crashes. #88

Open DGriffin91 opened 1 month ago

DGriffin91 commented 1 month ago

Used let window = Window::builder().debug(true).build()?; instead of let window = Window::new()?; in the triangle example.

ERROR screen_13::driver::instance > 🆘 vkDestroyFence(): fence (VkFence 0xcb1c7c000000001b[]) is in use. The Vulkan spec states: All queue submission commands that refer to fence must have completed execution (https://vulkan.lunarg.com/doc/view/1.3.280.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyFence-fence-01120)
thread 'main' panicked at src\driver\instance.rs:61:13:
run with `RUST_LOG=trace` environment variable to display more information - see https://github.com/rust-lang/log#in-executables
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at library\core\src\panicking.rs:221:5:
panic in a function that cannot unwind
stack backtrace:
   0:     0x7ff6d69aea7d - std::backtrace_rs::backtrace::dbghelp64::trace
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:91
   1:     0x7ff6d69aea7d - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff6d69aea7d - std::sys::backtrace::_print_fmt
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\sys\backtrace.rs:65
   3:     0x7ff6d69aea7d - std::sys::backtrace::impl$0::print::impl$0::fmt
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\sys\backtrace.rs:40
   4:     0x7ff6d69c1ca9 - core::fmt::rt::Argument::fmt
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\core\src\fmt\rt.rs:173
   5:     0x7ff6d69c1ca9 - core::fmt::write
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\core\src\fmt\mod.rs:1182
   6:     0x7ff6d69acd21 - std::io::Write::write_fmt<std::sys::pal::windows::stdio::Stderr>
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\io\mod.rs:1827
   7:     0x7ff6d69b0327 - std::panicking::default_hook::closure$1
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panicking.rs:269
   8:     0x7ff6d69aff19 - std::panicking::default_hook
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panicking.rs:296
   9:     0x7ff6d69b0a62 - std::panicking::rust_panic_with_hook
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panicking.rs:800
  10:     0x7ff6d69b086f - std::panicking::begin_panic_handler::closure$0
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panicking.rs:667
  11:     0x7ff6d69af16f - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\sys\backtrace.rs:168
  12:     0x7ff6d69b0486 - std::panicking::begin_panic_handler
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panicking.rs:665
  13:     0x7ff6d69cad5d - core::panicking::panic_nounwind_fmt::runtime
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\core\src\panicking.rs:112
  14:     0x7ff6d69cad5d - core::panicking::panic_nounwind_fmt
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\core\src\panicking.rs:122
  15:     0x7ff6d69cae03 - core::panicking::panic_nounwind
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\core\src\panicking.rs:221
  16:     0x7ff6d69cafbb - core::panicking::panic_cannot_unwind
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\core\src\panicking.rs:309
  17:     0x7ff6d67ac376 - screen_13::driver::instance::vulkan_debug_callback
                               at H:\dev\programming\rust\screen-13\issues\screen-13\src\driver\instance.rs:19
  18:     0x7ffdc544f540 - _CxxFrameHandler3
  19:     0x7ffdc54433d8 - is_exception_typeof
  20:     0x7ffddb831c96 - RtlCaptureContext2
  21:     0x7ff6d67ac229 - screen_13::driver::instance::vulkan_debug_callback
                               at H:\dev\programming\rust\screen-13\issues\screen-13\src\driver\instance.rs:61
  22:     0x7ffd3792976b - debug_log_msg
                               at C:\j\msdk\build\Vulkan-ValidationLayers\repo\layers\error_message\logging.cpp:223
  23:     0x7ffd3792ad01 - LogMsg
                               at C:\j\msdk\build\Vulkan-ValidationLayers\repo\layers\error_message\logging.cpp:465
  24:     0x7ffd373dcbd5 - ValidationObject::LogError
                               at C:\j\msdk\build\Vulkan-ValidationLayers\repo\layers\vulkan\generated\chassis.h:2355
  25:     0x7ffd37537b6c - CoreChecks::PreCallValidateDestroyFence
                               at C:\j\msdk\build\Vulkan-ValidationLayers\repo\layers\core_checks\cc_synchronization.cpp:558
  26:     0x7ffd375decb1 - vulkan_layer_chassis::DestroyFence
                               at C:\j\msdk\build\Vulkan-ValidationLayers\repo\layers\vulkan\generated\chassis.cpp:1750
  27:     0x7ff6d6848b7c - ash::device::Device::destroy_fence
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\ash-0.38.0+1.3.281\src\device.rs:1133
  28:     0x7ff6d67f5785 - screen_13::driver::swapchain::Swapchain::destroy
                               at H:\dev\programming\rust\screen-13\issues\screen-13\src\driver\swapchain.rs:210
  29:     0x7ff6d67f5f2f - screen_13::driver::swapchain::Swapchain::recreate_swapchain
                               at H:\dev\programming\rust\screen-13\issues\screen-13\src\driver\swapchain.rs:288
  30:     0x7ff6d67f4d83 - screen_13::driver::swapchain::Swapchain::acquire_next_image
                               at H:\dev\programming\rust\screen-13\issues\screen-13\src\driver\swapchain.rs:57
  31:     0x7ff6d643c39d - screen_13_window::impl$0::run::ActiveWindow::draw<ref_mut$<triangle::main::closure_env$0> >
                               at H:\dev\programming\rust\screen-13\issues\screen-13\contrib\screen-13-window\src\lib.rs:288
  32:     0x7ff6d643b549 - screen_13_window::impl$0::run::impl$1::window_event<triangle::main::closure_env$0>
                               at H:\dev\programming\rust\screen-13\issues\screen-13\contrib\screen-13-window\src\lib.rs:259
  33:     0x7ff6d642d266 - winit::event_loop::dispatch_event_for_app
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\event_loop.rs:642
  34:     0x7ff6d642d266 - winit::event_loop::impl$6::run_app::closure$0<tuple$<>,screen_13_window::impl$0::run::Application<triangle::main::closure_env$0> >
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\event_loop.rs:265
  35:     0x7ff6d6438295 - winit::platform_impl::windows::event_loop::impl$3::run_on_demand::closure$0<tuple$<>,winit::event_loop::impl$6::run_app::closure_env$0<tuple$<>,screen_13_window::impl$0::run::Application<triangle::main::closure_env$0> > >
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:253
  36:     0x7ff6d672f5e8 - alloc::boxed::impl$49::call_mut<tuple$<enum2$<winit::event::Event<winit::platform_impl::windows::event_loop::UserEventPlaceholder> > >,dyn$<core::ops::function::FnMut<tuple$<enum2$<winit::event::Event<winit::platform_impl::windows::event_loop::UserEventPla
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\alloc\src\boxed.rs:2077
  37:     0x7ff6d67231dc - winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure$0<winit::platform_impl::windows::event_loop::UserEventPlaceholder>
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop\runner.rs:236
  38:     0x7ff6d6718b74 - core::panic::unwind_safe::impl$25::call_once<tuple$<>,winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure_env$0<winit::platform_impl::windows::event_loop::UserEventPlaceholder> >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\core\src\panic\unwind_safe.rs:272
  39:     0x7ff6d67613e4 - std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure_env$0<winit::platform_impl::windows::event_loop::UserEventPlaceholder> >,tuple$<> >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\panicking.rs:557
  40:     0x7ff6d67612d3 - winit::platform_impl::windows::keyboard_layout::impl$11::default
  41:     0x7ff6d6758a6a - std::panicking::try
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\panicking.rs:521
  42:     0x7ff6d6758a6a - std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure_env$0<winit::platform_impl::windows::event_loop::UserEventPlaceholder> >,tuple$<> >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\panic.rs:350
  43:     0x7ff6d67220ff - winit::platform_impl::windows::event_loop::runner::EventLoopRunner<winit::platform_impl::windows::event_loop::UserEventPlaceholder>::catch_unwind<winit::platform_impl::windows::event_loop::UserEventPlaceholder,tuple$<>,winit::platform_impl::windows::event_
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop\runner.rs:173
  44:     0x7ff6d67230db - winit::platform_impl::windows::event_loop::runner::EventLoopRunner<winit::platform_impl::windows::event_loop::UserEventPlaceholder>::call_event_handler<winit::platform_impl::windows::event_loop::UserEventPlaceholder>
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop\runner.rs:230
  45:     0x7ff6d6722f43 - winit::platform_impl::windows::event_loop::runner::EventLoopRunner<winit::platform_impl::windows::event_loop::UserEventPlaceholder>::send_event<winit::platform_impl::windows::event_loop::UserEventPlaceholder>
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop\runner.rs:210
  46:     0x7ff6d670854f - winit::platform_impl::windows::event_loop::WindowData::send_event
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:123
  47:     0x7ff6d670cb3c - winit::platform_impl::windows::event_loop::public_window_callback_inner::closure$4
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:1178
  48:     0x7ff6d672b5a7 - core::ops::function::FnOnce::call_once<winit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4,tuple$<> >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\core\src\ops\function.rs:250
  49:     0x7ff6d6718ba1 - core::panic::unwind_safe::impl$25::call_once<tuple$<>,winit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4>
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\core\src\panic\unwind_safe.rs:272
  50:     0x7ff6d67614b5 - std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4>,tuple$<> >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\panicking.rs:557
  51:     0x7ff6d67612d3 - winit::platform_impl::windows::keyboard_layout::impl$11::default
  52:     0x7ff6d6758754 - std::panicking::try
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\panicking.rs:521
  53:     0x7ff6d6758754 - std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4>,tuple$<> >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\panic.rs:350
  54:     0x7ff6d6721d6f - winit::platform_impl::windows::event_loop::runner::EventLoopRunner<winit::platform_impl::windows::event_loop::UserEventPlaceholder>::catch_unwind<winit::platform_impl::windows::event_loop::UserEventPlaceholder,tuple$<>,winit::platform_impl::windows::event_
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop\runner.rs:173
  55:     0x7ff6d670adb9 - winit::platform_impl::windows::event_loop::public_window_callback_inner
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:2358
  56:     0x7ff6d670aabd - winit::platform_impl::windows::event_loop::public_window_callback
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:1019
  57:     0x7ffdda69ef5c - CallWindowProcW
  58:     0x7ffdda69e8cc - DispatchMessageW
  59:     0x7ffdda6b10c3 - SendMessageTimeoutW
  60:     0x7ffddb8313e4 - KiUserCallbackDispatcher
  61:     0x7ffdd8e41704 - NtUserDispatchMessage
  62:     0x7ffdda69e7b1 - DispatchMessageW
  63:     0x7ff6d643852b - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::dispatch_peeked_messages<tuple$<> >
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:478
  64:     0x7ff6d643804d - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::run_on_demand<tuple$<>,winit::event_loop::impl$6::run_app::closure_env$0<tuple$<>,screen_13_window::impl$0::run::Application<triangle::main::closure_env$0> > >
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:265
  65:     0x7ff6d6438ac6 - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::run<tuple$<>,winit::event_loop::impl$6::run_app::closure_env$0<tuple$<>,screen_13_window::impl$0::run::Application<triangle::main::closure_env$0> > >
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\platform_impl\windows\event_loop.rs:222
  66:     0x7ff6d642d152 - winit::event_loop::EventLoop<tuple$<> >::run_app<tuple$<>,screen_13_window::impl$0::run::Application<triangle::main::closure_env$0> >
                               at \.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.5\src\event_loop.rs:265
  67:     0x7ff6d643cda0 - screen_13_window::Window::run<triangle::main::closure_env$0>
                               at H:\dev\programming\rust\screen-13\issues\screen-13\contrib\screen-13-window\src\lib.rs:347
  68:     0x7ff6d6442f9c - triangle::main
                               at H:\dev\programming\rust\screen-13\issues\screen-13\examples\triangle.rs:79
  69:     0x7ff6d6424133 - core::ops::function::FnOnce::call_once<enum2$<core::result::Result<tuple$<>,enum2$<screen_13_window::WindowError> > > (*)(),tuple$<> >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\core\src\ops\function.rs:250
  70:     0x7ff6d6430eb6 - std::sys::backtrace::__rust_begin_short_backtrace<enum2$<core::result::Result<tuple$<>,enum2$<screen_13_window::WindowError> > > (*)(),enum2$<core::result::Result<tuple$<>,enum2$<screen_13_window::WindowError> > > >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\sys\backtrace.rs:152
  71:     0x7ff6d64414d6 - std::rt::lang_start::closure$0<enum2$<core::result::Result<tuple$<>,enum2$<screen_13_window::WindowError> > > >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\rt.rs:162
  72:     0x7ff6d69a8169 - std::rt::lang_start_internal::closure$2
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\rt.rs:141
  73:     0x7ff6d69a8169 - std::panicking::try::do_call
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panicking.rs:557
  74:     0x7ff6d69a8169 - std::panicking::try
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panicking.rs:521
  75:     0x7ff6d69a8169 - std::panic::catch_unwind
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\panic.rs:350
  76:     0x7ff6d69a8169 - std::rt::lang_start_internal
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f/library\std\src\rt.rs:141
  77:     0x7ff6d64414aa - std::rt::lang_start<enum2$<core::result::Result<tuple$<>,enum2$<screen_13_window::WindowError> > > >
                               at /rustc/08328a323ecd80b443a8fcc72c6b1071f48e233f\library\std\src\rt.rs:161
  78:     0x7ff6d6443119 - main
  79:     0x7ff6d69c8430 - invoke_main
                               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  80:     0x7ff6d69c8430 - __scrt_common_main_seh
                               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  81:     0x7ffddade7374 - BaseThreadInitThunk
  82:     0x7ffddb7dcc91 - RtlUserThreadStart
thread caused non-unwinding panic. aborting.