Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hang cd'ing to nfs mount #3838

Closed
riffraff169 opened this issue Jun 7, 2023 · 11 comments
Closed

Hang cd'ing to nfs mount #3838

riffraff169 opened this issue Jun 7, 2023 · 11 comments
Labels
bug Something isn't working

Comments

@riffraff169
Copy link

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

Linux X11

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

XFCE

WezTerm version

20230530-062729-95e44f21

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

Let's say nfs volume is at /mnt/nfs

You can ls /mnt/nfs

You can read files from that nfs mount, as long as you aren't currently in the directory (do not cd to /mnt/nfs)

But when you cd /mnt/nfs, it hangs up, no response from that window.

Opening a new window with shift-ctrl-n works fine, and you can do things in that window. Running strace on the process shows all kinds of events when moving the mouse cursor in the window. Keystrokes appear in that window, but that terminal shell does not come back.

Using wezterm ssh to another host works when one of the windows is hung. Going to an nfs mount on the host hangs for a few seconds, but then responds.

To Reproduce

Basically same as above, but here it is again:

Let's say nfs volume is at /mnt/nfs

You can ls /mnt/nfs

You can read files from that nfs mount, as long as you aren't currently in the directory (do not cd to /mnt/nfs)

But when you cd /mnt/nfs, it hangs up, no response from that window.

Opening a new window with shift-ctrl-n works fine, and you can do things in that window. If debug or something is on (was with the rpm, isn't with the cargo build), then you see all kinds of x-events in the original window that called wezterm. Keystrokes appear in that window, but that terminal shell does not come back.

Configuration

no config

Expected Behavior

Normal response as per normal shell.

Logs

Panic output:

19:29:54.340 ERROR env_bootstrap > panic at /home/riffraff/src/wezterm/target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:8103:13 - !?
0: env_bootstrap::register_panic_hook::{{closure}}
at env-bootstrap/src/lib.rs:176:18
1: call<(&core::panic::panic_info::PanicInfo), (dyn core::ops::function::Fn<(&core::panic::panic_info::PanicInfo), Output=()> + core::marker::Send + core::marker::Sync), alloc::alloc::Global>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/alloc/src/boxed.rs:1999:9
rust_panic_with_hook
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:709:13
2: {closure#0}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:597:13
3: __rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure_env#0}, !>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:151:18
4: begin_panic_handler
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:593:5
5: panic_fmt
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:67:14
6: panic_misaligned_pointer_dereference
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:174:5
7: xcb::xproto::SendEventDest::serialize
at target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:8103:13
8: <xcb::xproto::SendEvent as xcb::base::RawRequest>::raw_request
at target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:14645:9
9: xcb::base::Connection::send_request_checked
at /home/riffraff/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xcb-1.2.1/src/base.rs:1442:51
10: xcb::base::Connection::send_and_check_request
at /home/riffraff/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xcb-1.2.1/src/base.rs:1533:28
11: window::os::x11::connection::XConnection::send_request_no_reply
at window/src/os/x11/connection.rs:803:9
12: window::os::x11::window::XWindowInner::selection_request
at window/src/os/x11/window.rs:781:9
13: window::os::x11::window::XWindowInner::dispatch_event
at window/src/os/x11/window.rs:560:17
14: window::os::x11::connection::XConnection::process_window_event
at window/src/os/x11/connection.rs:549:13
15: window::os::x11::connection::XConnection::process_xcb_event
at window/src/os/x11/connection.rs:504:13
16: window::os::x11::connection::XConnection::process_xcb_event_ime
at window/src/os/x11/connection.rs:465:13
17: window::os::x11::connection::XConnection::process_queued_xcb
at window/src/os/x11/connection.rs:434:31
18: <window::os::x11::connection::XConnection as window::connection::ConnectionOps>::run_message_loop
at window/src/os/x11/connection.rs:338:13
19: <window::os::x_and_wayland::Connection as window::connection::ConnectionOps>::run_message_loop
at window/src/os/x_and_wayland.rs:148:29
20: wezterm_gui::frontend::GuiFrontEnd::run_forever
at wezterm-gui/src/frontend.rs:292:9
21: wezterm_gui::run_terminal_gui
at wezterm-gui/src/main.rs:810:5
22: wezterm_gui::run
at wezterm-gui/src/main.rs:1262:23
23: wezterm_gui::main
at wezterm-gui/src/main.rs:856:21
24: core::ops::function::FnOnce::call_once
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/ops/function.rs:250:5
25: std::sys_common::backtrace::__rust_begin_short_backtrace
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:135:18
26: std::rt::lang_start::{{closure}}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:166:18
27: call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/ops/function.rs:284:13
do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:500:40
try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:464:19
catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panic.rs:142:14
{closure#2}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:148:48
do_call<std::rt::lang_start_internal::{closure_env#2}, isize>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:500:40
try<isize, std::rt::lang_start_internal::{closure_env#2}>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:464:19
catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panic.rs:142:14
lang_start_internal
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:148:20
28: std::rt::lang_start
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:165:17
29: main
30: __libc_start_call_main
31: __libc_start_main@GLIBC_2.2.5
32: _start

thread 'main' panicked at 'misaligned pointer dereference: address must be a multiple of 0x4 but is 0x7ffeca6b441f', /home/riffraff/src/wezterm/target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:8103:13
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
19:29:54.341 ERROR env_bootstrap > panic at library/core/src/panicking.rs:126:5 - panic in a function that cannot unwind
0: env_bootstrap::register_panic_hook::{{closure}}
at env-bootstrap/src/lib.rs:176:18
1: call<(&core::panic::panic_info::PanicInfo), (dyn core::ops::function::Fn<(&core::panic::panic_info::PanicInfo), Output=()> + core::marker::Send + core::marker::Sync), alloc::alloc::Global>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/alloc/src/boxed.rs:1999:9
rust_panic_with_hook
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:709:13
2: {closure#0}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:595:13
3: __rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure_env#0}, !>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:151:18
4: begin_panic_handler
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:593:5
5: panic_nounwind_fmt
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:96:14
6: panic_nounwind
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:126:5
7: core::panicking::panic_cannot_unwind
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:188:5
8: xcb::xproto::SendEventDest::serialize
at target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:8100:5
9: <xcb::xproto::SendEvent as xcb::base::RawRequest>::raw_request
at target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:14645:9
10: xcb::base::Connection::send_request_checked
at /home/riffraff/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xcb-1.2.1/src/base.rs:1442:51
11: xcb::base::Connection::send_and_check_request
at /home/riffraff/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xcb-1.2.1/src/base.rs:1533:28
12: window::os::x11::connection::XConnection::send_request_no_reply
at window/src/os/x11/connection.rs:803:9
13: window::os::x11::window::XWindowInner::selection_request
at window/src/os/x11/window.rs:781:9
14: window::os::x11::window::XWindowInner::dispatch_event
at window/src/os/x11/window.rs:560:17
15: window::os::x11::connection::XConnection::process_window_event
at window/src/os/x11/connection.rs:549:13
16: window::os::x11::connection::XConnection::process_xcb_event
at window/src/os/x11/connection.rs:504:13
17: window::os::x11::connection::XConnection::process_xcb_event_ime
at window/src/os/x11/connection.rs:465:13
18: window::os::x11::connection::XConnection::process_queued_xcb
at window/src/os/x11/connection.rs:434:31
19: <window::os::x11::connection::XConnection as window::connection::ConnectionOps>::run_message_loop
at window/src/os/x11/connection.rs:338:13
20: <window::os::x_and_wayland::Connection as window::connection::ConnectionOps>::run_message_loop
at window/src/os/x_and_wayland.rs:148:29
21: wezterm_gui::frontend::GuiFrontEnd::run_forever
at wezterm-gui/src/frontend.rs:292:9
22: wezterm_gui::run_terminal_gui
at wezterm-gui/src/main.rs:810:5
23: wezterm_gui::run
at wezterm-gui/src/main.rs:1262:23
24: wezterm_gui::main
at wezterm-gui/src/main.rs:856:21
25: core::ops::function::FnOnce::call_once
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/ops/function.rs:250:5
26: std::sys_common::backtrace::__rust_begin_short_backtrace
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:135:18
27: std::rt::lang_start::{{closure}}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:166:18
28: call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/ops/function.rs:284:13
do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:500:40
try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:464:19
catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panic.rs:142:14
{closure#2}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:148:48
do_call<std::rt::lang_start_internal::{closure_env#2}, isize>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:500:40
try<isize, std::rt::lang_start_internal::{closure_env#2}>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:464:19
catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panic.rs:142:14
lang_start_internal
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:148:20
29: std::rt::lang_start
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:165:17
30: main
31: __libc_start_call_main
32: __libc_start_main@GLIBC_2.2.5
33: _start

thread 'main' panicked at 'panic in a function that cannot unwind', library/core/src/panicking.rs:126:5
stack backtrace:
0: 0x55ea58758d91 - trace
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x55ea58758d91 - trace_unsynchronizedstd::sys_common::backtrace::_print_fmt::{closure_env#1}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x55ea58758d91 - _print_fmt
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:65:5
3: 0x55ea58758d91 - fmt
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:44:22
4: 0x55ea58787b8f - fmt
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/fmt/rt.rs:138:9
5: 0x55ea58787b8f - write
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/fmt/mod.rs:1094:21
6: 0x55ea58753491 - write_fmtstd::sys::unix::stdio::Stderr
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/io/mod.rs:1713:15
7: 0x55ea58758ba5 - _print
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:47:5
8: 0x55ea58758ba5 - print
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:34:9
9: 0x55ea5875a5e7 - {closure#1}
10: 0x55ea5875a3d4 - default_hook
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:288:9
11: 0x55ea54e59e43 - <alloc::boxed::Box<F,A> as core::ops::function::Fn>::call::h0e35df82ce5431e0
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/alloc/src/boxed.rs:1999:9
12: 0x55ea54696792 - wezterm_gui::notify_on_panic::{{closure}}::hee0d9b1c20b5a8e4
at /home/riffraff/src/wezterm/wezterm-gui/src/main.rs:827:9
13: 0x55ea54e59e43 - <alloc::boxed::Box<F,A> as core::ops::function::Fn>::call::h0e35df82ce5431e0
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/alloc/src/boxed.rs:1999:9
14: 0x55ea54e5ffb0 - env_bootstrap::register_panic_hook::{{closure}}::h3da6f3cb5582ddef
at /home/riffraff/src/wezterm/env-bootstrap/src/lib.rs:189:9
15: 0x55ea5875abfd - call<(&core::panic::panic_info::PanicInfo), (dyn core::ops::function::Fn<(&core::panic::panic_info::PanicInfo), Output=()> + core::marker::Send + core::marker::Sync), alloc::alloc::Global>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/alloc/src/boxed.rs:1999:9
16: 0x55ea5875abfd - rust_panic_with_hook
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:709:13
17: 0x55ea5875a951 - {closure#0}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:595:13
18: 0x55ea587591c6 - __rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure_env#0}, !>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:151:18
19: 0x55ea5875a6e2 - begin_panic_handler
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:593:5
20: 0x55ea543ddb63 - panic_nounwind_fmt
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:96:14
21: 0x55ea543ddc07 - panic_nounwind
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:126:5
22: 0x55ea543ddd93 - core::panicking::panic_cannot_unwind::hedc8c79e0cdaf712
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/panicking.rs:188:5
23: 0x55ea5697b29a - xcb::xproto::SendEventDest::serialize::hc68148543113bc7e
at /home/riffraff/src/wezterm/target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:8100:5
24: 0x55ea5658a643 - <xcb::xproto::SendEvent as xcb::base::RawRequest>::raw_request::hd378de40c08b287a
at /home/riffraff/src/wezterm/target/debug/build/xcb-742adc88e75b2c36/out/xproto.rs:14645:9
25: 0x55ea5653cfe4 - xcb::base::Connection::send_request_checked::h789c1a259a95f2f7
at /home/riffraff/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xcb-1.2.1/src/base.rs:1442:51
26: 0x55ea5653d738 - xcb::base::Connection::send_and_check_request::h900faf46d4ee2238
at /home/riffraff/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xcb-1.2.1/src/base.rs:1533:28
27: 0x55ea565632cb - window::os::x11::connection::XConnection::send_request_no_reply::h389cddcedad839c6
at /home/riffraff/src/wezterm/window/src/os/x11/connection.rs:803:9
28: 0x55ea565f513e - window::os::x11::window::XWindowInner::selection_request::hea4c10ef141fdfcb
at /home/riffraff/src/wezterm/window/src/os/x11/window.rs:781:9
29: 0x55ea565f10bb - window::os::x11::window::XWindowInner::dispatch_event::h171488037e39bf39
at /home/riffraff/src/wezterm/window/src/os/x11/window.rs:560:17
30: 0x55ea564f835c - window::os::x11::connection::XConnection::process_window_event::h82cd96edf4f908f8
at /home/riffraff/src/wezterm/window/src/os/x11/connection.rs:549:13
31: 0x55ea564f7a83 - window::os::x11::connection::XConnection::process_xcb_event::hff4e1dd0513a9c7a
at /home/riffraff/src/wezterm/window/src/os/x11/connection.rs:504:13
32: 0x55ea564f76e1 - window::os::x11::connection::XConnection::process_xcb_event_ime::h1956551bc5b1bafb
at /home/riffraff/src/wezterm/window/src/os/x11/connection.rs:465:13
33: 0x55ea564f707a - window::os::x11::connection::XConnection::process_queued_xcb::h06ec3572274aabc3
at /home/riffraff/src/wezterm/window/src/os/x11/connection.rs:434:31
34: 0x55ea564f57a9 - <window::os::x11::connection::XConnection as window::connection::ConnectionOps>::run_message_loop::head68054f5717706
at /home/riffraff/src/wezterm/window/src/os/x11/connection.rs:338:13
35: 0x55ea566250fa - <window::os::x_and_wayland::Connection as window::connection::ConnectionOps>::run_message_loop::h284b6a69382fc43b
at /home/riffraff/src/wezterm/window/src/os/x_and_wayland.rs:148:29
36: 0x55ea54427475 - wezterm_gui::frontend::GuiFrontEnd::run_forever::ha050c0d621e5f837
at /home/riffraff/src/wezterm/wezterm-gui/src/frontend.rs:292:9
37: 0x55ea549abe9a - wezterm_gui::run_terminal_gui::hbcdde172b1644d9c
at /home/riffraff/src/wezterm/wezterm-gui/src/main.rs:810:5
38: 0x55ea549b51d1 - wezterm_gui::run::h2f6cc4e69925419b
at /home/riffraff/src/wezterm/wezterm-gui/src/main.rs:1262:23
39: 0x55ea549ac801 - wezterm_gui::main::h5c8cc44378981627
at /home/riffraff/src/wezterm/wezterm-gui/src/main.rs:856:21
40: 0x55ea545478ab - core::ops::function::FnOnce::call_once::h97902a10a8459881
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/ops/function.rs:250:5
41: 0x55ea544e579e - std::sys_common::backtrace::__rust_begin_short_backtrace::h6277c39e73680451
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/sys_common/backtrace.rs:135:18
42: 0x55ea544916a1 - std::rt::lang_start::{{closure}}::h8a56e3e32bebd217
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:166:18
43: 0x55ea5874b665 - call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/core/src/ops/function.rs:284:13
44: 0x55ea5874b665 - do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:500:40
45: 0x55ea5874b665 - try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:464:19
46: 0x55ea5874b665 - catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panic.rs:142:14
47: 0x55ea5874b665 - {closure#2}
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:148:48
48: 0x55ea5874b665 - do_call<std::rt::lang_start_internal::{closure_env#2}, isize>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:500:40
49: 0x55ea5874b665 - try<isize, std::rt::lang_start_internal::{closure_env#2}>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panicking.rs:464:19
50: 0x55ea5874b665 - catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize>
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/panic.rs:142:14
51: 0x55ea5874b665 - lang_start_internal
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:148:20
52: 0x55ea5449167a - std::rt::lang_start::hccce766ff70326b1
at /rustc/b2b34bd83192c3d16c88655158f7d8d612513e88/library/std/src/rt.rs:165:17
53: 0x55ea549b8eae - main
54: 0x7fc472c4a510 - __libc_start_call_main
55: 0x7fc472c4a5c9 - __libc_start_main@GLIBC_2.2.5
56: 0x55ea543de3b5 - _start
57: 0x0 -
thread caused non-unwinding panic. aborting.
Aborted (core dumped)

Anything else?

No response

@riffraff169 riffraff169 added the bug Something isn't working label Jun 7, 2023
@wez
Copy link
Owner

wez commented Jun 7, 2023

I'm confused by the panic stack trace. When does that appear?

Are you using the shell integration? Could you try installing it?

Alternatively, try manually emitting an OSC 7 sequence before you try to enter the nfs mount; this will tell wezterm about the current directory of the shell at the time you run it, and then wezterm will remember that until a different OSC 7 sequence is emitted:

$ wezterm set-working-directory

then after running that, try your cd/ls repro steps and see if that helps.

@wez wez added the waiting-on-op Waiting for more information from the original poster label Jun 7, 2023
@riffraff169
Copy link
Author

Not sure where problem is. I added the shell integration, same problem.

I used time to see how long the cd command takes, but the cd is instant, time is 0.00 real user and sys. So it isn't the shell that is hanging (bash), but wezterm itself taking some time to continue.

I'm not sure why the panic stack trace appeared, or what caused it to. I haven't had it since.

So wezterm isn't crashing, just waiting, looping, polling, something, waiting for something before it finally returns.

Again, this is only a problem if the current working directory is an nfs mount. If the cwd is a local disk, then you can access the nfs mount just fine, but if the cwd is the nfs mount itself, then everything takes some time to return.

Wondering if it is trying to get some filesystem information that isn't available by nfs and spins until something times out.

@github-actions github-actions bot removed the waiting-on-op Waiting for more information from the original poster label Jun 8, 2023
@wez
Copy link
Owner

wez commented Jun 8, 2023

I'm not sure how NFS is connected to this issue; the panic stack trace is a pointer alignment issue similar to that in the upstream rust-x-bindings/rust-xcb#225 but around serializing the SendEvent struct for managing the X selection. Does that panic stack trace show up always? Or only when you access the NFS mount in your shell?

It may be possible that you are also experiencing a hang that is NFS related; please capture a stack trace from the wezterm-gui process; when you get it to hang, from a different terminal, run gdb -p $(pgrep wezterm-gui) Then at the gdb prompt, run thread apply all bt, capture that output and attach it to this issue as a .txt file.

@wez wez added the waiting-on-op Waiting for more information from the original poster label Jun 8, 2023
wez added a commit to wez/rust-xcb that referenced this issue Jun 8, 2023
Use the implementation from rust-x-bindings#225
for this, rather than reimplementing the serialization logic inline.

refs: rust-x-bindings#229
refs: wez/wezterm#3838
@riffraff169
Copy link
Author

The panic only happened once, I don't know what triggered it, but hasn't happened since. May not be related...

Adding thread dump.

@github-actions github-actions bot removed the waiting-on-op Waiting for more information from the original poster label Jun 8, 2023
@riffraff169
Copy link
Author

wezterm-bt.txt

@wez
Copy link
Owner

wez commented Jun 8, 2023

I'm not seeing a hang in that stack trace. Is it just your shell that is hanging?

@wez wez added the waiting-on-op Waiting for more information from the original poster label Jun 8, 2023
@wez
Copy link
Owner

wez commented Jun 8, 2023

eg: do other terminal windows running the same shell hang in the same way?

@riffraff169
Copy link
Author

Nope, I do not have the problem with xfce-terminal or kitty.

And I just tested again. Now it is returning right away, nothing has changed as far as I can tell. Same binary (didn't rebuild it). Same wezterm.sh helper. nfs mounts are the same (been using the same options from my nas for several years now).

Started a new wezterm which gave this output:

14:31:17.298 INFO wezterm_gui > Spawned your command via the existing GUI instance. Use wezterm start --always-new-process if you do not want this behavior. Result=SpawnResponse { tab_id: 2, pane_id: 4, window_id: 2, size: TerminalSize { rows: 24, cols: 80, pixel_width: 640, pixel_height: 384, dpi: 0 } }

cd'ing to the nfs mount then typing ls took a second to return to prompt... a few minutes later (was concentrating on your amqp lua rust video) did ls again and took a couple seconds to return. Caching? Not sure. I'll keep trying to figure out where it is occurring myself. Again, it is specifically happening with wezterm and nfs, not with local fs, and not with other terminals like xfce-terminal or kitty (the main ones I had been using).

@github-actions github-actions bot removed the waiting-on-op Waiting for more information from the original poster label Jun 8, 2023
@riffraff169
Copy link
Author

Oh, and I don't think it is the shell hanging, because I ran time before the command and it returned right away (because the command completed), then paused waiting on something. Although it could be the shell after ls completed and time (internal to bash) completed, but before bash returned to the prompt, but not sure on that. May have to try like a dedicated session in a vm or something, as I have too many terminal windows open right now to test properly on this system.

@wez
Copy link
Owner

wez commented Feb 4, 2024

I'm going to assume that this was weirdness around the xcb pointer alignment problem

@wez wez closed this as completed Feb 4, 2024
Copy link
Contributor

github-actions bot commented Mar 5, 2024

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants