Skip to content

Segfault during panic unwinding in vulkan validation layers #19971

Open
@gmorenz

Description

@gmorenz

Bevy version

0.16.1

Relevant system information

Tested with rust stable and nightly 2025-06-28, both have the same behavior.

SystemInfo { os: "Linux (Arch Linux rolling)", kernel: "6.15.4-arch2-1", cpu: "AMD Ryzen 7 5800X 8-Core Processor", core_count: "8", memory: "31.3 GiB" }    
AdapterInfo { name: "NVIDIA GeForce RTX 2070 SUPER", vendor: 4318, device: 7812, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "575.64", backend: Vulkan }

Running under X11

$ pacman -Q | rg vulkan
lib32-vulkan-icd-loader 1.4.313.0-1
vulkan-headers 1:1.4.313.0-1
vulkan-icd-loader 1.4.313.0-1
vulkan-tools 1.4.313.0-1
vulkan-validation-layers 1.4.313.0-1

What you did

Ran the following code, repeatedly.

use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_systems(Startup, just_crash)
        .run();
}

fn just_crash() {
    panic!()
}

What went wrong

Some of the time (20% maybe) this segfaults in the vulakn validation layers. Obviously it should crash, but it shouldn't segfault.

Additional information

When it segfaults the terminal output is as follows. In addition it opens up an X window but fails to render to it.

$ cargo run
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
     Running `target/debug/body_builder`
2025-07-05T20:44:05.689364Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux (Arch Linux rolling)", kernel: "6.15.4-arch2-1", cpu: "AMD Ryzen 7 5800X 8-Core Processor", core_count: "8", memory: "31.3 GiB" }    
2025-07-05T20:44:05.840650Z  INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce RTX 2070 SUPER", vendor: 4318, device: 7812, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "575.64", backend: Vulkan }
2025-07-05T20:44:06.466521Z  INFO bevy_render::batching::gpu_preprocessing: GPU preprocessing is fully supported on this device.
2025-07-05T20:44:06.524590Z  INFO bevy_winit::system: Creating new window App (0v1)
2025-07-05T20:44:06.524673Z  INFO winit::platform_impl::linux::x11::window: Guessed window scale factor: 1

thread 'Compute Task Pool (7)' panicked at src/main.rs:11:5:
explicit panic
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `body_builder::just_crash`!
Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!
fish: Job 1, 'cargo +stable run' terminated by signal SIGSEGV (Address boundary error)

When it doesn't segfault I do not see an X-window appear, though maybe it just closes too quickly for it to be rendered. There are two different sets of logs we see in the terminal ("starting after GPU preprocessing is fully supported on this device" for brevity)

2025-07-05T20:32:58.633238Z  INFO bevy_winit::system: Creating new window App (0v1)
2025-07-05T20:32:58.633321Z  INFO winit::platform_impl::linux::x11::window: Guessed window scale factor: 1

thread 'Compute Task Pool (7)' panicked at src/main.rs:11:5:
explicit panic
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `body_builder::just_crash`!
Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!
2025-07-05T20:32:58.712063Z ERROR wgpu_hal::gles::egl: EGL 'eglDestroyContext' code 0x3008:     
2025-07-05T20:32:58.712108Z ERROR wgpu_hal::gles::egl: EGL 'eglTerminate' code 0x3008:     

and

2025-07-05T20:33:01.460296Z  INFO bevy_winit::system: Creating new window App (0v1)
2025-07-05T20:33:01.460395Z  INFO winit::platform_impl::linux::x11::window: Guessed window scale factor: 1

thread '<unnamed>' panicked at src/main.rs:11:5:
explicit panic
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Encountered a panic in system `body_builder::just_crash`!
Encountered a panic in system `bevy_app::main_schedule::Main::run_main`!

thread '<unnamed>' panicked at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/khronos-egl-6.0.0/src/lib.rs:841:27:
called `Option::unwrap()` on a `None` value

When running under gdb and then asking for a bt after it sees the segfault, I've seen

(gdb) bt
#0  0x00007ffff7b76f93 in __cxa_finalize () from /usr/lib/libc.so.6
#1  0x00007fffa84ddb08 in ?? () from /usr/lib/libVkLayer_khronos_validation.so
#2  0x00007fff773f8970 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

and

#0  0x00007fffa887767b in ?? () from /usr/lib/libVkLayer_khronos_validation.so
#1  0x00007ffff532764b in ?? () from /usr/lib/libvulkan.so.1
#2  0x000055555a258e19 in ash::extensions_generated::ext::debug_utils::Instance::destroy_debug_utils_messenger (self=0x7fff773f9118, messenger=..., allocator=...)
    at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ash-0.38.0+1.3.281/src/extensions/ext/debug_utils.rs:105
#3  0x000055555a1df46e in wgpu_hal::vulkan::instance::{impl#4}::drop::{closure#0} (du=0x7fff773f9118) at src/vulkan/instance.rs:559
#4  0x000055555a2f333f in core::option::Option<wgpu_hal::vulkan::DebugUtils>::inspect<wgpu_hal::vulkan::DebugUtils, wgpu_hal::vulkan::instance::{impl#4}::drop::{closure_env#0}> (self=..., f=...)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1171
#5  0x000055555a220752 in wgpu_hal::vulkan::instance::{impl#4}::drop (self=0x55555d8c39e0) at src/vulkan/instance.rs:558
#6  0x000055555a230a97 in core::ptr::drop_in_place<wgpu_hal::vulkan::InstanceShared> () at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#7  0x000055555a238562 in alloc::sync::Arc<wgpu_hal::vulkan::InstanceShared, alloc::alloc::Global>::drop_slow<wgpu_hal::vulkan::InstanceShared, alloc::alloc::Global> (self=0x55555d679e90)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:1943
#8  0x000055555a23b32d in alloc::sync::{impl#38}::drop<wgpu_hal::vulkan::InstanceShared, alloc::alloc::Global> (self=0x55555d679e90)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:2686
#9  0x000055555a2323ab in core::ptr::drop_in_place<alloc::sync::Arc<wgpu_hal::vulkan::InstanceShared, alloc::alloc::Global>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#10 0x000055555a22fcfb in core::ptr::drop_in_place<wgpu_hal::vulkan::Instance> () at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#11 0x0000555559f51a84 in core::ptr::drop_in_place<alloc::boxed::Box<dyn wgpu_hal::dynamic::instance::DynInstance, alloc::alloc::Global>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#12 0x0000555559f408af in core::ptr::drop_in_place<(wgpu_types::Backend, alloc::boxed::Box<dyn wgpu_hal::dynamic::instance::DynInstance, alloc::alloc::Global>)> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#13 0x0000555559f423de in core::ptr::drop_in_place<[(wgpu_types::Backend, alloc::boxed::Box<dyn wgpu_hal::dynamic::instance::DynInstance, alloc::alloc::Global>)]> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#14 0x0000555559f231b3 in alloc::vec::{impl#25}::drop<(wgpu_types::Backend, alloc::boxed::Box<dyn wgpu_hal::dynamic::instance::DynInstance, alloc::alloc::Global>), alloc::alloc::Global> (
    self=0x55555dc8fb28) at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs:3804
#15 0x0000555559f43707 in core::ptr::drop_in_place<alloc::vec::Vec<(wgpu_types::Backend, alloc::boxed::Box<dyn wgpu_hal::dynamic::instance::DynInstance, alloc::alloc::Global>), alloc::alloc::Global>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#16 0x0000555559f46f5c in core::ptr::drop_in_place<wgpu_core::instance::Instance> () at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#17 0x0000555559ef46d4 in core::ptr::drop_in_place<wgpu_core::global::Global> () at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#18 0x0000555559eb8852 in alloc::sync::Arc<wgpu_core::global::Global, alloc::alloc::Global>::drop_slow<wgpu_core::global::Global, alloc::alloc::Global> (self=0x55555f2bd140)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:1943
#19 0x0000555559eb91dd in alloc::sync::{impl#38}::drop<wgpu_core::global::Global, alloc::alloc::Global> (self=0x55555f2bd140)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:2686
#20 0x0000555559ef65fb in core::ptr::drop_in_place<alloc::sync::Arc<wgpu_core::global::Global, alloc::alloc::Global>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#21 0x0000555559ef5964 in core::ptr::drop_in_place<wgpu::backend::wgpu_core::ContextWgpuCore> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#22 0x0000555559ef6094 in core::ptr::drop_in_place<wgpu::backend::wgpu_core::CoreBindGroupLayout> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#23 0x0000555559eb8652 in alloc::sync::Arc<wgpu::backend::wgpu_core::CoreBindGroupLayout, alloc::alloc::Global>::drop_slow<wgpu::backend::wgpu_core::CoreBindGroupLayout, alloc::alloc::Global> (
    self=0x55555f2bd4a0) at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:1943
#24 0x0000555559eb8ded in alloc::sync::{impl#38}::drop<wgpu::backend::wgpu_core::CoreBindGroupLayout, alloc::alloc::Global> (self=0x55555f2bd4a0)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:2686
#25 0x0000555559ef79cb in core::ptr::drop_in_place<alloc::sync::Arc<wgpu::backend::wgpu_core::CoreBindGroupLayout, alloc::alloc::Global>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#26 0x0000555559ef5619 in core::ptr::drop_in_place<wgpu::dispatch::DispatchBindGroupLayout> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#27 0x0000555559ef604b in core::ptr::drop_in_place<wgpu::api::bind_group_layout::BindGroupLayout> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#28 0x00005555596aa26b in core::ptr::drop_in_place<bevy_render::renderer::WgpuWrapper<wgpu::api::bind_group_layout::BindGroupLayout>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#29 0x00005555596c3f5b in core::ptr::drop_in_place<bevy_render::render_resource::bind_group_layout::BindGroupLayout> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#30 0x0000555557596e82 in core::ptr::drop_in_place<bevy_gizmos::pipeline_3d::LineJointGizmoPipeline> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#31 0x00005555575e013c in core::ptr::mut_ptr::{impl#0}::drop_in_place<bevy_gizmos::pipeline_3d::LineJointGizmoPipeline> (self=0x55555f2bd370)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mut_ptr.rs:1491
#32 bevy_ptr::OwningPtr<bevy_ptr::Aligned>::drop_as<bevy_ptr::Aligned, bevy_gizmos::pipeline_3d::LineJointGizmoPipeline> (self=...)
    at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bevy_ptr-0.16.1/src/lib.rs:472
#33 0x0000555557537a4b in bevy_ecs::component::ComponentDescriptor::drop_ptr<bevy_gizmos::pipeline_3d::LineJointGizmoPipeline> (x=...)
    at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bevy_ecs-0.16.1/src/component.rs:1096
#34 0x000055555b42e818 in bevy_ecs::storage::blob_vec::BlobVec::clear (self=0x55555e7ff870) at src/storage/blob_vec.rs:397
#35 0x000055555b42e842 in bevy_ecs::storage::blob_vec::{impl#2}::drop (self=0x55555e7ff870) at src/storage/blob_vec.rs:405
#36 0x000055555b4ac67b in core::ptr::drop_in_place<bevy_ecs::storage::blob_vec::BlobVec> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#37 0x000055555b4bfdfb in core::mem::manually_drop::ManuallyDrop<bevy_ecs::storage::blob_vec::BlobVec>::drop<bevy_ecs::storage::blob_vec::BlobVec> (slot=0x55555e7ff870)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/manually_drop.rs:256
#38 0x000055555b4e7479 in bevy_ecs::storage::resource::{impl#0}::drop<true> (self=0x55555e7ff870) at src/storage/resource.rs:54
#39 0x000055555b4ae4a7 in core::ptr::drop_in_place<bevy_ecs::storage::resource::ResourceData<true>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#40 0x000055555b4af5c1 in core::ptr::drop_in_place<[bevy_ecs::storage::resource::ResourceData<true>]> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#41 0x000055555b3c8b83 in alloc::vec::{impl#25}::drop<bevy_ecs::storage::resource::ResourceData<true>, alloc::alloc::Global> (self=0x55555f2bebe8)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs:3804
#42 0x000055555b4b04d7 in core::ptr::drop_in_place<alloc::vec::Vec<bevy_ecs::storage::resource::ResourceData<true>, alloc::alloc::Global>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#43 0x000055555b4a8c27 in core::ptr::drop_in_place<bevy_ecs::storage::sparse_set::SparseSet<bevy_ecs::component::ComponentId, bevy_ecs::storage::resource::ResourceData<true>>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#44 0x000055555b4adf4b in core::ptr::drop_in_place<bevy_ecs::storage::resource::Resources<true>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#45 0x000055555b4ab747 in core::ptr::drop_in_place<bevy_ecs::storage::Storages> () at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#46 0x000055555b4aad3b in core::ptr::drop_in_place<bevy_ecs::world::World> () at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#47 0x000055555b3981b7 in core::ptr::drop_in_place<bevy_app::sub_app::SubApp> () at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#48 0x00005555594c959f in core::ptr::mut_ptr::{impl#0}::drop_in_place<bevy_app::sub_app::SubApp> (self=0x55555f2bea10)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mut_ptr.rs:1491
#49 concurrent_queue::single::{impl#1}::drop::{closure#0}::{closure#0}<bevy_app::sub_app::SubApp> (slot=0x55555f2bea10)
    at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/concurrent-queue-2.5.0/src/single.rs:182
#50 0x0000555559800b49 in concurrent_queue::sync::prelude::{impl#0}::with_mut<core::mem::maybe_uninit::MaybeUninit<bevy_app::sub_app::SubApp>, (), concurrent_queue::single::{impl#1}::drop::{closure#0}::{closure_env#0}<bevy_app::sub_app::SubApp>> (self=0x55555f2bea10, f=...) at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/concurrent-queue-2.5.0/src/sync.rs:80
#51 0x00005555594c94db in concurrent_queue::single::{impl#1}::drop::{closure#0}<bevy_app::sub_app::SubApp> (state=0x55555f2bea08)
    at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/concurrent-queue-2.5.0/src/single.rs:180
#52 0x00005555595b7048 in concurrent_queue::sync::prelude::{impl#1}::with_mut<(), concurrent_queue::single::{impl#1}::drop::{closure_env#0}<bevy_app::sub_app::SubApp>> (self=0x55555f2bea08, f=...)
    at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/concurrent-queue-2.5.0/src/sync.rs:100
#53 0x00005555594c93df in concurrent_queue::single::{impl#1}::drop<bevy_app::sub_app::SubApp> (self=0x55555f2bea08)
    at /home/greg/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/concurrent-queue-2.5.0/src/single.rs:178
#54 0x00005555596c450b in core::ptr::drop_in_place<concurrent_queue::single::Single<bevy_app::sub_app::SubApp>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#55 0x00005555596c243a in core::ptr::drop_in_place<concurrent_queue::Inner<bevy_app::sub_app::SubApp>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#56 0x00005555596c479b in core::ptr::drop_in_place<concurrent_queue::ConcurrentQueue<bevy_app::sub_app::SubApp>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#57 0x00005555596c1da7 in core::ptr::drop_in_place<async_channel::Channel<bevy_app::sub_app::SubApp>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#58 0x00005555593ee6a2 in alloc::sync::Arc<async_channel::Channel<bevy_app::sub_app::SubApp>, alloc::alloc::Global>::drop_slow<async_channel::Channel<bevy_app::sub_app::SubApp>, alloc::alloc::Global> (
    self=0x7fff773fb750) at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:1943
#59 0x00005555593f22cd in alloc::sync::{impl#38}::drop<async_channel::Channel<bevy_app::sub_app::SubApp>, alloc::alloc::Global> (self=0x7fff773fb750)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/sync.rs:2686
#60 0x00005555596a8bdb in core::ptr::drop_in_place<alloc::sync::Arc<async_channel::Channel<bevy_app::sub_app::SubApp>, alloc::alloc::Global>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#61 0x00005555596c1af4 in core::ptr::drop_in_place<async_channel::Sender<bevy_app::sub_app::SubApp>> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#62 0x00005555596b0fec in core::ptr::drop_in_place<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ptr/mod.rs:524
#63 0x0000555559458231 in bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure#0} () at src/pipelined_rendering.rs:177
#64 0x00005555596854c6 in std::sys::backtrace::__rust_begin_short_backtrace<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()> (f=...)
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152
#65 0x00005555594c1052 in std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure#0}<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:559
#66 0x00005555592c6b61 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()>> (self=...) at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:272
#67 0x00005555595782dc in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()>>, ()> (data=0x7fff773fb9d8) at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:589
#68 0x00005555595672bb in __rust_try ()
#69 0x00005555594c0aa5 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()>>> (f=...) at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:552
#70 std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()>>, ()> (f=...) at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359
#71 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:557
#72 0x000055555969207f in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<bevy_render::pipelined_rendering::{impl#2}::cleanup::{closure_env#0}, ()>, ()> ()
    at /home/greg/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250
#73 0x000055555b74eb9b in alloc::boxed::{impl#28}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1966
#74 alloc::boxed::{impl#28}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1966
#75 std::sys::pal::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/pal/unix/thread.rs:97
#76 0x00007ffff7bcc7eb in ?? () from /usr/lib/libc.so.6
#77 0x00007ffff7c5018c in ?? () from /usr/lib/libc.so.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-BugAn unexpected or incorrect behaviorO-VulkanSpecific to the Vulkan render APIP-CrashA sudden unexpected crashS-Needs-InvestigationThis issue requires detective work to figure out what's going wrong

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions