I'm getting a multitude of errors when running the minimal-winit example with gdb, with the latest version of pixels. I'm not sure whether this is actually the fault of pixels, or one of its dependencies.
I'm running Windows 10, and I've tried running both MINGW's version of gdb on the minimal-winit.exe binary, as well as debugging via VS Code using cppvsdbg.
warning: D3D12 WARNING: ID3D12Device::CreateConstantBufferView: Resource 0x000001BA43D327C0:'Unnamed ID3D12Resource Object' and 1 other resources contain the GPU Virtual Address range [0x0000000076460000, 0x00000000764600ff] on a Heap (0x000001BA43D2F7B0:'Unnamed ID3D12Heap Object'). This may be OK as long as all of these resources are in the same state however developer probably did not intend to make use of this behavior. [ STATE_CREATION WARNING #926: HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS]
D3D12 ERROR: ID3D12GraphicsCommandList::Reset: Reset fails because the command list was not closed. [ EXECUTION ERROR #544: COMMAND_LIST_OPEN]
D3D12 ERROR: ID3D12CommandAllocator::Reset: The command allocator cannot be reset because a command list is currently being recorded with the allocator. [ EXECUTION ERROR #543: COMMAND_ALLOCATOR_CANNOT_RESET]
Exception thrown at 0x00007FFDB45FA799 in minimal-winit.exe: Microsoft C++ exception: _com_error at memory location 0x00000067B6CEEE88.
When checking the option to break on exceptions, the program stops at a location with the following call stack:
KernelBase.dll!00007ffdb45fa799() (Unknown Source:0)
ucrtbase.dll!00007ffdb54fb6fd() (Unknown Source:0)
D3D12.dll!00007ffd74875c0c() (Unknown Source:0)
minimal-winit.exe!winapi::um::d3d12::ID3D12CommandAllocator::Reset() Line 217 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.9\src\macros.rs:217)
minimal-winit.exe!gfx_backend_dx12::command::{{impl}}::begin(gfx_backend_dx12::command::CommandBuffer * self, gfx_hal::command::CommandBufferFlags _flags, gfx_hal::command::CommandBufferInheritanceInfo<gfx_backend_dx12::Backend>) Line 1165 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\gfx-backend-dx12-0.5.8\src\command.rs:1165)
minimal-winit.exe!gfx_hal::command::CommandBuffer::begin_primary<gfx_backend_dx12::command::CommandBuffer,gfx_backend_dx12::Backend>(gfx_backend_dx12::command::CommandBuffer * self, gfx_hal::command::CommandBufferFlags flags) Line 123 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\gfx-hal-0.5.3\src\command\mod.rs:123)
minimal-winit.exe!wgpu_core::hub::Global<wgpu_core::hub::IdentityManagerFactory>::device_create_command_encoder<wgpu_core::hub::IdentityManagerFactory,gfx_backend_dx12::Backend>(wgpu_core::id::Id<wgpu_core::device::Device<gfx_backend_empty::Backend>> self, wgpu_types::CommandEncoderDescriptor * device_id, core::marker::PhantomData<wgpu_core::id::Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>>> desc) Line 1356 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-core-0.5.6\src\device\mod.rs:1356)
minimal-winit.exe!wgpu_native::device::wgpu_device_create_command_encoder(wgpu_core::id::Id<wgpu_core::device::Device<gfx_backend_empty::Backend>> device_id, core::option::Option<wgpu_types::CommandEncoderDescriptor*> desc) Line 302 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-native-0.5.1\src\device.rs:302)
minimal-winit.exe!wgpu::Device::create_command_encoder(wgpu::CommandEncoderDescriptor * self) Line 702 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-0.5.2\src\lib.rs:702)
minimal-winit.exe!pixels::Pixels::render_with<closure-0>(pixels::{{impl}}::render::closure-0 self) Line 283 (d:\Dropbox\Programming\rust\pixelsnew2\src\lib.rs:283)
minimal-winit.exe!pixels::Pixels::render() Line 235 (d:\Dropbox\Programming\rust\pixelsnew2\src\lib.rs:235)
minimal-winit.exe!minimal_winit::main::{{closure}}(minimal_winit::main::closure-0 * event, winit::event::Event<()>, winit::event_loop::EventLoopWindowTarget<()> * control_flow, winit::event_loop::ControlFlow *) Line 50 (d:\Dropbox\Programming\rust\pixelsnew2\examples\minimal-winit\src\main.rs:50)
minimal-winit.exe!winit::platform_impl::platform::event_loop::{{impl}}::run_return::{{closure}}<(),closure-0>(winit::platform_impl::platform::event_loop::{{impl}}::run_return::closure-0 * event, winit::event::Event<()> control_flow, winit::event_loop::ControlFlow *) Line 201 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:201)
minimal-winit.exe!alloc::boxed::{{impl}}::call_mut<(winit::event::Event<()>, mut winit::event_loop::ControlFlow*),FnMut<(winit::event::Event<()>, mut winit::event_loop::ControlFlow*)>>(core::ops::function::Box<FnMut<(winit::event::Event<()>, mut winit::event_loop::ControlFlow*)>> * self, winit::event::Event<()> args, winit::event_loop::ControlFlow *) Line 1023 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\liballoc\boxed.rs:1023)
minimal-winit.exe!winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::{{closure}}<()>(winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::closure-0) Line 239 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:239)
minimal-winit.exe!std::panic::{{impl}}::call_once<(),closure-0>(std::panic::AssertUnwindSafe<closure-0> self) Line 319 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panic.rs:319)
minimal-winit.exe!std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,()>(unsigned char * data) Line 307 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:307)
minimal-winit.exe!panic_unwind::__rust_maybe_catch_panic() Line 86 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libpanic_unwind\lib.rs:86)
minimal-winit.exe!std::panicking::try<(),std::panic::AssertUnwindSafe<closure-0>>(std::panic::AssertUnwindSafe<closure-0> f) Line 281 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:281)
minimal-winit.exe!std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,()>(std::panic::AssertUnwindSafe<closure-0> f) Line 394 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panic.rs:394)
minimal-winit.exe!winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::catch_unwind<(),(),closure-0>(winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::closure-0 self) Line 150 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:150)
minimal-winit.exe!winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::call_event_handler<()>(winit::event::Event<()> self) Line 247 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:247)
minimal-winit.exe!winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::send_event<()>(winit::event::Event<()> self) Line 208 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:208)
minimal-winit.exe!winit::platform_impl::platform::event_loop::SubclassInput<()>::send_event<()>(winit::event::Event<()> self) Line 90 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:90)
minimal-winit.exe!winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<()>(winit::platform_impl::platform::event_loop::public_window_callback::closure-0 *) Line 820 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:820)
minimal-winit.exe!core::ops::function::FnOnce::call_once<closure-0,()>(winit::platform_impl::platform::event_loop::public_window_callback::closure-0) Line 232 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libcore\ops\function.rs:232)
minimal-winit.exe!std::panic::{{impl}}::call_once<isize,closure-0>(std::panic::AssertUnwindSafe<closure-0> self) Line 318 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panic.rs:318)
minimal-winit.exe!std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>(unsigned char * data) Line 305 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:305)
minimal-winit.exe!panic_unwind::__rust_maybe_catch_panic() Line 86 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libpanic_unwind\lib.rs:86)
minimal-winit.exe!std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>(std::panic::AssertUnwindSafe<closure-0> f) Line 281 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:281)
minimal-winit.exe!std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>(std::panic::AssertUnwindSafe<closure-0> f) Line 395 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panic.rs:395)
minimal-winit.exe!winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::catch_unwind<(),isize,closure-0>(winit::platform_impl::platform::event_loop::public_window_callback::closure-0 self) Line 150 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:150)
minimal-winit.exe!winit::platform_impl::platform::event_loop::public_window_callback<()>(winapi::shared::windef::HWND__ * window, unsigned int msg, unsigned __int64 wparam, __int64 lparam, unsigned __int64, unsigned __int64 subclass_input_ptr) Line 1893 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:1893)
comctl32.dll!00007ffdae0eb762() (Unknown Source:0)
comctl32.dll!00007ffdae0eb625() (Unknown Source:0)
user32.dll!00007ffdb5f55c1d() (Unknown Source:0)
user32.dll!00007ffdb5f557ec() (Unknown Source:0)
user32.dll!00007ffdb5f61f83() (Unknown Source:0)
ntdll.dll!00007ffdb76bfde4() (Unknown Source:0)
win32u.dll!00007ffdb56a1764() (Unknown Source:0)
user32.dll!00007ffdb5f556fc() (Unknown Source:0)
minimal-winit.exe!winit::platform_impl::platform::event_loop::flush_paint_messages::{{closure}}<()>(winit::platform_impl::platform::event_loop::flush_paint_messages::closure-0 * redraw_window, winapi::shared::windef::HWND__ *) Line 682 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:682)
minimal-winit.exe!winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::owned_windows<(),closure-0>(winit::platform_impl::platform::event_loop::flush_paint_messages::closure-0 self) Line 188 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:188)
minimal-winit.exe!winit::platform_impl::platform::event_loop::flush_paint_messages<()>(core::option::Option<mut winapi::shared::windef::HWND__*> except, winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()> * runner) Line 683 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:683)
minimal-winit.exe!winit::platform_impl::platform::event_loop::thread_event_target_callback::{{closure}}<()>(winit::platform_impl::platform::event_loop::thread_event_target_callback::closure-0) Line 1938 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:1938)
minimal-winit.exe!std::panic::{{impl}}::call_once<isize,closure-0>(std::panic::AssertUnwindSafe<closure-0> self) Line 318 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panic.rs:318)
minimal-winit.exe!std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>(unsigned char * data) Line 305 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:305)
minimal-winit.exe!panic_unwind::__rust_maybe_catch_panic() Line 86 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libpanic_unwind\lib.rs:86)
minimal-winit.exe!std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>(std::panic::AssertUnwindSafe<closure-0> f) Line 281 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:281)
minimal-winit.exe!std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>(std::panic::AssertUnwindSafe<closure-0> f) Line 395 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panic.rs:395)
minimal-winit.exe!winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::catch_unwind<(),isize,closure-0>(winit::platform_impl::platform::event_loop::thread_event_target_callback::closure-0 self) Line 150 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:150)
minimal-winit.exe!winit::platform_impl::platform::event_loop::thread_event_target_callback<()>(winapi::shared::windef::HWND__ * window, unsigned int msg, unsigned __int64 wparam, __int64 lparam, unsigned __int64, unsigned __int64 subclass_input_ptr) Line 2120 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:2120)
comctl32.dll!00007ffdae0eb762() (Unknown Source:0)
comctl32.dll!00007ffdae0eb625() (Unknown Source:0)
user32.dll!00007ffdb5f55c1d() (Unknown Source:0)
user32.dll!00007ffdb5f557ec() (Unknown Source:0)
user32.dll!00007ffdb5f61f83() (Unknown Source:0)
ntdll.dll!00007ffdb76bfde4() (Unknown Source:0)
win32u.dll!00007ffdb56a1764() (Unknown Source:0)
user32.dll!00007ffdb5f556fc() (Unknown Source:0)
minimal-winit.exe!winit::platform_impl::platform::event_loop::EventLoop<()>::run_return<(),closure-0>(minimal_winit::main::closure-0 self) Line 217 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:217)
minimal-winit.exe!winit::platform_impl::platform::event_loop::EventLoop<()>::run<(),closure-0>(winit::platform_impl::platform::event_loop::EventLoop<()> self, minimal_winit::main::closure-0 event_handler) Line 185 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:185)
minimal-winit.exe!winit::event_loop::EventLoop<()>::run<(),closure-0>(winit::event_loop::EventLoop<()> self, minimal_winit::main::closure-0 event_handler) Line 149 (c:\Users\drandreasdr\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\event_loop.rs:149)
minimal-winit.exe!minimal_winit::main() Line 46 (d:\Dropbox\Programming\rust\pixelsnew2\examples\minimal-winit\src\main.rs:46)
minimal-winit.exe!std::rt::lang_start::{{closure}}<core::result::Result<(), pixels::Error>>(std::rt::lang_start::closure-0 *) Line 67 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\rt.rs:67)
[Inline Frame] minimal-winit.exe!std::rt::lang_start_internal::{{closure}}() Line 52 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\rt.rs:52)
minimal-winit.exe!std::panicking::try::do_call<closure-0,i32>() Line 305 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:305)
minimal-winit.exe!panic_unwind::__rust_maybe_catch_panic() Line 86 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libpanic_unwind\lib.rs:86)
[Inline Frame] minimal-winit.exe!std::panicking::try() Line 281 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panicking.rs:281)
[Inline Frame] minimal-winit.exe!std::panic::catch_unwind() Line 394 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\panic.rs:394)
minimal-winit.exe!std::rt::lang_start_internal() Line 51 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\rt.rs:51)
minimal-winit.exe!std::rt::lang_start<core::result::Result<(), pixels::Error>>(core::result::Result<(), pixels::Error>(*)() main, __int64 argc, unsigned char * * argv) Line 67 (d:\rustc\b8cedc00407a4c56a3bda1ed605c6fc166655447\src\libstd\rt.rs:67)
minimal-winit.exe!main๏ฟฝ() (Unknown Source:0)
[Inline Frame] minimal-winit.exe!invoke_main() Line 78 (d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78)
minimal-winit.exe!__scrt_common_main_seh() Line 288 (d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
kernel32.dll!00007ffdb6677bd4() (Unknown Source:0)
ntdll.dll!00007ffdb768ce51() (Unknown Source:0)