Skip to content

Panicing while surface texture acquired causes a panic while unwinding #8243

@RedRing2020

Description

@RedRing2020

Environment

  • OS: Windows 11 Pro (10.0.26100 Build 26100)
  • GPU: Radeon 880M, 2000 MHz, 10 cores, 20 logical processors
  • GPU Driver: 25.9.1
  • Chipset Driver: AMD Ryzen AI 9 365w (7.06.02.123)
  • Rust: rustc 1.75.0 (2025-09-10)
  • wgpu: 0.26.1
  • Backend: Vulkan

Description

I encountered a STATUS_STACK_BUFFER_OVERRUN crash when running a minimal wgpu app that holds a Surface<'static> created from a leaked Window. The code compiles and runs fine on other platforms, but crashes immediately on my Windows 11 laptop.

Reproduction

The app is split into main.rs, app.rs, and graphic.rs. The Window is created using Box::leak(Box::new(...)) and passed to App<'static>. The Surface is created once and held in Graphic<'static>. Vulkan backend is explicitly specified.

Even with this setup, the app crashes with exit code 0xc0000409.

Stack trace

(Attached below — captured using RUST_BACKTRACE=full)
thread 'main' panicked at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\backend\wgpu_core.rs:2391:18:
wgpu error: Validation Error

Caused by:
In a CommandEncoder
In a pass parameter
Depth slice was provided but the color attachment's view is not 3D

stack backtrace:
0: 0x7ff60def6122 - std::backtrace_rs::backtrace::win64::trace
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src....\backtrace\src\backtrace\win64.rs:85
1: 0x7ff60def6122 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src....\backtrace\src\backtrace\mod.rs:66
2: 0x7ff60def6122 - std::sys::backtrace::_print_fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:66
3: 0x7ff60def6122 - std::sys::backtrace::impl$0::print::impl$0::fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:39
4: 0x7ff60df0a2eb - core::fmt::rt::Argument::fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\fmt\rt.rs:173
5: 0x7ff60df0a2eb - core::fmt::write
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\fmt\mod.rs:1465
6: 0x7ff60def4037 - std::io::default_write_fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\io\mod.rs:639
7: 0x7ff60def4037 - std::io::Write::write_fmtstd::sys::stdio::windows::Stderr
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\io\mod.rs:1954
8: 0x7ff60def5f65 - std::sys::backtrace::BacktraceLock::print
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:42
9: 0x7ff60def7adf - std::panicking::default_hook::closure$0
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:300
10: 0x7ff60def7875 - std::panicking::default_hook
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:327
11: 0x7ff60def867d - std::panicking::rust_panic_with_hook
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:833
12: 0x7ff60def8429 - std::panicking::begin_panic_handler::closure$0
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:706
13: 0x7ff60def681f - std::sys::backtrace::rust_end_short_backtracestd::panicking::begin_panic_handler::closure_env$0,never$
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:168
14: 0x7ff60def803e - std::panicking::begin_panic_handler
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:697
15: 0x7ff60df13751 - core::panicking::panic_fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\panicking.rs:75
16: 0x7ff60d380856 - wgpu::backend::wgpu_core::default_error_handler
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\backend\wgpu_core.rs:659
17: 0x7ff60d380595 - wgpu::backend::wgpu_core::ErrorSinkRaw::handle_error
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\backend\wgpu_core.rs:643
18: 0x7ff60d37cfa7 - wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_inner
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\backend\wgpu_core.rs:298
19: 0x7ff60d37eee9 - wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_nolabel<enum2$<wgpu_core::command::CommandEncoderError> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\backend\wgpu_core.rs:323
20: 0x7ff60d38a723 - wgpu::backend::wgpu_core::impl$44::finish
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\backend\wgpu_core.rs:2391
21: 0x7ff60d3a0df3 - wgpu::api::command_encoder::CommandEncoder::finish
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\api\command_encoder.rs:56
22: 0x7ff60d3690e6 - redring::graphic::Graphic::render
at C:\Users\takat\OneDrive\ドキュメント\GitHub\RedRing\redring\src\graphic.rs:80
23: 0x7ff60d36d9c0 - redring::app::impl$1::window_event
at C:\Users\takat\OneDrive\ドキュメント\GitHub\RedRing\redring\src\app.rs:35
24: 0x7ff60d36b116 - winit::event_loop::dispatch_event_for_app
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\event_loop.rs:642
25: 0x7ff60d36b116 - winit::event_loop::impl$6::run_app::closure$0<tuple$<>,redring::app::App>
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\event_loop.rs:265
26: 0x7ff60d364c89 - 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$<>,redring::app::App> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:264
27: 0x7ff60decce78 - alloc::boxed::impl$29::call_mut<tuple$<enum2$<winit::event::Eventwinit::platform_impl::windows::event_loop::UserEventPlaceholder > >,dyn$<core::ops::function::FnMut<tuple$<enum2$<winit::event::Event<winit::platform_impl::windows::event_loop::UserEventPla
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\boxed.rs:1973
28: 0x7ff60deb03ec - winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure$0winit::platform_impl::windows::event_loop::UserEventPlaceholder
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop\runner.rs:236
29: 0x7ff60decafd4 - core::panic::unwind_safe::impl$25::call_once<tuple$<>,winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure_env$0winit::platform_impl::windows::event_loop::UserEventPlaceholder >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\panic\unwind_safe.rs:272
30: 0x7ff60debd76c - std::panicking::catch_unwind::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure_env$0winit::platform_impl::windows::event_loop::UserEventPlaceholder >,tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:589
31: 0x7ff60dea5ad3 - winit::window::impl$79::clone
32: 0x7ff60dea374a - std::panicking::catch_unwind
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:552
33: 0x7ff60dea374a - std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::windows::event_loop::runner::impl$3::call_event_handler::closure_env$0winit::platform_impl::windows::event_loop::UserEventPlaceholder >,tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:359
34: 0x7ff60deaeeef - winit::platform_impl::windows::event_loop::runner::EventLoopRunnerwinit::platform_impl::windows::event_loop::UserEventPlaceholder::catch_unwind<winit::platform_impl::windows::event_loop::UserEventPlaceholder,tuple$<>,winit::platform_impl::windows::event

at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop\runner.rs:173
35: 0x7ff60deb02eb - winit::platform_impl::windows::event_loop::runner::EventLoopRunnerwinit::platform_impl::windows::event_loop::UserEventPlaceholder::call_event_handlerwinit::platform_impl::windows::event_loop::UserEventPlaceholder
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop\runner.rs:230
36: 0x7ff60deb0143 - winit::platform_impl::windows::event_loop::runner::EventLoopRunnerwinit::platform_impl::windows::event_loop::UserEventPlaceholder::send_eventwinit::platform_impl::windows::event_loop::UserEventPlaceholder
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop\runner.rs:210
37: 0x7ff60de7a3d3 - winit::platform_impl::windows::event_loop::WindowData::send_event
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:129
38: 0x7ff60de7f67a - winit::platform_impl::windows::event_loop::public_window_callback_inner::closure$4
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:1282
39: 0x7ff60de93cc7 - core::ops::function::FnOnce::call_once<winit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4,tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:250
40: 0x7ff60decb031 - core::panic::unwind_safe::impl$25::call_once<tuple$<>,winit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4>
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\panic\unwind_safe.rs:272
41: 0x7ff60debd850 - std::panicking::catch_unwind::do_call<core::panic::unwind_safe::AssertUnwindSafewinit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4,tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:589
42: 0x7ff60dea5ad3 - winit::window::impl$79::clone
43: 0x7ff60dea39b4 - std::panicking::catch_unwind
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:552
44: 0x7ff60dea39b4 - std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafewinit::platform_impl::windows::event_loop::public_window_callback_inner::closure_env$4,tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:359
45: 0x7ff60deafddf - winit::platform_impl::windows::event_loop::runner::EventLoopRunnerwinit::platform_impl::windows::event_loop::UserEventPlaceholder::catch_unwind<winit::platform_impl::windows::event_loop::UserEventPlaceholder,tuple$<>,winit::platform_impl::windows::event

at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop\runner.rs:173
46: 0x7ff60de7d89e - winit::platform_impl::windows::event_loop::public_window_callback_inner
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:2464
47: 0x7ff60de7d5d9 - winit::platform_impl::windows::event_loop::public_window_callback
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:1098
48: 0x7ff8abde7cf6 - CallWindowProcW
49: 0x7ff8abde757c - SendMessageW
50: 0x7ff8abe18563 - GetWindowDpiAwarenessContext
51: 0x7ff8ad567254 - KiUserCallbackDispatcher
52: 0x7ff8aa5918c4 - NtUserDispatchMessage
53: 0x7ff8abde59b8 - IsWindowUnicode
54: 0x7ff60d364ffd - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::dispatch_peeked_messages<tuple$<> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:419
55: 0x7ff60d364a5a - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::run_on_demand<tuple$<>,winit::event_loop::impl$6::run_app::closure_env$0<tuple$<>,redring::app::App> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:277
56: 0x7ff60d3654d6 - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::run<tuple$<>,winit::event_loop::impl$6::run_app::closure_env$0<tuple$<>,redring::app::App> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:233
57: 0x7ff60d36b002 - winit::event_loop::EventLoop<tuple$<> >::run_app<tuple$<>,redring::app::App>
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\event_loop.rs:265
58: 0x7ff60d36b8c9 - redring::main
at C:\Users\takat\OneDrive\ドキュメント\GitHub\RedRing\redring\src\main.rs:16
59: 0x7ff60d36366b - core::ops::function::FnOnce::call_once<void ()(),tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:250
60: 0x7ff60d3685ae - core::hint::black_box
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\hint.rs:482
61: 0x7ff60d3685ae - std::sys::backtrace::__rust_begin_short_backtrace<void (
)(),tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\backtrace.rs:152
62: 0x7ff60d361901 - std::rt::lang_start::closure$0<tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:206
63: 0x7ff60deef7b5 - std::rt::lang_start_internal::closure$0
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\rt.rs:175
64: 0x7ff60deef7b5 - std::panicking::catch_unwind::do_call
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:589
65: 0x7ff60deef7b5 - std::panicking::catch_unwind
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:552
66: 0x7ff60deef7b5 - std::panic::catch_unwind
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panic.rs:359
67: 0x7ff60deef7b5 - std::rt::lang_start_internal
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\rt.rs:171
68: 0x7ff60d3618ea - std::rt::lang_start<tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:205
69: 0x7ff60d36b9b9 - main
70: 0x7ff60df11960 - invoke_main
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
71: 0x7ff60df11960 - __scrt_common_main_seh
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
72: 0x7ff8ac1ce8d7 - BaseThreadInitThunk
73: 0x7ff8ad408d9c - RtlUserThreadStart

thread 'main' panicked at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-hal-26.0.4\src\vulkan\instance.rs:192:58:
Trying to destroy a SurfaceAcquireSemaphores that is still in use by a SurfaceTexture
stack backtrace:
0: 0x7ff60def6122 - std::backtrace_rs::backtrace::win64::trace
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src....\backtrace\src\backtrace\win64.rs:85
1: 0x7ff60def6122 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src....\backtrace\src\backtrace\mod.rs:66
2: 0x7ff60def6122 - std::sys::backtrace::_print_fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:66
3: 0x7ff60def6122 - std::sys::backtrace::impl$0::print::impl$0::fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:39
4: 0x7ff60df0a2eb - core::fmt::rt::Argument::fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\fmt\rt.rs:173
5: 0x7ff60df0a2eb - core::fmt::write
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\fmt\mod.rs:1465
6: 0x7ff60def4037 - std::io::default_write_fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\io\mod.rs:639
7: 0x7ff60def4037 - std::io::Write::write_fmtstd::sys::stdio::windows::Stderr
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\io\mod.rs:1954
8: 0x7ff60def5f65 - std::sys::backtrace::BacktraceLock::print
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:42
9: 0x7ff60def7adf - std::panicking::default_hook::closure$0
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:300
10: 0x7ff60def7875 - std::panicking::default_hook
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:327
11: 0x7ff60def867d - std::panicking::rust_panic_with_hook
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:833
12: 0x7ff60def8429 - std::panicking::begin_panic_handler::closure$0
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:706
13: 0x7ff60def681f - std::sys::backtrace::__rust_end_short_backtracestd::panicking::begin_panic_handler::closure_env$0,never$
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\sys\backtrace.rs:168
14: 0x7ff60def803e - std::panicking::begin_panic_handler
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:697
15: 0x7ff60df13751 - core::panicking::panic_fmt
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\panicking.rs:75
16: 0x7ff60df1372c - core::panicking::panic_display
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\panicking.rs:268
17: 0x7ff60df1372c - core::option::expect_failed
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\core\src\option.rs:2081
18: 0x7ff60d6d4dc4 - enum2$<core::option::Option<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,wgpu_hal::vulkan::SwapchainAcquireSemaphore> > >::expect<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,wgpu_hal::vulkan::SwapchainAcquireSemaphore> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\option.rs:960
19: 0x7ff60d87f790 - wgpu_hal::vulkan::Swapchain::release_resources
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-hal-26.0.4\src\vulkan\instance.rs:192
20: 0x7ff60d883c50 - wgpu_hal::vulkan::instance::impl$7::unconfigure
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-hal-26.0.4\src\vulkan\instance.rs:1055
21: 0x7ff60d41f3b9 - wgpu_hal::dynamic::surface::impl$0::unconfigure<wgpu_hal::vulkan::Surface>
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-hal-26.0.4\src\dynamic\surface.rs:50
22: 0x7ff60d623d3b - wgpu_core::instance::impl$5::drop
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-core-26.0.1\src\instance.rs:619
23: 0x7ff60d40ad6f - core::ptr::drop_in_place<wgpu_core::instance::Surface>
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
24: 0x7ff60d5dfec8 - alloc::sync::Arc<wgpu_core::instance::Surface,alloc::alloc::Global>::drop_slow<wgpu_core::instance::Surface,alloc::alloc::Global>
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:1943
25: 0x7ff60d5e44e5 - alloc::sync::impl$38::drop<wgpu_core::instance::Surface,alloc::alloc::Global>
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:2686
26: 0x7ff60d412ace - core::ptr::drop_in_place<alloc::sync::Arc<wgpu_core::instance::Surface,alloc::alloc::Global> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
27: 0x7ff60d57b1bf - wgpu_core::global::Global::surface_drop
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-core-26.0.1\src\instance.rs:1013
28: 0x7ff60d38c244 - wgpu::backend::wgpu_core::impl$55::drop
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\wgpu-26.0.1\src\backend\wgpu_core.rs:3583
29: 0x7ff60d378d8f - core::ptr::drop_in_placewgpu::backend::wgpu_core::CoreSurface
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
30: 0x7ff60d38e158 - alloc::sync::Arcwgpu::backend::wgpu_core::CoreSurface,alloc::alloc::Global::drop_slowwgpu::backend::wgpu_core::CoreSurface,alloc::alloc::Global
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:1943
31: 0x7ff60d38e855 - alloc::sync::impl$38::dropwgpu::backend::wgpu_core::CoreSurface,alloc::alloc::Global
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:2686
32: 0x7ff60d37a73e - core::ptr::drop_in_place<alloc::sync::Arcwgpu::backend::wgpu_core::CoreSurface,alloc::alloc::Global >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
33: 0x7ff60d378728 - core::ptr::drop_in_place<enum2$wgpu::dispatch::DispatchSurface >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
34: 0x7ff60d363bdf - core::ptr::drop_in_placewgpu::api::surface::Surface
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
35: 0x7ff60d363acf - core::ptr::drop_in_placeredring::graphic::Graphic
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
36: 0x7ff60d3639e2 - core::ptr::drop_in_placeredring::app::App
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:799
37: 0x7ff60d36b98d - redring::main
at C:\Users\takat\OneDrive\ドキュメント\GitHub\RedRing\redring\src\main.rs:17
38: 0x7ff8a4ce0430 - _CxxFrameHandler3
39: 0x7ff8a4cd3acd - is_exception_typeof
40: 0x7ff8a4cdf8b8 - _C_specific_handler
41: 0x7ff8a4cd2cd4 - is_exception_typeof
42: 0x7ff8a4ce0241 - _CxxFrameHandler3
43: 0x7ff8ad5679ef - _chkstk
44: 0x7ff8ad4773e2 - RtlUnwindEx
45: 0x7ff8a4cdfdae - _C_specific_handler
46: 0x7ff8a4cd18f2 - is_exception_typeof
47: 0x7ff8a4cd1d34 - is_exception_typeof
48: 0x7ff8a4cd2dc3 - is_exception_typeof
49: 0x7ff8a4ce0241 - _CxxFrameHandler3
50: 0x7ff8ad56796f - _chkstk
51: 0x7ff8ad476397 - RtlWow64GetCurrentCpuArea
52: 0x7ff8ad475226 - RtlRaiseException
53: 0x7ff8aa7166ca - RaiseException
54: 0x7ff8a4cd52c7 - CxxThrowException
55: 0x7ff60defc170 - panic_unwind::imp::panic
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\panic_unwind\src\seh.rs:355
56: 0x7ff60defc170 - panic_unwind::__rust_start_panic
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\panic_unwind\src\lib.rs:103
57: 0x7ff60def89a5 - std::panicking::rust_panic
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:894
58: 0x7ff60def88e0 - std::panicking::rust_panic_without_hook
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:885
59: 0x7ff60def44df - std::panic::resume_unwind
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panic.rs:391
60: 0x7ff60d3650a8 - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::dispatch_peeked_messages<tuple$<> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:425
61: 0x7ff60d364a5a - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::run_on_demand<tuple$<>,winit::event_loop::impl$6::run_app::closure_env$0<tuple$<>,redring::app::App> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:277
62: 0x7ff60d3654d6 - winit::platform_impl::windows::event_loop::EventLoop<tuple$<> >::run<tuple$<>,winit::event_loop::impl$6::run_app::closure_env$0<tuple$<>,redring::app::App> >
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\platform_impl\windows\event_loop.rs:233
63: 0x7ff60d36b002 - winit::event_loop::EventLoop<tuple$<> >::run_app<tuple$<>,redring::app::App>
at C:\Users\takat.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\winit-0.30.12\src\event_loop.rs:265
64: 0x7ff60d36b8c9 - redring::main
at C:\Users\takat\OneDrive\ドキュメント\GitHub\RedRing\redring\src\main.rs:16
65: 0x7ff60d36366b - core::ops::function::FnOnce::call_once<void ()(),tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:250
66: 0x7ff60d3685ae - core::hint::black_box
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\hint.rs:482
67: 0x7ff60d3685ae - std::sys::backtrace::__rust_begin_short_backtrace<void (
)(),tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys\backtrace.rs:152
68: 0x7ff60d361901 - std::rt::lang_start::closure$0<tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:206
69: 0x7ff60deef7b5 - std::rt::lang_start_internal::closure$0
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\rt.rs:175
70: 0x7ff60deef7b5 - std::panicking::catch_unwind::do_call
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:589
71: 0x7ff60deef7b5 - std::panicking::catch_unwind
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panicking.rs:552
72: 0x7ff60deef7b5 - std::panic::catch_unwind
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\panic.rs:359
73: 0x7ff60deef7b5 - std::rt::lang_start_internal
at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library\std\src\rt.rs:171
74: 0x7ff60d3618ea - std::rt::lang_start<tuple$<> >
at C:\Users\takat.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:205
75: 0x7ff60d36b9b9 - main
76: 0x7ff60df11960 - invoke_main
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
77: 0x7ff60df11960 - __scrt_common_main_seh
at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
78: 0x7ff8ac1ce8d7 - BaseThreadInitThunk
79: 0x7ff8ad408d9c - RtlUserThreadStart
error: process didn't exit successfully: target\debug\redring.exe (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)

##🔧 Minimal Reproduction Code

use wgpu::Instance;
use winit::{
event_loop::EventLoop,
window::WindowBuilder,
};

fn main() {
let event_loop = EventLoop::new();
let window = Box::leak(Box::new(
WindowBuilder::new()
.with_title("Crash Example")
.build(&event_loop)
.unwrap(),
));

let instance = Instance::default();

let surface = unsafe {
    instance.create_surface(window).unwrap()
};

let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions {
    power_preference: wgpu::PowerPreference::HighPerformance,
    compatible_surface: Some(&surface),
    force_fallback_adapter: false,
}))
.unwrap(); // ← Crashes here with STATUS_STACK_BUFFER_OVERRUN

println!("Adapter: {:?}", adapter.name());

}

Notes

  • The crash also occurs with the DirectX backend
  • Updating drivers and switching to Vulkan did not help
  • This may be related to drop order or internal HWND handling

Any insights or suggestions would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions