Closed Bug 1955834 Opened 27 days ago Closed 22 days ago

linux system tray icon: crash / segmentation fault at startup

Categories

(Thunderbird :: OS Integration, defect)

Thunderbird 136
defect

Tracking

(thunderbird_esr128 unaffected, thunderbird136 wontfix, thunderbird137 fixed, thunderbird138 fixed)

RESOLVED FIXED
138 Branch
Tracking Status
thunderbird_esr128 --- unaffected
thunderbird136 --- wontfix
thunderbird137 --- fixed
thunderbird138 --- fixed

People

(Reporter: grandiosinstinktiverbussard, Assigned: mkmelin)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Attachments

(1 file)

Steps to reproduce:

  • Upgrade Thunderbird to version 136.0 or 136.0.1 on Arch Linux (with X.Org, XMonad, and xmobar).
  • Start Thunderbird.

Actual results:

Thunderbird immediately crashes with a segmentation fault.

gdb backtrace:

Thread 81 "thunderbird" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffbb1ff6c0 (LWP 3625)]
bt
MOZ_Crash (aFilename=0x7fffbb1fe194 "/usr/src/debug/thunderbird/thunderbird-136.0.1/comm/third_party/rust/ksni/src/service.rs", aLine=106, aReason=0x7fffbb1fe398 "called Result::unwrap() on an Err value: D-Bus error: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead (org.freedesktop.DBus.Error.NotSu"...)
at /usr/src/debug/thunderbird/thunderbird-136.0.1/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:337
337 MOZ_REALLY_CRASH(aLine);
(gdb) bt
#0 MOZ_Crash (aFilename=0x7fffbb1fe194 "/usr/src/debug/thunderbird/thunderbird-136.0.1/comm/third_party/rust/ksni/src/service.rs", aLine=106, aReason=0x7fffbb1fe398 "called Result::unwrap() on an Err value: D-Bus error: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead (org.freedesktop.DBus.Error.NotSu"...)
at /usr/src/debug/thunderbird/thunderbird-136.0.1/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Assertions.h:337
#1 RustMozCrash (aFilename=0x7fffbb1fe194 "/usr/src/debug/thunderbird/thunderbird-136.0.1/comm/third_party/rust/ksni/src/service.rs", aLine=106, aReason=0x7fffbb1fe398 "called Result::unwrap() on an Err value: D-Bus error: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead (org.freedesktop.DBus.Error.NotSu"...) at wrappers.cpp:18
#2 0x00007ffff120d092 in mozglue_static::panic_hook (info=<optimized out>) at lib.rs:102
#3 core::ops::function::Fn::call<fn(&std::panic::PanicHookInfo), (&std::panic::PanicHookInfo)> () at /usr/src/debug/rust/rustc-1.85.1-src/library/core/src/ops/function.rs:79
#4 0x00007ffff1589421 in alloc::boxed::{impl#30}::call<(&std::panic::PanicHookInfo), (dyn core::ops::function::Fn<(&std::panic::PanicHookInfo), Output=()> + core::marker::Send + core::marker::Sync), alloc::alloc::Global> (args=..., self=<optimized out>) at library/alloc/src/boxed.rs:2007
#5 std::panicking::rust_panic_with_hook (payload=..., location=0x7ffff2791420, can_unwind=true, force_no_backtrace=false) at library/std/src/panicking.rs:836
#6 0x00007ffff15bd1d8 in std::panicking::begin_panic_handler::{closure#0} () at library/std/src/panicking.rs:701
#7 0x00007ffff15bd139 in std::sys::backtrace::rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure_env#0}, !> (f=...) at library/std/src/sys/backtrace.rs:168
#8 0x00007ffff15bd90c in std::panicking::begin_panic_handler (info=<optimized out>) at library/std/src/panicking.rs:692
#9 0x00007ffff088bd5f in core::panicking::panic_fmt (fmt=...) at library/core/src/panicking.rs:75
#10 0x00007ffff0892ca5 in core::result::unwrap_failed (msg=..., error=...) at library/core/src/result.rs:1704
#11 0x00007ffff19b0963 in core::result::Result<(), dbus::error::Error>::unwrap<(), dbus::error::Error> (self=...) at /usr/src/debug/rust/rustc-1.85.1-src/library/core/src/result.rs:1109
#12 ksni::service::{impl#0}::spawn_without_dbus_name::{closure#0}<sys_tray::linux::system_tray::SystemTray> () at /usr/src/debug/thunderbird/thunderbird-136.0.1/comm/third_party/rust/ksni/src/service.rs:106
#13 std::sys::backtrace::rust_begin_short_backtrace<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()> (f=...) at /usr/src/debug/rust/rustc-1.85.1-src/library/std/src/sys/backtrace.rs:152
#14 0x00007ffff19f434f in std::thread::{impl#0}::spawn_unchecked
::{closure#1}::{closure#0}<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()> () at /usr/src/debug/rust/rustc-1.85.1-src/library/std/src/thread/mod.rs:564
#15 core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked
::{closure#1}::{closure_env#0}<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()>> (self=...) at /usr/src/debug/rust/rustc-1.85.1-src/library/core/src/panic/unwind_safe.rs:272
#16 std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked
::{closure#1}::{closure_env#0}<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()>>, ()> (data=<error reading variable: Cannot access memory at address 0x0>) at /usr/src/debug/rust/rustc-1.85.1-src/library/std/src/panicking.rs:584
#17 std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked
::{closure#1}::{closure_env#0}<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()>>> (f=<error reading variable: Cannot access memory at address 0x18>) at /usr/src/debug/rust/rustc-1.85.1-src/library/std/src/panicking.rs:547
#18 std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()>>, ()> (f=<error reading variable: Cannot access memory at address 0x18>) at /usr/src/debug/rust/rustc-1.85.1-src/library/std/src/panic.rs:358
#19 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()> () at /usr/src/debug/rust/rustc-1.85.1-src/library/std/src/thread/mod.rs:562
#20 core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<ksni::service::{impl#0}::spawn_without_dbus_name::{closure_env#0}<sys_tray::linux::system_tray::SystemTray>, ()>, ()> () at /usr/src/debug/rust/rustc-1.85.1-src/library/core/src/ops/function.rs:250
#21 0x00007ffff15befeb in alloc::boxed::{impl#28}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> (self=..., args=<optimized out>) at library/alloc/src/boxed.rs:1993
#22 alloc::boxed::{impl#28}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> (self=0x7fffbb209fa0, args=<optimized out>) at library/alloc/src/boxed.rs:1993
#23 std::sys::pal::unix::thread::{impl#2}::new::thread_start (main=0x7fffbb209fa0) at library/std/src/sys/pal/unix/thread.rs:106
#24 0x00007ffff7a7570a in ?? () from /usr/lib/libc.so.6
#25 0x00007ffff7af9aac in ?? () from /usr/lib/libc.so.6

Expected results:

Thunderbird should start and run.

Blocks: 1942125

Would you be able to test with 137.0b3 where the Linux system tray icon is disabled by default?

Flags: needinfo?(grandiosinstinktiverbussard)

I am sorry. Unfortunately, I am not able to quickly test 137.0b3.
It is good news that the tray icon will be disabled by default.
I am confident this will avoid the crash.
However, failing to create a tray icon should not crash the application.
I am going to give feedback when 137.0 is available.
Thank you for your efforts!

Flags: needinfo?(grandiosinstinktiverbussard)
Keywords: crash
Assignee: nobody → mkmelin+mozilla
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Target Milestone: --- → 138 Branch
Duplicate of this bug: 1942318

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/00cd72a7aba6
Avoid startup crash when linux system tray icon process can't be spawn. r=babolivier,heather

Status: ASSIGNED → RESOLVED
Closed: 22 days ago
Resolution: --- → FIXED

Comment on attachment 9474998 [details]
Bug 1955834 - Avoid startup crash when linux system tray icon process can't be spawn. r=babolivier,heather

Uplift Approval Request

  • Please state case for uplift consideration and ensure bug severity is set: Crash fix
  • User impact if declined: May crash
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Daily?: Yes
  • Has the fix been verified in Beta?: Yes
  • Needs manual test from QA?: Yes
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Just adds error handling
  • String changes made/needed: none
Attachment #9474998 - Flags: approval-comm-release?

It looks like the fix didn't make it into version 137.0.
However, setting the mail.biff.show_tray_icon_always option to false in the config editor works as a workaround.
Thank you!

Comment on attachment 9474998 [details]
Bug 1955834 - Avoid startup crash when linux system tray icon process can't be spawn. r=babolivier,heather

[Triage Comment]
Approved for release

Attachment #9474998 - Flags: approval-comm-release? → approval-comm-release+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: