https://bugs.kde.org/show_bug.cgi?id=500563

            Bug ID: 500563
           Summary: Quitting the Proton Mail Bridge app through its tray
                    icon causes it to segfault
    Classification: Frameworks and Libraries
           Product: frameworks-kstatusnotifieritem
           Version: 6.11.0
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: alexander.loh...@gmx.de
          Reporter: oguilhe...@protonmail.com
  Target Milestone: ---

SUMMARY
I am not sure if I'm filing this bug in the proper place, but I am at least
sure that is KDE specific, because the reproduction rate is 5/5 on KDE, but 0/5
on the COSMIC desktop, with their own system tray implementation.

STEPS TO REPRODUCE
1. Be on Arch Linux (not sure if other distros provide a package for Proton
Mail Bridge)
2. Install protonmail-bridge: sudo pacman -S protonmail-bridge
3. Run the GUI app via terminal: protonmail-bridge
4. Once the tray icon loads, right click on it and choose "Quit Bridge"

OBSERVED RESULT
On KDE, Proton Mail Bridge crashes with SIGSEGV.

EXPECTED RESULT
No crash.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.3.1
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2
Kernel Version: 6.13.3-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i5-3570K CPU @ 3.40GHz
Memory: 15,6 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 660
Manufacturer: INTEL
Product Name: B75

ADDITIONAL INFORMATION

gdb backtrace:

(gdb) bt full
#0  0x00007ed6079552bb in QCoreApplicationPrivate::deref (this=0x7ed607ff6ac0
<main_arena>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:2089
#1  QCoreApplicationPrivate::deref (this=0x7ed607ff6ac0 <main_arena>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:2085
#2  0x00007ed607960a31 in operator()<QCoreApplication*> (__closure=<synthetic
pointer>, p=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:424
#3 
QEventLoopLocker::visit<QEventLoopLocker::~QEventLoopLocker()::<lambda(auto:40)>
> (this=0x5cc46db96990, f=...) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:448
        ptr = <optimized out>
        ptr = <optimized out>
#4  QEventLoopLocker::~QEventLoopLocker (this=this@entry=0x5cc46db96990,
this=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:424
#5  0x00007ed600a825b7 in
KStatusNotifierItemPrivate::~KStatusNotifierItemPrivate (this=0x5cc46db96790,
this=<optimized out>)
    at
/usr/src/debug/kstatusnotifieritem/kstatusnotifieritem-6.11.0/src/kstatusnotifieritemprivate_p.h:94
#6  std::default_delete<KStatusNotifierItemPrivate>::operator()
(this=<optimized out>, __ptr=0x5cc46db96790) at
/usr/include/c++/14.2.1/bits/unique_ptr.h:93
#7  std::default_delete<KStatusNotifierItemPrivate>::operator()
(this=<optimized out>, __ptr=0x5cc46db96790) at
/usr/include/c++/14.2.1/bits/unique_ptr.h:87
#8  std::unique_ptr<KStatusNotifierItemPrivate,
std::default_delete<KStatusNotifierItemPrivate> >::~unique_ptr
(this=0x5cc46df80d50, this=<optimized out>)
    at /usr/include/c++/14.2.1/bits/unique_ptr.h:399
        __ptr = @0x5cc46df80d50: 0x5cc46db96790
        __ptr = <optimized out>
#9  KStatusNotifierItem::~KStatusNotifierItem (this=0x5cc46df80d40,
this=<optimized out>) at
/usr/src/debug/kstatusnotifieritem/kstatusnotifieritem-6.11.0/src/kstatusnotifieritem.cpp:86
#10 0x00007ed600a82856 in KStatusNotifierItem::~KStatusNotifierItem
(this=0x5cc46df80d40, this=<optimized out>)
    at
/usr/src/debug/kstatusnotifieritem/kstatusnotifieritem-6.11.0/src/kstatusnotifieritem.cpp:86
#11 0x00007ed600d8aa9f in KDEPlatformSystemTrayIcon::cleanup
(this=0x5cc46df19900)
    at
/usr/src/debug/plasma-integration/plasma-integration-6.3.1/qt6/src/platformtheme/kdeplatformsystemtrayicon.cpp:322
#12 0x00007ed6099e3f80 in QSystemTrayIconPrivate::remove_sys
(this=0x5cc46df19b80) at
/usr/src/debug/qt6-base/qtbase/src/widgets/util/qsystemtrayicon_x11.cpp:231
#13 QSystemTrayIcon::~QSystemTrayIcon (this=this@entry=0x5cc46df193f0,
this=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/widgets/util/qsystemtrayicon.cpp:146
        d = 0x5cc46df19b80
        d = <optimized out>
#14 0x00005cc44b0d9073 in TrayIcon::~TrayIcon (this=0x5cc46df193f0,
__in_chrg=<optimized out>)
    at
/usr/src/debug/protonmail-bridge/proton-bridge/build/bridge-gui_autogen/EWIEGA46WW/../../../internal/frontend/bridge-gui/bridge-gui/TrayIcon.h:38
#15 TrayIcon::~TrayIcon (this=0x5cc46df193f0, __in_chrg=<optimized out>)
    at
/usr/src/debug/protonmail-bridge/proton-bridge/build/bridge-gui_autogen/EWIEGA46WW/../../../internal/frontend/bridge-gui/bridge-gui/TrayIcon.h:38
#16 std::default_delete<TrayIcon>::operator() (this=<optimized out>,
__ptr=0x5cc46df193f0) at /usr/include/c++/14.2.1/bits/unique_ptr.h:93
#17 std::unique_ptr<TrayIcon, std::default_delete<TrayIcon> >::~unique_ptr
(this=0x5cc46dd27728, __in_chrg=<optimized out>) at
/usr/include/c++/14.2.1/bits/unique_ptr.h:399
        __ptr = @0x5cc46dd27728: 0x5cc46df193f0
#18 QMLBackend::~QMLBackend (this=0x5cc46dd276b0, __in_chrg=<optimized out>)
    at
/usr/src/debug/protonmail-bridge/proton-bridge/build/bridge-gui_autogen/EWIEGA46WW/../../../internal/frontend/bridge-gui/bridge-gui/QMLBackend.h:44
#19 0x00005cc44b0d986a in QMLBackend::~QMLBackend (this=0x5cc46dd276b0,
__in_chrg=<optimized out>)
    at
/usr/src/debug/protonmail-bridge/proton-bridge/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h:44
#20 std::default_delete<QMLBackend>::operator() (this=<optimized out>,
__ptr=0x5cc46dd276b0) at /usr/include/c++/14.2.1/bits/unique_ptr.h:93
#21 std::unique_ptr<QMLBackend, std::default_delete<QMLBackend> >::~unique_ptr
(this=0x5cc44b3bbc30 <app()::app+16>, __in_chrg=<optimized out>)
    at /usr/include/c++/14.2.1/bits/unique_ptr.h:399
        __ptr = @0x5cc44b3bbc30: 0x5cc46dd276b0
#22 AppController::~AppController (this=0x5cc44b3bbc20 <app()::app>,
__in_chrg=<optimized out>)
    at
/usr/src/debug/protonmail-bridge/proton-bridge/internal/frontend/bridge-gui/bridge-gui/AppController.cpp:63
#23 0x00007ed607e4e391 in __run_exit_handlers (status=0, listp=0x7ed607ff6680
<__exit_funcs>, run_list_atexit=run_list_atexit@entry=true,
run_dtors=run_dtors@entry=true) at exit.c:118
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        arg = <optimized out>
        f = <optimized out>
        new_exitfn_called = 940
        cur = 0x5cc46df1ee80
        restart = <optimized out>
#24 0x00007ed607e4e46e in __GI_exit (status=<optimized out>) at exit.c:148
#25 0x00007ed607e3548f in __libc_start_call_main
(main=main@entry=0x5cc44b0ccbc0 <main(int, char**)>, argc=argc@entry=1,
argv=argv@entry=0x7ffcf6e69f28)
    at ../sysdeps/nptl/libc_start_call_main.h:74
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140724450795304,
-41646222633800916, 1, 0, 139457757044736, 101998145487960, -41646222648480980,
-199872587854845140}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1, 0x0},
data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}
        not_first_call = <optimized out>
#26 0x00007ed607e3554c in __libc_start_main_impl
    (main=0x5cc44b0ccbc0 <main(int, char**)>, argc=1, argv=0x7ffcf6e69f28,
init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7ffcf6e69f18)
    at ../csu/libc-start.c:360
#27 0x00005cc44b0ced05 in _start ()

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to