amethyst / bracket-lib

The Roguelike Toolkit (RLTK), implemented for Rust.
MIT License
1.54k stars 111 forks source link

[wayland-client error] A handler for wl_keyboard panicked. #227

Open neophyt3 opened 3 years ago

neophyt3 commented 3 years ago

I have a simple program trying to run on windows wslg, I am getting the below error when I run the binary as below I could not find anything helpful when I searched on google

$ RUST_BACKTRACE=full WAYLAND_DEBUG=1 cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.05s
     Running `target/debug/chap3-game-setup`
[1361675.864]  -> wl_display@1.get_registry(new id wl_registry@2)
[1361675.917]  -> wl_display@1.sync(new id wl_callback@3)
[1361676.115] wl_display@1.delete_id(3)
[1361676.149] wl_registry@2.global(1, "wl_compositor", 4)
[1361676.201]  -> wl_registry@2.bind(1, "wl_compositor", 4, new id [unknown]@4)
[1361676.290] wl_registry@2.global(2, "wl_subcompositor", 1)
[1361676.370]  -> wl_registry@2.bind(2, "wl_subcompositor", 1, new id [unknown]@5)
[1361676.388] wl_registry@2.global(3, "wp_viewporter", 1)
[1361676.444] wl_registry@2.global(4, "zxdg_output_manager_v1", 2)
[1361676.502] wl_registry@2.global(5, "wp_presentation", 1)
[1361676.562] wl_registry@2.global(6, "zwp_relative_pointer_manager_v1", 1)
[1361676.628]  -> wl_registry@2.bind(6, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@6)
[1361676.668] wl_registry@2.global(7, "zwp_pointer_constraints_v1", 1)
[1361676.722]  -> wl_registry@2.bind(7, "zwp_pointer_constraints_v1", 1, new id [unknown]@7)
[1361676.802] wl_registry@2.global(8, "zwp_input_timestamps_manager_v1", 1)
[1361676.838] wl_registry@2.global(9, "wl_data_device_manager", 3)
[1361676.852] wl_registry@2.global(10, "wl_shm", 1)
[1361676.898]  -> wl_registry@2.bind(10, "wl_shm", 1, new id [unknown]@8)
[1361676.953] wl_registry@2.global(11, "wl_output", 3)
[1361677.007]  -> wl_registry@2.bind(11, "wl_output", 3, new id [unknown]@9)
[1361677.039] wl_registry@2.global(12, "zwp_input_panel_v1", 1)
[1361677.051] wl_registry@2.global(13, "zwp_text_input_manager_v1", 1)
[1361677.113] wl_registry@2.global(14, "xdg_wm_base", 1)
[1361677.203] wl_registry@2.global(15, "zxdg_shell_v6", 1)
[1361677.244] wl_registry@2.global(16, "wl_shell", 1)
[1361677.279] wl_registry@2.global(17, "weston_screenshooter", 1)
[1361677.321] wl_registry@2.global(18, "wl_seat", 7)
[1361677.361]  -> wl_registry@2.bind(18, "wl_seat", 6, new id [unknown]@10)
[1361677.427] wl_registry@2.global(19, "zwp_input_method_v1", 1)
[1361677.508] wl_callback@3.done(9)
[1361677.537]  -> wl_display@1.sync(new id wl_callback@3)
[1361677.720] wl_display@1.delete_id(3)
[1361677.749] wl_shm@8.format(0)
[1361677.769] wl_shm@8.format(1)
[1361677.775] wl_shm@8.format(909199186)
[1361677.780] wl_output@9.geometry(0, 0, 344, 194, 0, "weston", "rdp", 0)
[1361677.868] wl_output@9.scale(1)
[1361677.899] wl_output@9.mode(3, 1920, 1080, 60000)
[1361677.910] wl_output@9.done()
[1361677.946] wl_seat@10.capabilities(3)
[1361677.957] wl_seat@10.name("RDP DESKTOP-F6G5638")
[1361678.021] wl_callback@3.done(9)
[1361678.177]  -> wl_compositor@4.create_surface(new id wl_surface@3)
[1361678.213]  -> wl_seat@10.get_pointer(new id wl_pointer@11)
[1361678.246]  -> zwp_relative_pointer_manager_v1@6.get_relative_pointer(new id zwp_relative_pointer_v1@12, wl_pointer@11)
[1361678.305]  -> wl_seat@10.get_keyboard(new id wl_keyboard@13)
[1361678.587]  -> wl_compositor@4.create_surface(new id wl_surface@14)
[1361678.640]  -> wl_registry@2.bind(14, "xdg_wm_base", 1, new id [unknown]@15)
[1361678.772]  -> wl_shm@8.create_pool(new id wl_shm_pool@16, fd 12, 128)
[1361678.845]  -> wl_shm@8.create_pool(new id wl_shm_pool@17, fd 14, 128)
[1361678.929]  -> wl_compositor@4.create_surface(new id wl_surface@18)
[1361679.004]  -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@19, wl_surface@18, wl_surface@14)
[1361679.018]  -> wl_compositor@4.create_surface(new id wl_surface@20)
[1361679.071]  -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@21, wl_surface@20, wl_surface@14)
[1361679.089]  -> wl_compositor@4.create_surface(new id wl_surface@22)
[1361679.125]  -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@23, wl_surface@22, wl_surface@14)
[1361679.189]  -> wl_compositor@4.create_surface(new id wl_surface@24)
[1361679.272]  -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@25, wl_surface@24, wl_surface@14)
[1361679.323]  -> wl_compositor@4.create_surface(new id wl_surface@26)
[1361679.361]  -> wl_subcompositor@5.get_subsurface(new id wl_subsurface@27, wl_surface@26, wl_surface@14)
[1361679.403]  -> xdg_wm_base@15.get_xdg_surface(new id xdg_surface@28, wl_surface@14)
[1361679.459]  -> xdg_surface@28.get_toplevel(new id xdg_toplevel@29)
[1361679.513]  -> wl_surface@14.commit()
[1361679.545]  -> xdg_toplevel@29.set_min_size(2, 31)
[1361679.639]  -> xdg_surface@28.set_window_geometry(0, -30, 640, 430)
[1361679.682]  -> wl_compositor@4.create_surface(new id wl_surface@30)
[1361679.753]  -> wl_seat@10.get_pointer(new id wl_pointer@31)
[1361679.873]  -> xdg_toplevel@29.set_min_size(2, 31)
[1361679.949]  -> xdg_toplevel@29.set_max_size(0, 0)
[1361679.994]  -> xdg_toplevel@29.set_min_size(2, 31)
[1361680.016]  -> xdg_toplevel@29.set_max_size(0, 0)
[1361680.024]  -> xdg_toplevel@29.set_title("Flappy dragon")
[1361680.077]  -> wl_display@1.sync(new id wl_callback@32)
[1361680.516] wl_display@1.delete_id(32)
[1361680.543] wl_keyboard@13.repeat_info(40, 400)
thread 'main' panicked at 'internal error: entered unreachable code', /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/wayland/window/mod.rs:218:77
stack backtrace:
   0:     0x55685d73ed60 - std::backtrace_rs::backtrace::libunwind::trace::h34055254b57d8e79
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x55685d73ed60 - std::backtrace_rs::backtrace::trace_unsynchronized::h8f1e3fbd9afff6ec
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55685d73ed60 - std::sys_common::backtrace::_print_fmt::h3a99a796b770c360
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x55685d73ed60 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h32d1f94a80615d18
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x55685d760f1c - core::fmt::write::h306731c068f7162c
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/fmt/mod.rs:1110:17
   5:     0x55685d73bc25 - std::io::Write::write_fmt::hd2fa90334eee2a21
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/io/mod.rs:1588:15
   6:     0x55685d740e1b - std::sys_common::backtrace::_print::h5abaa2601a852287
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x55685d740e1b - std::sys_common::backtrace::print::h8d81445442bb638f
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x55685d740e1b - std::panicking::default_hook::{{closure}}::hcfe804496a9fa747
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:208:50
   9:     0x55685d7408f1 - std::panicking::default_hook::hbea8e3ccf2ba8901
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:225:9
  10:     0x55685d7414e4 - std::panicking::rust_panic_with_hook::h7ee9e1a2d0f8975a
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:622:17
  11:     0x55685d740f97 - std::panicking::begin_panic_handler::{{closure}}::h8ab3b4491718b2c7
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:517:13
  12:     0x55685d73f25c - std::sys_common::backtrace::__rust_end_short_backtrace::hd489062ffa586a9f
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x55685d740f29 - rust_begin_unwind
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:515:5
  14:     0x55685d044651 - core::panicking::panic_fmt::hca6330e3e14086b4
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:92:14
  15:     0x55685d04459d - core::panicking::panic::h1a48d878ff3dcd40
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:50:5
  16:     0x55685d0f64e8 - winit::platform_impl::platform::wayland::window::Window::new::{{closure}}::{{closure}}::hdfa64c5ba2ddb565
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/wayland/window/mod.rs:218:77
  17:     0x55685d4f9da3 - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::hf98fbbbeddef3733
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:269:13
  18:     0x55685d4b835d - wayland_client::imp::proxy::proxy_dispatcher::{{closure}}::{{closure}}::h2c07f57d0bb0a3ee
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/native_lib/proxy.rs:429:25
  19:     0x55685d4eb935 - scoped_tls::ScopedKey<T>::with::h0bc94ef92e62f211
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:171:13
  20:     0x55685d4bdff0 - wayland_client::imp::proxy::proxy_dispatcher::{{closure}}::h8ab04c74d9734189
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/native_lib/proxy.rs:426:21
  21:     0x55685d4f922e - std::panicking::try::do_call::hddc55d7500e02208
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
  22:     0x55685d4fcdfd - __rust_try
  23:     0x55685d4f80f4 - std::panicking::try::h047153ab62908753
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
  24:     0x55685d4ff5c1 - std::panic::catch_unwind::h0b899d1db1ae73ce
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
  25:     0x55685d4b5a85 - wayland_client::imp::proxy::proxy_dispatcher::hd0c70263c94214d6
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/native_lib/proxy.rs:387:15
  26:     0x7febd9d4347f - <unknown>
  27:     0x7febd9d3fbe8 - <unknown>
  28:     0x7febd9d4121c - wl_display_dispatch_queue_pending
  29:     0x7febd9d4167f - wl_display_roundtrip_queue
  30:     0x55685d113ebf - wayland_client::imp::event_queue::EventQueueInner::sync_roundtrip::{{closure}}::h46f1573940287530
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/native_lib/event_queue.rs:85:17
  31:     0x55685d1140e7 - wayland_client::imp::event_queue::with_dispatch_meta::{{closure}}::h72a284fb704169ce
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/native_lib/event_queue.rs:24:57
  32:     0x55685d0a90bb - scoped_tls::ScopedKey<T>::set::hc948fe4b2736861e
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
  33:     0x55685d114086 - wayland_client::imp::event_queue::with_dispatch_meta::hff549af828cdd208
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/native_lib/event_queue.rs:24:5
  34:     0x55685d113e1a - wayland_client::imp::event_queue::EventQueueInner::sync_roundtrip::h01ba94490ada198c
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/native_lib/event_queue.rs:83:9
  35:     0x55685d0a92c0 - wayland_client::event_queue::EventQueue::sync_roundtrip::h66806965fd7351d9
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.28.6/src/event_queue.rs:203:9
  36:     0x55685d0f6495 - winit::platform_impl::platform::wayland::window::Window::new::{{closure}}::hfaaf9175aef5d1ba
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/wayland/window/mod.rs:218:21
  37:     0x55685d11389a - calloop::loop_logic::LoopHandle<Data>::with_source::h2342bd955bfe1dc9
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/calloop-0.6.5/src/loop_logic.rs:153:9
  38:     0x55685d0f558a - winit::platform_impl::platform::wayland::window::Window::new::hace1674745327300
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/wayland/window/mod.rs:216:9
  39:     0x55685d11299a - winit::platform_impl::platform::Window::new::h043a9577963b27b6
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/mod.rs:277:17
  40:     0x55685d11ad72 - winit::window::WindowBuilder::build::he57624bcce165a32
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/window.rs:333:9
  41:     0x55685d0d4b45 - glutin::platform_impl::platform_impl::wayland::Context::new::hadf2a4dc862c7293
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/glutin-0.26.0/src/platform_impl/unix/wayland.rs:91:19
  42:     0x55685d08bf32 - glutin::platform_impl::platform_impl::Context::new_windowed::he3fabd2a7106b62d
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/glutin-0.26.0/src/platform_impl/unix/mod.rs:113:20
  43:     0x55685d08c842 - glutin::windowed::<impl glutin::ContextBuilder<T>>::build_windowed::he9a30057bcb19b01
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/glutin-0.26.0/src/windowed.rs:341:9
  44:     0x55685d0b36ca - bracket_terminal::hal::native::init::init_raw::h216122ff1f2c5b03
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.5/src/hal/native/init.rs:21:28
  45:     0x55685d0d81ab - bracket_terminal::initializer::BTermBuilder::build::h36888aa2cb1da7ea
                               at /home/pradeep/.cargo/registry/src/github.com-1ecc6299db9ec823/bracket-terminal-0.8.5/src/initializer.rs:488:27
  46:     0x55685d054554 - chap3_game_setup::main::hd064c2933490bbbb
                               at /home/pradeep/rust/2d-game-rust/chap3-game-setup/src/main.rs:13:19
  47:     0x55685d04c78b - core::ops::function::FnOnce::call_once::hd0a9862d7b72bac4
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
  48:     0x55685d06f53e - std::sys_common::backtrace::__rust_begin_short_backtrace::hf19f2718e3dd954a
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:125:18
  49:     0x55685d044f91 - std::rt::lang_start::{{closure}}::h7f2f048f9e6a9dfa
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/rt.rs:49:18
  50:     0x55685d7419e9 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h2aabc384aab89b7b
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:259:13
  51:     0x55685d7419e9 - std::panicking::try::do_call::hc5fcacb7a85fc7b1
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
  52:     0x55685d7419e9 - std::panicking::try::hb5d9603af3abbe3a
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
  53:     0x55685d7419e9 - std::panic::catch_unwind::h98fe6ac3925e64b4
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
  54:     0x55685d7419e9 - std::rt::lang_start_internal::h22ac7383c516f93e
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/rt.rs:34:21
  55:     0x55685d044f70 - std::rt::lang_start::h625dce8052604a9e
                               at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/rt.rs:48:5
  56:     0x55685d05477c - main
  57:     0x7febd9d7e0b3 - __libc_start_main
  58:     0x55685d044e4e - _start
  59:                0x0 - <unknown>
[wayland-client error] A handler for wl_keyboard panicked.

main.rs


use bracket_lib::prelude::*;

struct State {}

impl GameState for State { fn tick(&mut self, ctx: &mut BTerm) { ctx.cls(); ctx.print(1, 1, "hello world!"); } }

fn main() -> BError { let context = BTermBuilder::simple80x50() .with_title("Flappy dragon") .build()?;

main_loop(context, State {})

}


> Cargo.toml

[package] name = "game-setup" version = "0.1.0" edition = "2018"

See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies] bracket-lib = "0.8.1"

km19809 commented 3 years ago

It is winit's issue, not bracket-lib as I know. I think that it is related to this issue. But I could not fix it by installing libxkbcommon. Try to install libwayland-dev. It worked for me.