You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Program crashes after suspending program due to panic in Surface::get_current_texture.
Repro steps git clone https://github.com/eblack-leaf/foliage.git cd foliage cargo run application
then suspend and reawake.
Expected vs observed behavior
I expect the Surface::get_current_texture to return Error using
if let Ok(surface_texture) = surface.get_current_texture() { // use to render } else { // skip render }
to skip rendering when suspended because no device can be reached.
It crashes in the call to get_current_texture instead of letting the
error branch run to avoid rendering.
Extra materials
Error Output after waking from suspend.
`
thread 'main' panicked at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:3468:38:
wgpu error: Validation Error
Caused by:
In Surface::get_current_texture_view
Parent device is lost
stack backtrace:
0: rust_begin_unwind
at /rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/std/src/panicking.rs:665:5
1: core::panicking::panic_fmt
at /rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/core/src/panicking.rs:76:14
2: wgpu::backend::wgpu_core::default_error_handler
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:653:5
3: wgpu::backend::wgpu_core::ErrorSinkRaw::handle_error
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:637:21
4: wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_inner
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:298:9
5: wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_nolabel
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:321:9
6: <wgpu::backend::wgpu_core::CoreSurface as wgpu::dispatch::SurfaceInterface>::get_current_texture
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:3468:25
7: wgpu::api::surface::Surface::get_current_texture
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/api/surface.rs:97:41
8: foliage_proper::ginkgo::Ginkgo::surface_texture
at ./foliage_proper/src/ginkgo/mod.rs:304:15
9: foliage_proper::ash::Ash::render
at ./foliage_proper/src/ash/mod.rs:179:40
10: foliage_proper::photosynthesis::::process_event
at ./foliage_proper/src/photosynthesis.rs:259:21
11: foliage_proper::photosynthesis::::window_event
at ./foliage_proper/src/photosynthesis.rs:53:9
12: winit::event_loop::dispatch_event_for_app
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/event_loop.rs:642:52
13: winit::event_loop::EventLoop::run_app::{{closure}}
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/event_loop.rs:265:49
14: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/salt/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
15: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/salt/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
16: winit::platform_impl::linux::x11::EventLoop::single_iteration
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:563:17
17: winit::platform_impl::linux::x11::EventLoop::poll_events_with_timeout
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:504:9
18: winit::platform_impl::linux::x11::EventLoop::pump_events
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:424:13
19: winit::platform_impl::linux::x11::EventLoop::run_on_demand
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:385:19
20: winit::platform_impl::linux::EventLoop::run_on_demand
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/mod.rs:819:56
21: winit::platform_impl::linux::EventLoop::run
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/mod.rs:812:9
22: winit::event_loop::EventLoop::run_app
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/event_loop.rs:265:9
23: foliage_proper::foliage::Foliage::photosynthesize
at ./foliage_proper/src/foliage.rs:147:17
24: application::main
at ./application/src/main.rs:63:5
25: core::ops::function::FnOnce::call_once
at /home/salt/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.
Description
Program crashes after suspending program due to panic in
Surface::get_current_texture
.Repro steps
git clone https://github.com/eblack-leaf/foliage.git
cd foliage
cargo run application
then suspend and reawake.
Expected vs observed behavior
I expect the
Surface::get_current_texture
to returnError
usingif let Ok(surface_texture) = surface.get_current_texture() {
// use to render
} else {
// skip render
}
to skip rendering when suspended because no device can be reached.
It crashes in the call to
get_current_texture
instead of letting theerror branch run to avoid rendering.
Extra materials
Error Output after waking from suspend.
`
thread 'main' panicked at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:3468:38:
wgpu error: Validation Error
Caused by:
In Surface::get_current_texture_view
Parent device is lost
stack backtrace:
0: rust_begin_unwind
at /rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/std/src/panicking.rs:665:5
1: core::panicking::panic_fmt
at /rustc/9fc6b43126469e3858e2fe86cafb4f0fd5068869/library/core/src/panicking.rs:76:14
2: wgpu::backend::wgpu_core::default_error_handler
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:653:5
3: wgpu::backend::wgpu_core::ErrorSinkRaw::handle_error
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:637:21
4: wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_inner
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:298:9
5: wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_nolabel
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:321:9
6: <wgpu::backend::wgpu_core::CoreSurface as wgpu::dispatch::SurfaceInterface>::get_current_texture
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/backend/wgpu_core.rs:3468:25
7: wgpu::api::surface::Surface::get_current_texture
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-24.0.1/src/api/surface.rs:97:41
8: foliage_proper::ginkgo::Ginkgo::surface_texture
at ./foliage_proper/src/ginkgo/mod.rs:304:15
9: foliage_proper::ash::Ash::render
at ./foliage_proper/src/ash/mod.rs:179:40
10: foliage_proper::photosynthesis::::process_event
at ./foliage_proper/src/photosynthesis.rs:259:21
11: foliage_proper::photosynthesis::::window_event
at ./foliage_proper/src/photosynthesis.rs:53:9
12: winit::event_loop::dispatch_event_for_app
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/event_loop.rs:642:52
13: winit::event_loop::EventLoop::run_app::{{closure}}
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/event_loop.rs:265:49
14: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/salt/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
15: core::ops::function::impls::<impl core::ops::function::FnMut for &mut F>::call_mut
at /home/salt/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:294:13
16: winit::platform_impl::linux::x11::EventLoop::single_iteration
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:563:17
17: winit::platform_impl::linux::x11::EventLoop::poll_events_with_timeout
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:504:9
18: winit::platform_impl::linux::x11::EventLoop::pump_events
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:424:13
19: winit::platform_impl::linux::x11::EventLoop::run_on_demand
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/x11/mod.rs:385:19
20: winit::platform_impl::linux::EventLoop::run_on_demand
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/mod.rs:819:56
21: winit::platform_impl::linux::EventLoop::run
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/mod.rs:812:9
22: winit::event_loop::EventLoop::run_app
at /home/salt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/event_loop.rs:265:9
23: foliage_proper::foliage::Foliage::photosynthesize
at ./foliage_proper/src/foliage.rs:147:17
24: application::main
at ./application/src/main.rs:63:5
25: core::ops::function::FnOnce::call_once
at /home/salt/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with
RUST_BACKTRACE=full
for a verbose backtrace.Process finished with exit code 101
`
Platform
Ubuntu 22 LTS
X11
Vulkan
NVIDIA GeForce RTX 2070
Nvidia Driver 550.120
wgpu-24.0.1
winit-0.30.8
The text was updated successfully, but these errors were encountered: