Comments (9)
Oh my god...
Well, for me at least adding the "wayland" feature to bevy fixed the crash.
I suspect without it bevy was run with xwayland and then weirdness ensued...
I will investigate further tho until I am 100% sure.
Edit:
Yup!
without having features = ["wayland"]
the app silently runs under xwayland and crashes after a few seconds.
When adding features = ["wayland"]
the app runs natively on wayland and works just fine.
from bevy.
No issue with MinimalPlugins
. The issue really seems to come from the Window.
from bevy.
Are you able to run with MinimalPlugins
? The next step is to try and dissect what plugins are causing this: my guess is either rendering or perhaps even the gathering of the system info itself.
from bevy.
This happens to me as well, since I switched to Wayland.
The log is not very useful
-> RUST_BACKTRACE=full cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s
Running `target/debug/app`
2024-06-13T17:25:31.242649Z WARN log: error setting XSETTINGS; Xft options won't reload automatically
2024-06-13T17:25:31.247122Z INFO bevy_winit::system: Creating new window "App" (0v1)
2024-06-13T17:25:31.247453Z INFO log: Guessed window scale factor: 1
libEGL warning: egl: failed to create dri2 screen
2024-06-13T17:25:31.375265Z INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce GTX 1070", vendor: 4318, device: 7041, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "555.52.04", backend: Vulkan }
2024-06-13T17:25:32.013630Z INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Linux 24.05 NixOS", kernel: "6.6.32", cpu: "Intel(R) Core(TM) i7-6850K CPU @ 3.60GHz", core_count: "6", memory: "94.2 GiB" }
2024-06-13T17:25:32.172836Z WARN bevy_render::view::window: Couldn't get swap chain texture. This often happens with the Nvidia 550 driver. It can be safely ignored.
zsh: segmentation fault (core dumped) RUST_BACKTRACE=full cargo run
After trying it out multiple times I managed to get a panic with a backtrace once, and a few times it seemed to start fine... I will try to look into this some more...
I'm pretty sure this is either an issue with Wayland or with the 555 nvidia driver - I didn't really make any other changes to my system since it worked.
Edit: I quickly reverted back to X11 using the 555 driver - no problems there, so it really seems to be a Wayland issue
from bevy.
I just noticed, the app doesn't immediately crash. It starts up just fine and even does stuff and is interactive - sometimes it runs for up to 3 seconds - then segfaults
from bevy.
Running with gdb produces a backtrace:
Thread 13 "Compute Task Po" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff65736c0 (LWP 36603)]
0x00007fffc68086b7 in ?? () from /nix/store/gngdpc8d4wijim959f65nwn9ssk84zv1-nvidia-x11-555.52.04-6.6.32/lib/libnvidia-glcore.so.555.52.04
(gdb) backtrace
#0 0x00007fffc68086b7 in ?? () from /nix/store/gngdpc8d4wijim959f65nwn9ssk84zv1-nvidia-x11-555.52.04-6.6.32/lib/libnvidia-glcore.so.555.52.04
#1 0x00007fffc6be7079 in ?? () from /nix/store/gngdpc8d4wijim959f65nwn9ssk84zv1-nvidia-x11-555.52.04-6.6.32/lib/libnvidia-glcore.so.555.52.04
#2 0x00007fffc6bfe780 in ?? () from /nix/store/gngdpc8d4wijim959f65nwn9ssk84zv1-nvidia-x11-555.52.04-6.6.32/lib/libnvidia-glcore.so.555.52.04
#3 0x00007fffc6b3aede in ?? () from /nix/store/gngdpc8d4wijim959f65nwn9ssk84zv1-nvidia-x11-555.52.04-6.6.32/lib/libnvidia-glcore.so.555.52.04
#4 0x0000555559681b04 in ash::device::Device::wait_for_fences (self=0x55555bb43c90, fences=..., wait_all=true, timeout=18446744073709551615)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ash-0.37.3+1.3.251/src/device.rs:2399
#5 0x000055555958c57e in wgpu_hal::vulkan::instance::{impl#6}::acquire_texture (self=0x7fffd0003860, timeout=...) at src/vulkan/instance.rs:967
#6 0x0000555559189a4e in wgpu_core::global::Global<wgpu_core::identity::IdentityManagerFactory>::surface_get_current_texture<wgpu_core::identity::IdentityManagerFactory, wgpu_hal::vulkan::Api> (self=0x55555b71c320, surface_id=...,
texture_id_in=()) at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-core-0.19.3/src/present.rs:167
#7 0x00005555592f93b4 in wgpu::backend::wgpu_core::{impl#7}::surface_get_current_texture (self=0x55555b71c320, surface=0x7ffff656eac0, surface_data=0x7fffd0003680) at src/backend/wgpu_core.rs:744
#8 0x0000555559313f12 in wgpu::context::{impl#5}::surface_get_current_texture<wgpu::backend::wgpu_core::ContextWgpuCore> (self=0x55555b71c320, surface=0x7fffd011cce8, surface_data=...) at src/context.rs:2140
#9 0x000055555932518d in wgpu::Surface::get_current_texture (self=0x7fffd011ccb8) at src/lib.rs:4841
#10 0x0000555558dc3eaf in bevy_render::view::window::prepare_windows (windows=..., window_surfaces=..., render_device=..., render_adapter=..., screenshot_pipeline=..., pipeline_cache=..., pipelines=..., msaa=..., render_instance=...)
at src/view/window/mod.rs:336
#11 0x0000555558a1b24d in core::ops::function::FnMut::call_mut<fn(bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>), (bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>)> () at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/ops/function.rs:166
#12 0x0000555558d594f5 in core::ops::function::impls::{impl#3}::call_mut<(bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>), fn(bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>)> (self=0x7ffff6570548, args=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/ops/function.rs:294
#13 0x00005555588f5efd in bevy_ecs::system::function_system::{impl#27}::run::call_inner<(), bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>, &mut fn(bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>)> (f=0x55555bbb652c, F0=..., F1=..., F2=..., F3=..., F4=..., F5=..., F6=..., F7=..., F8=...)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.2/src/system/function_system.rs:656
#14 0x0000555558d568e5 in bevy_ecs::system::function_system::{impl#27}::run<(), fn(bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>), bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>> (self=0x55555bbb652c, param_value=...) at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.2/src/system/function_system.rs:659
#15 0x00005555588d6602 in bevy_ecs::system::function_system::{impl#6}::run_unsafe<fn(bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>), fn(bevy_ecs::change_detection::ResMut<bevy_render::view::window::ExtractedWindows>, bevy_ecs::change_detection::ResMut<bevy_render::view::window::WindowSurfaces>, bevy_ecs::change_detection::Res<bevy_render::renderer::render_device::RenderDevice>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderAdapter>, bevy_ecs::change_detection::Res<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>, bevy_ecs::change_detection::Res<bevy_render::render_resource::pipeline_cache::PipelineCache>, bevy_ecs::change_detection::ResMut<bevy_render::render_resource::pipeline_specializer::SpecializedRenderPipelines<bevy_render::view::window::screenshot::ScreenshotToScreenPipeline>>, bevy_ecs::change_detection::ResMut<bevy_render::view::Msaa>, bevy_ecs::change_detection::Res<bevy_render::renderer::RenderInstance>)> (self=0x55555bbb63c0, input=(), world=...)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_ecs-0.13.2/src/system/function_system.rs:499
#16 0x000055555a570289 in bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block#0}::{closure#0} () at src/schedule/executor/multi_threaded.rs:534
#17 0x000055555a59d349 in core::ops::function::FnOnce::call_once<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block#0}::{closure_env#0}, ()> ()
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/ops/function.rs:250
#18 0x000055555a55fb99 in core::panic::unwind_safe::{impl#23}::call_once<(), bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block#0}::{closure_env#0}> (self=...)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/panic/unwind_safe.rs:272
#19 0x000055555a52478d in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block#0}::{closure_env#0}>, ()> (data=0x7ffff6570a70)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:559
--Type <RET> for more, q to quit, c to continue without paging--
#20 0x000055555a53097b in __rust_try ()
#21 0x000055555a52339e in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block#0}::{closure_env#0}>> (f=...)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:523
#22 0x000055555a54f3fa in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block#0}::{closure_env#0}>, ()> (
f=<error reading variable: Cannot access memory at address 0x10>) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panic.rs:149
#23 0x000055555a56fba1 in bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block#0} () at src/schedule/executor/multi_threaded.rs:529
#24 0x000055555a55f747 in core::panic::unwind_safe::{impl#26}::poll<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}> (self=..., cx=0x7ffff6571318)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/panic/unwind_safe.rs:297
#25 0x000055555a5a8c3e in futures_lite::future::{impl#9}::poll::{closure#0}<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>> ()
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-2.3.0/src/future.rs:588
#26 0x000055555a55fc04 in core::panic::unwind_safe::{impl#23}::call_once<core::task::poll::Poll<()>, futures_lite::future::{impl#9}::poll::{closure_env#0}<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>> (self=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/panic/unwind_safe.rs:272
#27 0x000055555a524466 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<futures_lite::future::{impl#9}::poll::{closure_env#0}<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::task::poll::Poll<()>> (data=0x7ffff6570e18) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:559
#28 0x000055555a53097b in __rust_try ()
#29 0x000055555a5234e8 in std::panicking::try<core::task::poll::Poll<()>, core::panic::unwind_safe::AssertUnwindSafe<futures_lite::future::{impl#9}::poll::{closure_env#0}<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>> (f=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:523
#30 0x000055555a54f1bb in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<futures_lite::future::{impl#9}::poll::{closure_env#0}<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::task::poll::Poll<()>> (f=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panic.rs:149
#31 0x000055555a5a8ad0 in futures_lite::future::{impl#9}::poll<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>> (self=..., cx=0x7ffff6571318)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-2.3.0/src/future.rs:588
#32 0x000055555a4ed6de in async_executor::{impl#5}::spawn::{async_block#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>> () at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.9.1/src/lib.rs:158
#33 0x000055555a506197 in async_task::raw::{impl#3}::run::{closure#1}<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()> () at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/raw.rs:550
#34 0x000055555a59bd14 in core::ops::function::FnOnce::call_once<async_task::raw::{impl#3}::run::{closure_env#1}<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()>, ()> ()
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/ops/function.rs:250
#35 0x000055555a55fc5c in core::panic::unwind_safe::{impl#23}::call_once<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>>, async_task::raw::{impl#3}::run::{closure_env#1}<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()>> (self=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/panic/unwind_safe.rs:272
#36 0x000055555a524bf8 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<async_task::raw::{impl#3}::run::{closure_env#1}<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()>>, core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>>> (data=0x7ffff6571180) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:559
#37 0x000055555a53097b in __rust_try ()
#38 0x000055555a5240da in std::panicking::try<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>>, core::panic::unwind_safe::AssertUnwindSafe<async_task::raw::{impl#3}::run::{closure_env#1}<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()>>> (f=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:523
#39 0x000055555a54f34b in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<async_task::raw::{impl#3}::run::{closure_env#1}<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()>>, core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>>> (f=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panic.rs:149
#40 0x000055555a5032c4 in async_task::raw::RawTask<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()>::run<async_executor::{impl#5}::spawn::{async_block_env#0}<core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, futures_lite::future::CatchUnwind<core::panic::unwind_safe::AssertUnwindSafe<bevy_ecs::schedule::executor::multi_threaded::{impl#3}::spawn_system_task::{async_block_env#0}>>>, core::result::Result<(), alloc::boxed::Box<(dyn core::any::Any + core::marker::Send), alloc::alloc::Global>>, async_executor::{impl#5}::schedule::{closure_env#0}, ()> (ptr=0x7fffcc05c570)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/raw.rs:549
#41 0x000055555a5df94f in async_task::runnable::Runnable<()>::run<()> (self=...) at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-task-4.7.0/src/runnable.rs:781
#42 0x000055555a5be676 in async_executor::{impl#5}::run::{async_fn#0}::{async_block#0}<core::result::Result<(), async_channel::RecvError>, futures_lite::future::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>> () at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.9.1/src/lib.rs:254
#43 0x000055555a5bbd05 in futures_lite::future::{impl#7}::poll<core::result::Result<(), async_channel::RecvError>, futures_lite::future::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>, async_executor::{impl#5}::run::{async_fn#0}::{async_block_env#0}<core::result::Result<(), async_channel::RecvError>, futures_lite::future::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>>> (self=..., cx=0x7ffff6571dc0)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-2.3.0/src/future.rs:449
#44 0x000055555a5be239 in async_executor::{impl#5}::run::{async_fn#0}<core::result::Result<(), async_channel::RecvError>, futures_lite::future::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>> () at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/async-executor-1.9.1/src/lib.rs:261
#45 0x000055555a5b5273 in futures_lite::future::block_on::{closure#0}<core::result::Result<(), async_channel::RecvError>, async_executor::{impl#5}::run::{async_fn_env#0}<core::result::Result<(), async_channel::RecvError>, futures_lite::f--Type <RET> for more, q to quit, c to continue without paging--c
uture::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>>> (cache=0x7ffff65735c0)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-2.3.0/src/future.rs:99
#46 0x000055555a5c44b7 in std::thread::local::LocalKey<core::cell::RefCell<(parking::Parker, core::task::wake::Waker)>>::try_with<core::cell::RefCell<(parking::Parker, core::task::wake::Waker)>, futures_lite::future::block_on::{closure_env#0}<core::result::Result<(), async_channel::RecvError>, async_executor::{impl#5}::run::{async_fn_env#0}<core::result::Result<(), async_channel::RecvError>, futures_lite::future::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>>>, core::result::Result<(), async_channel::RecvError>> (self=0x55555a9fe6e8, f=...)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/thread/local.rs:286
#47 0x000055555a5c43c4 in std::thread::local::LocalKey<core::cell::RefCell<(parking::Parker, core::task::wake::Waker)>>::with<core::cell::RefCell<(parking::Parker, core::task::wake::Waker)>, futures_lite::future::block_on::{closure_env#0}<core::result::Result<(), async_channel::RecvError>, async_executor::{impl#5}::run::{async_fn_env#0}<core::result::Result<(), async_channel::RecvError>, futures_lite::future::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>>>, core::result::Result<(), async_channel::RecvError>> (self=0x55555a9fe6e8, f=...)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/thread/local.rs:262
#48 0x000055555a5b505d in futures_lite::future::block_on<core::result::Result<(), async_channel::RecvError>, async_executor::{impl#5}::run::{async_fn_env#0}<core::result::Result<(), async_channel::RecvError>, futures_lite::future::Or<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0}::{async_block_env#0}, async_channel::Recv<()>>>> (future=...)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-lite-2.3.0/src/future.rs:78
#49 0x000055555a5c89c2 in bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure#0} () at src/task_pool.rs:180
#50 0x000055555a5c1a51 in std::panicking::try::do_call<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure_env#0}, core::result::Result<(), async_channel::RecvError>> (data=0x7ffff65725a8)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:559
#51 0x000055555a5c34db in __rust_try ()
#52 0x000055555a5c1808 in std::panicking::try<core::result::Result<(), async_channel::RecvError>, bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure_env#0}> (f=...)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:523
#53 0x000055555a5c178e in std::panic::catch_unwind<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0}::{closure_env#0}, core::result::Result<(), async_channel::RecvError>> (f=...)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panic.rs:149
#54 0x000055555a5c86cc in bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure#0} (local_executor=0x7ffff6573530) at src/task_pool.rs:174
#55 0x000055555a5c46d1 in std::thread::local::LocalKey<async_executor::LocalExecutor>::try_with<async_executor::LocalExecutor, bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure_env#0}, ()> (
self=0x55555a9fee70, f=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/thread/local.rs:286
#56 0x000055555a5c42db in std::thread::local::LocalKey<async_executor::LocalExecutor>::with<async_executor::LocalExecutor, bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0}::{closure_env#0}, ()> (
self=0x55555a9fee70, f=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/thread/local.rs:262
#57 0x000055555a5c84d5 in bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure#0} () at src/task_pool.rs:167
#58 0x000055555a5c4236 in std::sys_common::backtrace::__rust_begin_short_backtrace<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()> (f=<error reading variable: Cannot access memory at address 0x28>)
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/sys_common/backtrace.rs:155
#59 0x000055555a5cbedd in std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure#0}<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()> ()
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/thread/mod.rs:542
#60 0x000055555a5b4e71 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()>> (
self=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/panic/unwind_safe.rs:272
#61 0x000055555a5c1ab5 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()>>, ()> (data=0x7ffff65728f0) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:559
#62 0x000055555a5c34db in __rust_try ()
#63 0x000055555a5c1932 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()>>> (f=...) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panicking.rs:523
#64 0x000055555a5cb9b9 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()>>, ()> (f=<error reading variable: Cannot access memory at address 0x18>) at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/panic.rs:149
#65 std::thread::{impl#0}::spawn_unchecked_::{closure#2}<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()> () at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/std/src/thread/mod.rs:541
#66 0x000055555a5b75bf in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#2}<bevy_tasks::task_pool::{impl#2}::new_internal::{closure#0}::{closure_env#0}, ()>, ()> ()
at /rustc/7bb6510fc1899b008837a376a7fdf31b341cc1bb/library/core/src/ops/function.rs:250
#67 0x000055555a7c690b in alloc::boxed::{impl#48}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2022
#68 alloc::boxed::{impl#48}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2022
#69 std::sys::pal::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/pal/unix/thread.rs:108
#70 0x00007ffff7c3d272 in start_thread () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
#71 0x00007ffff7cb8dec in clone3 () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
Especially this part is interesting:
#4 0x0000555559681b04 in ash::device::Device::wait_for_fences (self=0x55555bb43c90, fences=..., wait_all=true, timeout=18446744073709551615)
at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ash-0.37.3+1.3.251/src/device.rs:2399
#5 0x000055555958c57e in wgpu_hal::vulkan::instance::{impl#6}::acquire_texture (self=0x7fffd0003860, timeout=...) at src/vulkan/instance.rs:967
#6 0x0000555559189a4e in wgpu_core::global::Global<wgpu_core::identity::IdentityManagerFactory>::surface_get_current_texture<wgpu_core::identity::IdentityManagerFactory, wgpu_hal::vulkan::Api> (self=0x55555b71c320, surface_id=...,
texture_id_in=()) at /home/nionidh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-core-0.19.3/src/present.rs:167
#7 0x00005555592f93b4 in wgpu::backend::wgpu_core::{impl#7}::surface_get_current_texture (self=0x55555b71c320, surface=0x7ffff656eac0, surface_data=0x7fffd0003680) at src/backend/wgpu_core.rs:744
#8 0x0000555559313f12 in wgpu::context::{impl#5}::surface_get_current_texture<wgpu::backend::wgpu_core::ContextWgpuCore> (self=0x55555b71c320, surface=0x7fffd011cce8, surface_data=...) at src/context.rs:2140
#9 0x000055555932518d in wgpu::Surface::get_current_texture (self=0x7fffd011ccb8) at src/lib.rs:4841
#10 0x0000555558dc3eaf in bevy_render::view::window::prepare_windows (windows=..., window_surfaces=..., render_device=..., render_adapter=..., screenshot_pipeline=..., pipeline_cache=..., pipelines=..., msaa=..., render_instance=...)
at src/view/window/mod.rs:336
from bevy.
So i guess the real bug here is that bevy crashes on xwayland - otherwise everything works as expected.
I wonder if we should detect whether or not we are running in wayland and then print a warning if the app was built without the wayland feature
from bevy.
So this issue is really just #8788 with added segfault spicyness
And when #10792 is merged this shouldn't be a big problem anymore...
from bevy.
without having
features = ["wayland"]
the app silently runs under xwayland and crashes after a few seconds. When addingfeatures = ["wayland"]
the app runs natively on wayland and works just fine.
This also fixed the problem for me. Thanks.
from bevy.
Related Issues (20)
- Consider using `fake_variadic` to improve docs HOT 5
- Hot asset reloading example does not update when saving torus.gltf HOT 5
- Collecting into a vec leads to better performance for `iter_combinations_mut` HOT 1
- Gizmos circle_2d does not appear for the first few times it is requested after bevy startup HOT 1
- links in bevy/crates/bevy_ecs/README.md does not exist. HOT 1
- Track callsites of where observers are initially triggered. HOT 1
- `CombinatorSystem` is unsound HOT 2
- UI elements randomly disappear for some frames on specific android devices HOT 6
- Bevy needs better support for pre-multiplied alpha textures and sprites HOT 2
- Allow gizmos to render behind sprites
- UI rounding is applied before UI scaling HOT 5
- Footgun when chaining observer registrations on World vs App
- `embedded_asset!` does not work in multi-crate workspace + release build HOT 1
- viewport-to-world doesn't work well HOT 1
- Check benchmarks in CI HOT 1
- Consider what to do with wgpu_trace feature HOT 6
- Docs for Observer should mention what happens if you use a bundle in the `Trigger` HOT 1
- Add type registration for a11y::Focus
- AlphaToCoverage can't be used with base_color_texture
- `bevy` fails to build with just `bevy_dev_tools` feature HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bevy.