-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Decreasing window height to 0 causes crash #170
Copy link
Copy link
Closed
Labels
A-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorO-WindowsSpecific to the Windows desktop operating systemSpecific to the Windows desktop operating systemP-CrashA sudden unexpected crashA sudden unexpected crashS-DuplicateThis issue or PR already existsThis issue or PR already exists
Description
I ran the sprite example from master branch (a7f1889) on Windows 10.
Resizing the window to minimum height crashed the example:
❯ RUST_BACKTRACE=1 cargo run --example sprite
Finished dev [unoptimized + debuginfo] target(s) in 0.23s
Running `target\debug\examples\sprite.exe`
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `Extent { width: 1004, height: 1, depth: 1 }`,
right: `Extent { width: 1004, height: 0, depth: 1 }`: Extent state must match extent from view', C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/src/rust\src\libstd\macros.rs:16:9
stack backtrace:
0: backtrace::backtrace::trace_unsynchronized
at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace\mod.rs:66
1: std::sys_common::backtrace::_print_fmt
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\sys_common\backtrace.rs:78
2: std::sys_common::backtrace::_print::{{impl}}::fmt
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\sys_common\backtrace.rs:59
3: core::fmt::write
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libcore\fmt\mod.rs:1076
4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\io\mod.rs:1537
5: std::sys_common::backtrace::_print
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\sys_common\backtrace.rs:62
6: std::sys_common::backtrace::print
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\sys_common\backtrace.rs:49
7: std::panicking::default_hook::{{closure}}
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\panicking.rs:198
8: std::panicking::default_hook
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\panicking.rs:218
9: std::panicking::rust_panic_with_hook
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\panicking.rs:486
10: std::panicking::begin_panic_handler
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\panicking.rs:388
11: std::panicking::begin_panic_fmt
at /rustc/d3fb005a39e62501b8b0b356166e515ae24e2e54\/src\libstd\panicking.rs:342
12: cart_tmp_wgc::hub::Global<cart_tmp_wgc::hub::IdentityManagerFactory>::command_encoder_run_render_pass_impl<cart_tmp_wgc::hub::IdentityManagerFactory,gfx_backend_vulkan::Backend>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\macros.rs:16
13: cart_tmp_wgc::hub::Global<cart_tmp_wgc::hub::IdentityManagerFactory>::command_encoder_run_render_pass<cart_tmp_wgc::hub::IdentityManagerFactory,gfx_backend_vulkan::Backend>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-wgc-0.1.0\src\command\render.rs:350
14: cart_tmp_wgpu::backend::direct::{{impl}}::command_encoder_end_render_pass
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-wgpu-0.1.0\src\backend\direct.rs:1001
15: cart_tmp_wgpu::{{impl}}::drop
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-wgpu-0.1.0\src\lib.rs:2020
16: core::ptr::drop_in_place<cart_tmp_wgpu::RenderPass>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\ptr\mod.rs:184
17: core::ptr::drop_in_place<bevy_wgpu::wgpu_render_pass::WgpuRenderPass>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\ptr\mod.rs:184
18: bevy_wgpu::renderer::wgpu_render_context::{{impl}}::begin_pass
at .\crates\bevy_wgpu\src\renderer\wgpu_render_context.rs:151
19: bevy_render::render_graph::nodes::pass_node::{{impl}}::update<bevy_render::render_graph::base::MainPass*>
at .\crates\bevy_render\src\render_graph\nodes\pass_node.rs:169
20: bevy_wgpu::renderer::wgpu_render_graph_executor::WgpuRenderGraphExecutor::execute
at .\crates\bevy_wgpu\src\renderer\wgpu_render_graph_executor.rs:73
21: bevy_wgpu::wgpu_renderer::WgpuRenderer::run_graph
at .\crates\bevy_wgpu\src\wgpu_renderer.rs:89
22: bevy_wgpu::wgpu_renderer::WgpuRenderer::update
at .\crates\bevy_wgpu\src\wgpu_renderer.rs:100
23: bevy_wgpu::wgpu_render_system::{{closure}}
at .\crates\bevy_wgpu\src\lib.rs:40
24: bevy_ecs::system::into_system::{{impl}}::run<closure-0>
at .\crates\bevy_ecs\src\system\into_system.rs:339
25: bevy_ecs::system::into_system::{{impl}}::thread_local_system::{{closure}}<closure-0>
at .\crates\bevy_ecs\src\system\into_system.rs:315
26: bevy_ecs::system::into_system::{{impl}}::run_thread_local<(),closure-1,closure-0,closure-2,closure-3>
at .\crates\bevy_ecs\src\system\into_system.rs:65
27: bevy_ecs::schedule::parallel_executor::ExecutorStage::run
at .\crates\bevy_ecs\src\schedule\parallel_executor.rs:341
28: bevy_ecs::schedule::parallel_executor::ParallelExecutor::run
at .\crates\bevy_ecs\src\schedule\parallel_executor.rs:59
29: bevy_app::app::App::update
at .\crates\bevy_app\src\app.rs:60
30: bevy_winit::winit_runner::{{closure}}
at .\crates\bevy_winit\src\lib.rs:140
31: cart_tmp_winit::platform_impl::platform::event_loop::{{impl}}::run_return::{{closure}}<(),closure-0>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop.rs:202
32: alloc::boxed::{{impl}}::call_mut<(cart_tmp_winit::event::Event<()>, mut cart_tmp_winit::event_loop::ControlFlow*),FnMut<(cart_tmp_winit::event::Event<()>, mut cart_tmp_winit::event_loop::ControlFlow*)>>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\liballoc\boxed.rs:1083
33: cart_tmp_winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::{{closure}}<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:245
34: std::panic::{{impl}}::call_once<(),closure-0>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panic.rs:318
35: std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,()>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panicking.rs:297
36: cart_tmp_winit::window::{{impl}}::clone
37: std::panicking::try<(),std::panic::AssertUnwindSafe<closure-0>>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panicking.rs:274
38: std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,()>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panic.rs:394
39: cart_tmp_winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::catch_unwind<(),(),closure-0>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:152
40: cart_tmp_winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::call_event_handler<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:239
41: cart_tmp_winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::move_state_to<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:341
42: cart_tmp_winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::main_events_cleared<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:227
43: cart_tmp_winit::platform_impl::platform::event_loop::flush_paint_messages<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop.rs:674
44: cart_tmp_winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop.rs:829
45: core::ops::function::FnOnce::call_once<closure-0,()>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\ops\function.rs:232
46: std::panic::{{impl}}::call_once<isize,closure-0>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panic.rs:318
47: std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panicking.rs:297
48: std::panicking::try::do_catch<std::panic::AssertUnwindSafe<closure-0>,isize>
49: std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panicking.rs:274
50: std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panic.rs:394
51: cart_tmp_winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::catch_unwind<(),isize,closure-0>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:152
52: cart_tmp_winit::platform_impl::platform::event_loop::public_window_callback<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop.rs:1904
53: DefSubclassProc
54: DefSubclassProc
55: CallWindowProcW
56: CallWindowProcW
57: glPushClientAttrib
58: CallWindowProcW
59: DispatchMessageW
60: IsWindowVisible
61: KiUserCallbackDispatcher
62: NtUserMessageCall
63: GetWindowTextW
64: MapWindowPoints
65: IsCompositionActive
66: Ordinal96
67: IsCompositionActive
68: IsCompositionActive
69: GetWindowTextW
70: cart_tmp_winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop.rs:982
71: core::ops::function::FnOnce::call_once<closure-0,()>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\ops\function.rs:232
72: std::panic::{{impl}}::call_once<isize,closure-0>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panic.rs:318
73: std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panicking.rs:297
74: std::panicking::try::do_catch<std::panic::AssertUnwindSafe<closure-0>,isize>
75: std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panicking.rs:274
76: std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\XBagon\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\panic.rs:394
77: cart_tmp_winit::platform_impl::platform::event_loop::runner::EventLoopRunner<()>::catch_unwind<(),isize,closure-0>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:152
78: cart_tmp_winit::platform_impl::platform::event_loop::public_window_callback<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop.rs:1904
79: DefSubclassProc
80: DefSubclassProc
81: CallWindowProcW
82: CallWindowProcW
83: glPushClientAttrib
84: CallWindowProcW
85: DispatchMessageW
86: IsWindowVisible
87: KiUserCallbackDispatcher
88: NtUserMessageCall
89: GetWindowTextW
90: MapWindowPoints
91: IsCompositionActive
92: Ordinal96
93: IsCompositionActive
94: IsCompositionActive
95: GetWindowTextW
96: CallWindowProcW
97: CallWindowProcW
98: DefSubclassProc
99: DefSubclassProc
100: cart_tmp_winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<()>
at C:\Users\XBagon\.cargo\registry\src\github.com-1ecc6299db9ec823\cart-tmp-winit-0.22.2\src\platform_impl\windows\event_loop.rs:791
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: process didn't exit successfully: `target\debug\examples\sprite.exe` (exit code: 101)
Tried this in debug/release builds on msvc/gnu toolchains and it happens in every configuration.
The assertion seems to be the in cart-tmp-wgc/command/render.rs:505.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-WindowingPlatform-agnostic interface layer to run your app inPlatform-agnostic interface layer to run your app inC-BugAn unexpected or incorrect behaviorAn unexpected or incorrect behaviorO-WindowsSpecific to the Windows desktop operating systemSpecific to the Windows desktop operating systemP-CrashA sudden unexpected crashA sudden unexpected crashS-DuplicateThis issue or PR already existsThis issue or PR already exists