wez / wezterm

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

Wezterm panic for `tmux -CC a` command via ssh #3223

Open tywtyw2002 opened 1 year ago

tywtyw2002 commented 1 year ago

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

macOS

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

No response

WezTerm version

wezterm 20230308-110718-e026d042

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

Wezterm panic for run tmux -CC a command via ssh

To Reproduce

No response

Configuration

local wezterm = require("wezterm")

local function merge_all(...)
    local ret = {}
    for _, tbl in ipairs({ ... }) do
        for k, v in pairs(tbl) do
            ret[k] = v
        end
    end
    return ret
end

local misc = {}

local ssh = {
    ssh_domains = {
        {
            -- This name identifies the domain
            name = "nix",
            -- The hostname or address to connect to. Will be used to match settings
            -- from your ssh config file
            remote_address = "10.2.1.114",
            -- The username to use on the remote host
            username = "debian",
        },
    },
}

misc.audible_bell = "Disabled"

return merge_all(require("themes"), misc, ssh, {})

Expected Behavior

No response

Logs

⇒  wezterm ssh debian@10.2.1.114
20:41:42.360  WARN   wezterm_ssh::pty > ssh: setenv TERM_PROGRAM_VERSION=20230308-110718-e026d042 failed: RequestDenied: Channel request env failed. Check the AcceptEnv setting on the ssh server side. Additional errors with setting env vars in this session will be logged at debug log level.
20:41:50.413  INFO   mux::localpane   > tmux -CC mode requested
20:41:50.413  INFO   mux::tmux        > tmux: Guarded(Guarded { error: false, timestamp: 1678333310, number: 770, flags: 0, output: "" }) in state WaitForInitialGuard
20:41:50.413  INFO   mux::tmux        > tmux: SessionChanged { session: 0, name: "0" } in state Idle
20:41:50.413  INFO   mux::tmux        > tmux session changed:0
20:41:50.413  INFO   mux::tmux        > sending cmd "list-panes -aF '#{session_id} #{window_id} #{pane_id} #{pane_index} #{cursor_x} #{cursor_y} #{pane_width} #{pane_height} #{pane_left} #{pane_top}'\n"
20:41:50.431  INFO   mux::tmux        > tmux: Guarded(Guarded { error: false, timestamp: 1678333310, number: 775, flags: 1, output: "$0 @0 %0 1 5 10 47 23 0 0\n$0 @0 %1 2 5 5 48 23 48 0\n$0 @1 %2 1 5 7 98 24 0 0\n" }) in state WaitingForResponse
20:41:50.444  ERROR  env_bootstrap    > panic at /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/async-task-4.3.0/src/runnable.rs:128:13 - local task polled by a thread that didn't spawn it
   0: backtrace::capture::Backtrace::new
   1: env_bootstrap::register_panic_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic::{{closure}}
   4: std::sys_common::backtrace::__rust_end_short_backtrace
   5: std::panicking::begin_panic
   6: <async_task::runnable::spawn_local::Checked<F> as core::future::future::Future>::poll
   7: async_task::raw::RawTask<F,T,S>::run
   8: window::spawn::SpawnQueue::run
   9: window::spawn::SpawnQueue::trigger
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
  17: <unknown>
  18: <unknown>
  19: <unknown>
  20: <window::os::macos::connection::Connection as window::connection::ConnectionOps>::run_message_loop
  21: wezterm_gui::main
  22: std::sys_common::backtrace::__rust_begin_short_backtrace
  23: std::rt::lang_start::{{closure}}
  24: std::rt::lang_start_internal
  25: _main

thread 'main' panicked at 'local task polled by a thread that didn't spawn it', /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/async-task-4.3.0/src/runnable.rs:128:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
20:41:50.445  ERROR  env_bootstrap    > panic at /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/async-task-4.3.0/src/runnable.rs:114:13 - local task dropped by a thread that didn't spawn it
   0: backtrace::capture::Backtrace::new
   1: env_bootstrap::register_panic_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic::{{closure}}
   4: std::sys_common::backtrace::__rust_end_short_backtrace
   5: std::panicking::begin_panic
   6: core::ptr::drop_in_place<async_task::raw::RawTask<F,T,S>::run::Guard<async_task::runnable::spawn_local::Checked<mux::tmux::TmuxDomainState::advance::{{closure}}>,(),promise::spawn::spawn<mux::tmux::TmuxDomainState::advance::{{closure}},()>::{{closure}}>>
   7: async_task::raw::RawTask<F,T,S>::run
   8: window::spawn::SpawnQueue::run
   9: window::spawn::SpawnQueue::trigger
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
  17: <unknown>
  18: <unknown>
  19: <unknown>
  20: <window::os::macos::connection::Connection as window::connection::ConnectionOps>::run_message_loop
  21: wezterm_gui::main
  22: std::sys_common::backtrace::__rust_begin_short_backtrace
  23: std::rt::lang_start::{{closure}}
  24: std::rt::lang_start_internal
  25: _main

thread 'main' panicked at 'local task dropped by a thread that didn't spawn it', /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/async-task-4.3.0/src/runnable.rs:114:13
stack backtrace:
   0:        0x104d1a316 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb2b3f9f8dc23cb9d
   1:        0x104d3e6ea - core::fmt::write::h603bc3f9f076a504
   2:        0x104d1244c - std::io::Write::write_fmt::haffd946fd0c71703
   3:        0x104d1a0fa - std::sys_common::backtrace::print::hf660b768f462926e
   4:        0x104d1c323 - std::panicking::default_hook::{{closure}}::hb5b3e9f2c6b6790b
   5:        0x104d1c078 - std::panicking::default_hook::ha10903320e35543e
   6:        0x10391eec8 - env_bootstrap::register_panic_hook::{{closure}}::h9f1466f8c6e5da8c
   7:        0x104d1ca77 - std::panicking::rust_panic_with_hook::h52ed83dd7c5d1444
   8:        0x1041221b3 - std::panicking::begin_panic::{{closure}}::hc98131bab2a29f69
   9:        0x104120218 - std::sys_common::backtrace::__rust_end_short_backtrace::h36423943f42f599a
  10:        0x104da965d - std::panicking::begin_panic::h2d0a5c42eaf284d3
  11:        0x104092634 - core::ptr::drop_in_place<async_task::raw::RawTask<F,T,S>::run::Guard<async_task::runnable::spawn_local::Checked<mux::tmux::TmuxDomainState::advance::{{closure}}>,(),promise::spawn::spawn<mux::tmux::TmuxDomainState::advance::{{closure}},()>::{{closure}}>>::hebcc786905cb1a7a
  12:        0x10408c1c0 - async_task::raw::RawTask<F,T,S>::run::he7c8d2c8d2d38cf7
  13:        0x1045a8da4 - window::spawn::SpawnQueue::run::h0c3a6ccf1ae1183d
  14:        0x1045a9180 - window::spawn::SpawnQueue::trigger::h7d1e24991f9ce686
  15:     0x7ff80c4d4f75 - <unknown>
  16:     0x7ff80c4d4e0a - <unknown>
  17:     0x7ff80c4d45c7 - <unknown>
  18:     0x7ff80c4d3884 - <unknown>
  19:     0x7ff8155c9ce6 - <unknown>
  20:     0x7ff8155c9a4a - <unknown>
  21:     0x7ff8155c97e5 - <unknown>
  22:     0x7ff80ee315cd - <unknown>
  23:     0x7ff80ee2fc8a - <unknown>
  24:     0x7ff80ee22339 - <unknown>
  25:        0x10457aa97 - <window::os::macos::connection::Connection as window::connection::ConnectionOps>::run_message_loop::h497a4fcceb7655b0
  26:        0x1037cdd7c - wezterm_gui::main::hd72eca8fcece7988
  27:        0x103749906 - std::sys_common::backtrace::__rust_begin_short_backtrace::hba10c4be6ba2cf35
  28:        0x1037d7ffc - std::rt::lang_start::{{closure}}::he6a6355ed6e56419
  29:        0x104d0bf94 - std::rt::lang_start_internal::h7dd5537eb292a40d
  30:        0x1037d556c - _main
thread panicked while panicking. aborting.
[1]    1279 abort      wezterm ssh debian@10.2.1.114

Anything else?

No response

wez commented 1 year ago

tmux cc support is incomplete. See: https://github.com/wez/wezterm/issues/336