wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
17.78k stars 796 forks source link

Wezterm crashes on suspend on wayland #5079

Closed sjcobb2022 closed 6 months ago

sjcobb2022 commented 8 months ago

What Operating System(s) are you seeing this problem on?

Linux Wayland

Which Wayland compositor or X11 Window manager(s) are you using?

Hyprland

WezTerm version

95581d8

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

On suspend, wezterm crashes with an unimplemented error.

To Reproduce

Configuration

local wezterm = require 'wezterm';

return {
  font = wezterm.font("FiraCode Nerd Font"),
  font_size = 12.0,
  color_scheme = 'tokyo-city-terminal-dark',
  hide_tab_bar_if_only_one_tab = true,
  window_close_confirmation = "NeverPrompt",
  check_for_updates = false,
  term='wezterm'
}

Expected Behavior

It does not crash.

Logs

09:55:33.945 ERROR env_bootstrap > panic at window/src/os/wayland/seat.rs:70:9 - not yet implemented 0: env_bootstrap::register_panic_hook::{{closure}} 1: std::panicking::rust_panic_with_hook 2: std::panicking::begin_panic_handler::{{closure}} 3: std::sys_common::backtrace::rust_end_short_backtrace 4: rust_begin_unwind 5: core::panicking::panic_fmt 6: core::panicking::panic 7: <window::os::wayland::state::WaylandState as wayland_client::event_queue::Dispatch<wayland_client::protocol::wl_seat::WlSeat,smithay_client_toolkit::seat::SeatData>>::event 8: wayland_client::event_queue::queue_callback 9: wayland_client::event_queue::EventQueue::dispatching_impl 10: ::run_message_loop 11: wezterm_gui::run_terminal_gui 12: wezterm_gui::main 13: std::sys_common::backtrace::__rust_begin_short_backtrace 14: std::rt::lang_start::{{closure}} 15: std::rt::lang_start_internal 16: std::rt::lang_start 17: libc_start_call_main 18: __libc_start_main@GLIBC_2.2.5 19: _start

Anything else?

I am unsure whether this is being worked on, as this has been left unimplemented after the tzx wayland rewrite.

Specifically it is the function.

    fn remove_capability(
        &mut self,
        _conn: &Connection,
        _qh: &QueueHandle<Self>,
        _seat: WlSeat,
        _capability: smithay_client_toolkit::seat::Capability,
    ) {
        todo!()
    }
cjearls commented 8 months ago

I'm seeing the same behavior on Sway, and it appears that https://github.com/wez/wezterm/issues/5154 is due to the same todo!

wez commented 6 months ago

Fixed by https://github.com/wez/wezterm/pull/5276

github-actions[bot] commented 5 months ago

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.