Closed mb720 closed 1 year ago
Please build with debug symbols (eg: follow the build from source instructions but omit the --release
flag) and then run:
gdb target/debug/wezterm-gui
to start gdb, then in the gdb session:
run
then when you reproduce the segfault, type:
thread apply all bt
and attach the backtrace to this issue.
Thanks for the instructions.
There you go:
Starting program: /home/mb/git_repos/wezterm/target/debug/wezterm-gui
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0xb6303200 (LWP 7960)]
[New Thread 0xb5fff200 (LWP 7961)]
[Detaching after fork from child process 7962]
[New Thread 0xb5af4200 (LWP 7963)]
[New Thread 0xb56ff200 (LWP 7964)]
[New Thread 0xb52ff200 (LWP 7965)]
[New Thread 0xb4dfe200 (LWP 7966)]
Thread 1 "wezterm-gui" received signal SIGSEGV, Segmentation fault.
0x040bf89c in ?? ()
Thread 7 (Thread 0xb4dfe200 (LWP 7966) "wezterm-gui"):
#0 0xb69c1904 in read () from /usr/lib/libc.so.6
#1 0x0279c750 in filedescriptor::unix::{impl#11}::read (self=0xb4dfd5c8, buf=...) at filedescriptor/src/unix.rs:204
#2 0x00d0af70 in mux::parse_buffered_data (pane_id=0, dead=0xb4dfd9b4, rx=...) at mux/src/lib.rs:108
#3 0x00d5cfe8 in mux::read_from_pane_pty::{closure#0} () at mux/src/lib.rs:194
#4 0x00ea1270 in std::sys_common::backtrace::__rust_begin_short_backtrace<mux::read_from_pane_pty::{closure#0}, ()> (f=...) at /rustc/1.57.0/library/std/src/sys_common/backtrace.rs:123
#5 0x00def0a8 in std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}<mux::read_from_pane_pty::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:483
#6 0x00ebdcb8 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}> (self=..., _args=()) at /rustc/1.57.0/library/core/src/panic/unwind_safe.rs:271
#7 0x00ebd858 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (data=0xb4dfda60) at /rustc/1.57.0/library/std/src/panicking.rs:403
#8 0x00ebdc30 in __rust_try ()
#9 0x00ebd5d0 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>> (f=...) at /rustc/1.57.0/library/std/src/panicking.rs:367
#10 0x00eaed7c in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (f=...) at /rustc/1.57.0/library/std/src/panic.rs:133
#11 0x00dee1e8 in std::thread::{impl#0}::spawn_unchecked::{closure#1}<mux::read_from_pane_pty::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:482
#12 0x00d879b0 in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked::{closure#1}, ()> () at /rustc/1.57.0/library/core/src/ops/function.rs:227
#13 0x02c9c664 in std::sys::unix::thread::Thread::new::thread_start ()
#14 0xb684bf60 in start_thread () from /usr/lib/libpthread.so.0
#15 0xb69d3cd8 in ?? () from /usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 6 (Thread 0xb52ff200 (LWP 7965) "wezterm-gui"):
#0 0xb69c1904 in read () from /usr/lib/libc.so.6
#1 0x0279c750 in filedescriptor::unix::{impl#11}::read (self=0x4100fd0, buf=...) at filedescriptor/src/unix.rs:204
#2 0x0272ea60 in portable_pty::unix::{impl#3}::read (self=0x4100fd0, buf=...) at pty/src/unix.rs:86
#3 0x00fc6268 in std::io::impls::{impl#4}::read<dyn std::io::Read> (self=0xb52fe6f4, buf=...) at /rustc/1.57.0/library/std/src/io/impls.rs:123
#4 0x00d0b5f8 in mux::read_from_pane_pty (pane_id=0, banner=..., reader=...) at mux/src/lib.rs:202
#5 0x00d5da58 in mux::{impl#3}::add_pane::{closure#0} () at mux/src/lib.rs:405
#6 0x00ea1218 in std::sys_common::backtrace::__rust_begin_short_backtrace<mux::{impl#3}::add_pane::{closure#0}, ()> (f=...) at /rustc/1.57.0/library/std/src/sys_common/backtrace.rs:123
#7 0x00def074 in std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}<mux::{impl#3}::add_pane::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:483
#8 0x00ebdd44 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}> (self=..., _args=()) at /rustc/1.57.0/library/core/src/panic/unwind_safe.rs:271
#9 0x00ebd92c in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (data=0xb52fea00) at /rustc/1.57.0/library/std/src/panicking.rs:403
#10 0x00ebdc30 in __rust_try ()
#11 0x00ebd798 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>> (f=...) at /rustc/1.57.0/library/std/src/panicking.rs:367
#12 0x00eaedb8 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (f=...) at /rustc/1.57.0/library/std/src/panic.rs:133
#13 0x00deeb34 in std::thread::{impl#0}::spawn_unchecked::{closure#1}<mux::{impl#3}::add_pane::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:482
#14 0x00d87a2c in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked::{closure#1}, ()> () at /rustc/1.57.0/library/core/src/ops/function.rs:227
#15 0x02c9c664 in std::sys::unix::thread::Thread::new::thread_start ()
#16 0xb684bf60 in start_thread () from /usr/lib/libpthread.so.0
#17 0xb69d3cd8 in ?? () from /usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 5 (Thread 0xb56ff200 (LWP 7964) "wezterm-gui"):
#0 0xb699ab94 in __wait4_time64 () from /usr/lib/libc.so.6
#1 0x02c91ae8 in std::process::Child::wait ()
#2 0x02732d50 in portable_pty::{impl#3}::wait (self=0x4101528) at pty/src/lib.rs:210
#3 0x00dcd694 in mux::localpane::split_child::{closure#0} () at mux/src/localpane.rs:618
#4 0x00ea1318 in std::sys_common::backtrace::__rust_begin_short_backtrace<mux::localpane::split_child::{closure#0}, ()> (f=...) at /rustc/1.57.0/library/std/src/sys_common/backtrace.rs:123
#5 0x00def048 in std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}<mux::localpane::split_child::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:483
#6 0x00ebdcec in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}> (self=..., _args=()) at /rustc/1.57.0/library/core/src/panic/unwind_safe.rs:271
#7 0x00ebd8a4 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (data=0xb56fea60) at /rustc/1.57.0/library/std/src/panicking.rs:403
#8 0x00ebdc30 in __rust_try ()
#9 0x00ebd3e8 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>> (f=...) at /rustc/1.57.0/library/std/src/panicking.rs:367
#10 0x00eaee38 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (f=...) at /rustc/1.57.0/library/std/src/panic.rs:133
#11 0x00dee49c in std::thread::{impl#0}::spawn_unchecked::{closure#1}<mux::localpane::split_child::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:482
#12 0x00d87a10 in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked::{closure#1}, ()> () at /rustc/1.57.0/library/core/src/ops/function.rs:227
#13 0x02c9c664 in std::sys::unix::thread::Thread::new::thread_start ()
#14 0xb684bf60 in start_thread () from /usr/lib/libpthread.so.0
#15 0xb69d3cd8 in ?? () from /usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 4 (Thread 0xb5af4200 (LWP 7963) "wezterm-gui"):
#0 0xb69d036c in syscall () from /usr/lib/libc.so.6
#1 0x02c92818 in std::sync::mpsc::blocking::WaitToken::wait ()
#2 0x024731b4 in std::sync::mpsc::oneshot::Packet<alloc::vec::Vec<u8, alloc::alloc::Global>>::recv<alloc::vec::Vec<u8, alloc::alloc::Global>> (self=0x3f4ff88, deadline=...) at /rustc/1.57.0/library/std/src/sync/mpsc/oneshot.rs:140
#3 0x024780f4 in std::sync::mpsc::Receiver<alloc::vec::Vec<u8, alloc::alloc::Global>>::recv<alloc::vec::Vec<u8, alloc::alloc::Global>> (self=0xb5af3984) at /rustc/1.57.0/library/std/src/sync/mpsc/mod.rs:1158
#4 0x0207df64 in wezterm_term::terminalstate::{impl#4}::new::{closure#0} () at term/src/terminalstate/mod.rs:389
#5 0x020b6078 in std::sys_common::backtrace::__rust_begin_short_backtrace<wezterm_term::terminalstate::{impl#4}::new::{closure#0}, ()> (f=...) at /rustc/1.57.0/library/std/src/sys_common/backtrace.rs:123
#6 0x020937a8 in std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}<wezterm_term::terminalstate::{impl#4}::new::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:483
#7 0x020bd038 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}> (self=..., _args=()) at /rustc/1.57.0/library/core/src/panic/unwind_safe.rs:271
#8 0x020bc5dc in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (data=0xb5af3a48) at /rustc/1.57.0/library/std/src/panicking.rs:403
#9 0x020bc68c in __rust_try ()
#10 0x020bc514 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>> (f=...) at /rustc/1.57.0/library/std/src/panicking.rs:367
#11 0x020959b4 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (f=...) at /rustc/1.57.0/library/std/src/panic.rs:133
#12 0x020935a8 in std::thread::{impl#0}::spawn_unchecked::{closure#1}<wezterm_term::terminalstate::{impl#4}::new::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:482
#13 0x02044c8c in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked::{closure#1}, ()> () at /rustc/1.57.0/library/core/src/ops/function.rs:227
#14 0x02c9c664 in std::sys::unix::thread::Thread::new::thread_start ()
#15 0xb684bf60 in start_thread () from /usr/lib/libpthread.so.0
#16 0xb69d3cd8 in ?? () from /usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 3 (Thread 0xb5fff200 (LWP 7961) "wezterm-gui"):
#0 0xb69d5f48 in accept4 () from /usr/lib/libc.so.6
#1 0x02c8e864 in std::os::unix::net::listener::UnixListener::accept ()
#2 0x02c8e970 in <std::os::unix::net::listener::Incoming as core::iter::traits::iterator::Iterator>::next ()
#3 0x007e0d50 in wezterm_mux_server_impl::local::LocalListener::run (self=0xb5ffe9f4) at wezterm-mux-server-impl/src/local.rs:21
#4 0x0068a978 in wezterm_gui::run_terminal_gui::{closure#0} () at wezterm-gui/src/main.rs:354
#5 0x0067dbd8 in std::sys_common::backtrace::__rust_begin_short_backtrace<wezterm_gui::run_terminal_gui::{closure#0}, ()> (f=...) at /rustc/1.57.0/library/std/src/sys_common/backtrace.rs:123
#6 0x006371bc in std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}<wezterm_gui::run_terminal_gui::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:483
#7 0x0062b8a8 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}> (self=..., _args=()) at /rustc/1.57.0/library/core/src/panic/unwind_safe.rs:271
#8 0x0062d29c in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (data=0xb5ffea94) at /rustc/1.57.0/library/std/src/panicking.rs:403
#9 0x0062da04 in __rust_try ()
#10 0x0062c488 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>> (f=...) at /rustc/1.57.0/library/std/src/panicking.rs:367
#11 0x0065a7a0 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (f=...) at /rustc/1.57.0/library/std/src/panic.rs:133
#12 0x0063664c in std::thread::{impl#0}::spawn_unchecked::{closure#1}<wezterm_gui::run_terminal_gui::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:482
#13 0x00522564 in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked::{closure#1}, ()> () at /rustc/1.57.0/library/core/src/ops/function.rs:227
#14 0x02c9c664 in std::sys::unix::thread::Thread::new::thread_start ()
#15 0xb684bf60 in start_thread () from /usr/lib/libpthread.so.0
#16 0xb69d3cd8 in ?? () from /usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 2 (Thread 0xb6303200 (LWP 7960) "wezterm-gui"):
#0 0xb6994a28 in __clock_nanosleep_time64 () from /usr/lib/libc.so.6
#1 0xb6994b0c in clock_nanosleep@GLIBC_2.4 () from /usr/lib/libc.so.6
#2 0xb699b024 in nanosleep () from /usr/lib/libc.so.6
#3 0x02c838d4 in std::thread::sleep ()
#4 0x00616870 in wezterm_gui::stats::Inner::run (inner=...) at wezterm-gui/src/stats.rs:98
#5 0x005d13ac in wezterm_gui::stats::{impl#2}::init::{closure#0} () at wezterm-gui/src/stats.rs:178
#6 0x0067de68 in std::sys_common::backtrace::__rust_begin_short_backtrace<wezterm_gui::stats::{impl#2}::init::{closure#0}, ()> (f=...) at /rustc/1.57.0/library/std/src/sys_common/backtrace.rs:123
#7 0x00637268 in std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}<wezterm_gui::stats::{impl#2}::init::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:483
#8 0x0062b808 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}> (self=..., _args=()) at /rustc/1.57.0/library/core/src/panic/unwind_safe.rs:271
#9 0x0062d000 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (data=0xb6302a94) at /rustc/1.57.0/library/std/src/panicking.rs:403
#10 0x0062da04 in __rust_try ()
#11 0x0062c9d8 in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>> (f=...) at /rustc/1.57.0/library/std/src/panicking.rs:367
#12 0x0065a600 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked::{closure#1}::{closure#0}>, ()> (f=...) at /rustc/1.57.0/library/std/src/panic.rs:133
#13 0x006363b8 in std::thread::{impl#0}::spawn_unchecked::{closure#1}<wezterm_gui::stats::{impl#2}::init::{closure#0}, ()> () at /rustc/1.57.0/library/std/src/thread/mod.rs:482
#14 0x005221a4 in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked::{closure#1}, ()> () at /rustc/1.57.0/library/core/src/ops/function.rs:227
#15 0x02c9c664 in std::sys::unix::thread::Thread::new::thread_start ()
#16 0xb684bf60 in start_thread () from /usr/lib/libpthread.so.0
#17 0xb69d3cd8 in ?? () from /usr/lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 1 (Thread 0xb6ff1fa0 (LWP 7957) "wezterm-gui"):
#0 0x040bf89c in ?? ()
#1 0x015f2b60 in FT_Stream_Seek (stream=0x3fdb2d0, pos=0) at freetype2/src/base/ftstream.c:64
#2 0x0167ed9c in tt_face_init (stream=0x3fdb2d0, ttface=0x3f54728, face_index=0, num_params=0, params=0x0) at freetype2/src/truetype/ttobjs.c:630
#3 0x015e77f0 in open_face (driver=0x3fd9bf8, astream=0xbeff4708, external_stream=1 '\001', face_index=0, num_params=0, params=0x0, aface=0xbeff470c) at freetype2/src/base/ftobjs.c:1465
#4 0x015e97c0 in ft_open_face_internal (library=0x3fdb360, args=0xbeff47ac, face_index=0, aface=0xbeff47a0, test_mac_fonts=1 '\001') at freetype2/src/base/ftobjs.c:2537
#5 0x015e9504 in FT_Open_Face (library=0x3fdb360, args=0xbeff47ac, face_index=0, aface=0xbeff47a0) at freetype2/src/base/ftobjs.c:2428
#6 0x0141885c in wezterm_font::ftwrap::Library::new_face (self=0xbeff49d8, source=0xbeff4828, face_index=0) at wezterm-font/src/ftwrap.rs:886
#7 0x014185b4 in wezterm_font::ftwrap::Library::face_from_locator (self=0xbeff49d8, handle=0xbeff49f0) at wezterm-font/src/ftwrap.rs:855
#8 0x01398bb8 in wezterm_font::parser::load_built_in_fonts (font_info=0xbeff5078) at wezterm-font/src/parser.rs:505
#9 0x014221d4 in wezterm_font::db::FontDatabase::with_built_in () at wezterm-font/src/db.rs:64
#10 0x013f0a28 in wezterm_font::FontConfigInner::new (config=..., dpi=96) at wezterm-font/src/lib.rs:400
#11 0x013f4974 in wezterm_font::FontConfiguration::new (config=..., dpi=96) at wezterm-font/src/lib.rs:776
#12 0x00596354 in wezterm_gui::termwindow::{impl#2}::new_window::{generator#0} () at wezterm-gui/src/termwindow/mod.rs:526
#13 0x005bba18 in core::future::from_generator::{impl#1}::poll<wezterm_gui::termwindow::{impl#2}::new_window::{generator#0}> (self=..., cx=0xbeffe05c) at /rustc/1.57.0/library/core/src/future/mod.rs:80
#14 0x0075580c in wezterm_gui::frontend::{impl#1}::try_new::{closure#0}::{generator#0} () at wezterm-gui/src/frontend.rs:32
#15 0x005bbd94 in core::future::from_generator::{impl#1}::poll<wezterm_gui::frontend::{impl#1}::try_new::{closure#0}::{generator#0}> (self=..., cx=0xbeffe05c) at /rustc/1.57.0/library/core/src/future/mod.rs:80
#16 0x005e8964 in async_task::runnable::spawn_local::{impl#1}::poll<core::future::from_generator::GenFuture<wezterm_gui::frontend::{impl#1}::try_new::{closure#0}::{generator#0}>> (self=..., cx=0xbeffe05c) at /home/mb/.cargo/registry/src/github.com-1285ae84e5963aae/async-task-4.0.3/src/runnable.rs:132
#17 0x006d42ac in async_task::raw::RawTask<async_task::runnable::spawn_local::Checked<core::future::from_generator::GenFuture<wezterm_gui::frontend::{impl#1}::try_new::{closure#0}::{generator#0}>>, core::result::Result<(), anyhow::Error>, promise::spawn::spawn::{closure#0}>::run<async_task::runnable::spawn_local::Checked<core::future::from_generator::GenFuture<wezterm_gui::frontend::{impl#1}::try_new::{closure#0}::{generator#0}>>, core::result::Result<(), anyhow::Error>, promise::spawn::spawn::{closure#0}> (ptr=0x3f42c58) at /home/mb/.cargo/registry/src/github.com-1285ae84e5963aae/async-task-4.0.3/src/raw.rs:489
#18 0x02c55110 in async_task::runnable::Runnable::run (self=...) at /home/mb/.cargo/registry/src/github.com-1285ae84e5963aae/async-task-4.0.3/src/runnable.rs:309
#19 0x01133fcc in window::spawn::schedule_with_pri::{closure#0} () at window/src/spawn.rs:42
#20 0x010f7c28 in core::ops::function::FnOnce::call_once<window::spawn::schedule_with_pri::{closure#0}, ()> () at /rustc/1.57.0/library/core/src/ops/function.rs:227
#21 0x02b8c578 in alloc::boxed::{impl#44}::call_once<(), (dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global> (self=..., args=()) at /rustc/1.57.0/library/alloc/src/boxed.rs:1691
#22 0x01153b74 in window::spawn::SpawnQueue::run_impl (self=0x3f35c60) at window/src/spawn.rs:171
#23 0x01152c64 in window::spawn::SpawnQueue::run (self=0x3f35c60) at window/src/spawn.rs:65
#24 0x0113e6a4 in window::os::x11::connection::{impl#2}::run_message_loop (self=0x4018730) at window/src/os/x11/connection.rs:217
#25 0x0114880c in window::os::x_and_wayland::{impl#1}::run_message_loop (self=0x40189d8) at window/src/os/x_and_wayland.rs:127
#26 0x00670458 in wezterm_gui::frontend::GuiFrontEnd::run_forever (self=0x4018ae8) at wezterm-gui/src/frontend.rs:92
#27 0x0068b590 in wezterm_gui::run_terminal_gui::{closure#1} () at wezterm-gui/src/main.rs:411
#28 0x004e73bc in wezterm_gui::run_terminal_gui (opts=...) at wezterm-gui/src/main.rs:414
#29 0x004eac60 in wezterm_gui::run () at wezterm-gui/src/main.rs:672
#30 0x004e7828 in wezterm_gui::main () at wezterm-gui/src/main.rs:453
Unfortunately, the stack trace from the faulting thread is completely messed up. Let's try running with verbose logging instead to try to get a sense of what happened leading up to the problem:
WEZTERM_LOG=trace wezterm
that should log a lot of stuff to stderr; please capture and attach it here!
Here's the output of running WEZTERM_LOG=trace target/debug/wezterm-gui
:
2021-12-17T13:07:53.888Z TRACE config > consider config: /home/mb/.config/wezterm/wezterm.lua
2021-12-17T13:07:53.888Z TRACE config > consider config: /home/mb/.wezterm.lua
2021-12-17T13:07:53.987Z DEBUG config > Reloaded configuration! generation=1
2021-12-17T13:07:53.987Z DEBUG config > Reloaded configuration! generation=1
2021-12-17T13:07:53.990Z TRACE wezterm_gui > Using configuration: ConfigHandle {
config: Config {
font_size: 12.0,
line_height: 1.0,
allow_square_glyphs_to_overflow_width: WhenFollowedBySpace,
window_decorations: TITLE | RESIZE,
font_dirs: [],
color_scheme_dirs: [],
dpi: None,
font: TextStyle {
font: [
FontAttributes {
family: "JetBrains Mono",
weight: FontWeight(
400,
),
stretch: Normal,
italic: false,
is_fallback: false,
is_synthetic: false,
},
],
foreground: None,
},
font_rules: [
StyleRule {
intensity: Some(
Half,
),
underline: None,
italic: Some(
true,
),
blink: None,
reverse: None,
strikethrough: None,
invisible: None,
font: TextStyle {
font: [
FontAttributes {
family: "JetBrains Mono",
weight: FontWeight(
200,
),
stretch: Normal,
italic: true,
is_fallback: false,
is_synthetic: true,
},
],
foreground: None,
},
},
StyleRule {
intensity: Some(
Half,
),
underline: None,
italic: Some(
false,
),
blink: None,
reverse: None,
strikethrough: None,
invisible: None,
font: TextStyle {
font: [
FontAttributes {
family: "JetBrains Mono",
weight: FontWeight(
200,
),
stretch: Normal,
italic: false,
is_fallback: false,
is_synthetic: true,
},
],
foreground: None,
},
},
StyleRule {
intensity: Some(
Bold,
),
underline: None,
italic: Some(
false,
),
blink: None,
reverse: None,
strikethrough: None,
invisible: None,
font: TextStyle {
font: [
FontAttributes {
family: "JetBrains Mono",
weight: FontWeight(
600,
),
stretch: Normal,
italic: false,
is_fallback: false,
is_synthetic: true,
},
],
foreground: None,
},
},
StyleRule {
intensity: Some(
Bold,
),
underline: None,
italic: Some(
true,
),
blink: None,
reverse: None,
strikethrough: None,
invisible: None,
font: TextStyle {
font: [
FontAttributes {
family: "JetBrains Mono",
weight: FontWeight(
600,
),
stretch: Normal,
italic: true,
is_fallback: false,
is_synthetic: true,
},
],
foreground: None,
},
},
StyleRule {
intensity: Some(
Normal,
),
underline: None,
italic: Some(
true,
),
blink: None,
reverse: None,
strikethrough: None,
invisible: None,
font: TextStyle {
font: [
FontAttributes {
family: "JetBrains Mono",
weight: FontWeight(
400,
),
stretch: Normal,
italic: true,
is_fallback: false,
is_synthetic: true,
},
],
foreground: None,
},
},
],
bold_brightens_ansi_colors: true,
colors: None,
window_frame: WindowFrameConfig {
inactive_titlebar_bg: RgbColor {
bits: 3487029,
},
active_titlebar_bg: RgbColor {
bits: 2697513,
},
inactive_titlebar_fg: RgbColor {
bits: 13421772,
},
active_titlebar_fg: RgbColor {
bits: 16777215,
},
inactive_titlebar_border_bottom: RgbColor {
bits: 2826306,
},
active_titlebar_border_bottom: RgbColor {
bits: 2826306,
},
button_fg: RgbColor {
bits: 13421772,
},
button_bg: RgbColor {
bits: 2826306,
},
button_hover_fg: RgbColor {
bits: 16777215,
},
button_hover_bg: RgbColor {
bits: 3878994,
},
font: TextStyle {
font: [
FontAttributes {
family: "Cantarell",
weight: FontWeight(
700,
),
stretch: Normal,
italic: false,
is_fallback: false,
is_synthetic: false,
},
FontAttributes {
family: "DejaVu Sans",
weight: FontWeight(
700,
),
stretch: Normal,
italic: false,
is_fallback: false,
is_synthetic: false,
},
],
foreground: None,
},
font_size: 12.0,
},
tab_bar_style: TabBarStyle {
new_tab: " + ",
new_tab_hover: " + ",
},
resolved_palette: Palette {
foreground: None,
background: None,
cursor_fg: None,
cursor_bg: None,
cursor_border: None,
selection_fg: None,
selection_bg: None,
ansi: None,
brights: None,
indexed: {},
tab_bar: None,
scrollbar_thumb: None,
split: None,
visual_bell: None,
},
color_scheme: None,
color_schemes: {},
scrollback_lines: 3500,
default_prog: None,
default_gui_startup_args: [
"start",
],
default_cwd: None,
exit_behavior: CloseOnCleanExit,
set_environment_variables: {},
initial_rows: 24,
enable_kitty_graphics: false,
initial_cols: 80,
hyperlink_rules: [
Rule {
regex: \b\w+://(?:[\w.-]+)\.[a-z]{2,15}\S*\b,
format: "$0",
},
Rule {
regex: \b\w+@[\w-]+(\.[\w-]+)+\b,
format: "mailto:$0",
},
Rule {
regex: \bfile://\S*\b,
format: "$0",
},
],
term: "xterm-256color",
font_locator: FontConfig,
font_rasterizer: FreeType,
font_shaper: Harfbuzz,
freetype_load_target: Normal,
freetype_render_target: None,
freetype_load_flags: DEFAULT,
freetype_interpreter_version: None,
harfbuzz_features: [
"kern",
"liga",
"clig",
],
front_end: OpenGL,
unix_domains: [
UnixDomain {
name: "",
socket_path: None,
connect_automatically: false,
no_serve_automatically: false,
serve_command: None,
proxy_command: None,
skip_permissions_check: false,
read_timeout: 60s,
write_timeout: 60s,
},
],
ssh_domains: [],
ssh_backend: LibSsh,
tls_servers: [],
tls_clients: [],
ratelimit_mux_line_prefetches_per_second: 10,
mux_output_parser_buffer_size: 131072,
mux_env_remove: [
"SSH_AUTH_SOCK",
"SSH_CLIENT",
"SSH_CONNECTION",
],
keys: [],
bypass_mouse_reporting_modifiers: SHIFT,
debug_key_events: false,
disable_default_key_bindings: false,
leader: None,
disable_default_quick_select_patterns: false,
quick_select_patterns: [],
quick_select_alphabet: "asdfqwerzxcvjklmiuopghtybn",
mouse_bindings: [],
disable_default_mouse_bindings: false,
daemon_options: DaemonOptions {
pid_file: None,
stdout: None,
stderr: None,
},
send_composed_key_when_alt_is_pressed: true,
send_composed_key_when_left_alt_is_pressed: false,
send_composed_key_when_right_alt_is_pressed: true,
treat_left_ctrlalt_as_altgr: false,
swap_backspace_and_delete: false,
enable_tab_bar: true,
use_fancy_tab_bar: false,
tab_bar_at_bottom: false,
show_tab_index_in_tab_bar: true,
tab_and_split_indices_are_zero_based: false,
tab_max_width: 16,
hide_tab_bar_if_only_one_tab: false,
enable_scroll_bar: false,
enable_wayland: false,
prefer_egl: true,
custom_block_glyphs: true,
window_padding: WindowPadding {
left: Cells(
1.0,
),
top: Cells(
0.5,
),
right: Cells(
1.0,
),
bottom: Cells(
0.5,
),
},
window_background_image: None,
window_background_gradient: None,
window_background_image_hsb: None,
foreground_text_hsb: HsbTransform {
hue: 1.0,
saturation: 1.0,
brightness: 1.0,
},
window_background_opacity: 1.0,
inactive_pane_hsb: HsbTransform {
hue: 1.0,
saturation: 0.9,
brightness: 0.8,
},
text_background_opacity: 1.0,
cursor_blink_rate: 800,
force_reverse_video_cursor: false,
default_cursor_style: SteadyBlock,
text_blink_rate: 500,
text_blink_rate_rapid: 250,
periodic_stat_logging: 0,
scroll_to_bottom_on_input: true,
use_ime: false,
use_dead_keys: true,
launch_menu: [],
automatically_reload_config: true,
add_wsl_distributions_to_launch_menu: true,
check_for_updates: true,
show_update_window: false,
check_for_updates_interval_seconds: 86400,
enable_csi_u_key_encoding: false,
window_close_confirmation: AlwaysPrompt,
native_macos_fullscreen_mode: false,
selection_word_boundary: " \t\n{[}]()\"'`",
enq_answerback: "",
adjust_window_size_when_changing_font_size: true,
use_resize_increments: false,
alternate_buffer_wheel_scroll_speed: 3,
status_update_interval: 1000,
experimental_shape_post_processing: false,
skip_close_confirmation_for_processes_named: [
"bash",
"sh",
"zsh",
"fish",
"tmux",
"nu",
"cmd.exe",
"pwsh.exe",
"powershell.exe",
],
warn_about_missing_glyphs: true,
sort_fallback_fonts_by_coverage: false,
search_font_dirs_for_fallback: false,
use_cap_height_to_scale_fallback_fonts: false,
swallow_mouse_click_on_pane_focus: false,
pane_focus_follows_mouse: false,
unzoom_on_switch_pane: true,
max_fps: 60,
visual_bell: VisualBell {
fade_in_duration_ms: 0,
fade_in_function: Ease,
fade_out_duration_ms: 0,
fade_out_function: Ease,
target: BackgroundColor,
},
audible_bell: SystemBeep,
canonicalize_pasted_newlines: false,
unicode_version: 9,
},
generation: 1,
}
opts: Opt {
skip_config: false,
config_file: None,
config_override: [],
attach_parent_console: false,
cmd: None,
}
2021-12-17T13:07:53.994Z INFO wezterm_mux_server_impl::local > setting up /run/user/1001/wezterm/gui-sock-25566
2021-12-17T13:07:53.997Z TRACE window::os::x11::connection > picked depth 32 visual id:0x5f, class:4, bits_per_rgb_value:8, colormap entries:256, masks: r=0xff0000,g=0xff00,b=0xff
2021-12-17T13:07:54.009Z TRACE window::os::x11::connection > Failed to read xsettings: get_property: xcb::Error { response_type: 0, error_code: 3 }
2021-12-17T13:07:54.009Z TRACE window::os::x11::connection > xsettings are {}
2021-12-17T13:07:54.010Z TRACE window::os::x11::connection > computed initial dpi: RefCell { value: 96.0 }
2021-12-17T13:07:54.011Z TRACE mio::poll > registering with poller
2021-12-17T13:07:54.011Z TRACE mio::poll > registering with poller
2021-12-17T13:07:54.018Z TRACE mux::domain > spawned: Child { stdin: None, stdout: None, stderr: None, .. }
Segmentation fault (core dumped)
Unfortunately, there's not a lot to go on.
Another thing to try is to run strace wezterm-gui
and grab the last 100 lines or so of output and share it here; perhaps that will give some other clues.
The nature of the fault means that it is unlikely be the Rust code directly in wezterm and more likely due to some conflict or other issue with a system library that somehow goes catastrophically wrong. I would generally suspect the OpenGL/EGL related libraries first: if you can try older or newer versions of those to see if those either behave better or allow more context about the problem to be shared, that might tell us something.
The output of strace target/debug/wezterm-gui
is here.
Running glxinfo
shows that OpenGL's version is 2.1, Mesa is version 21.2.5.
I may be completely naive here but is this because the Pi's do not have an RTC built in?. Just seeing the trace doing a lot of time lookups at the end.
The output was inconclusive. I don't think progress can be made here until someone with good diagnostic skills intersects with this hardware/software combination and has the time to work through it.
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.
What Operating System(s) are you seeing this problem on?
Linux Wayland
Window manager: Sway
WezTerm version
wezterm 20211213-091602-1f958fa1
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
When starting wezterm on Raspberry Pi 4 running Arch Linux, a core dump occurs.
I've built wezterm from its sources on GitHub using these instructions.
In order to get a stacktrace, I also built it in debug mode using
cargo build
and ran it from an xterm instance withThese two lines are printed to standard out and err:
But this didn't produce a stacktrace in the journal.
journalctl
shows this:uname -a
gives:To Reproduce
See above.
Configuration
no config
Expected Behavior
A running wezterm instance.
Logs
See above.
Anything else?
No response