https://bugs.kde.org/show_bug.cgi?id=453328
Bug ID: 453328 Summary: Null pointer dereference upon quit Product: kleopatra Version: 3.1.21.220400 Platform: openSUSE RPMs OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: general Assignee: aheine...@gnupg.org Reporter: giecr...@stegny.2a.pl CC: kdepim-b...@kde.org, m...@kde.org Target Milestone: --- SUMMARY Kleopatra crashed when told to quit by Plasma. STEPS TO REPRODUCE 1. Tell Plasma to shut down! OBSERVED RESULT Application: Kleopatra (kleopatra), signal: Aborted Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0} [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55cf83b010e0) at futex-internal.c:57 57 return INTERNAL_SYSCALL_CANCEL (futex_time64, futex_word, op, expected, __preamble__ Thread 7 (Thread 0x7f2a6913f640 (LWP 2001) "QThread"): #0 g_mutex_unlock (mutex=0x7f2a60000c30) at ../glib/gthread-posix.c:1528 #1 0x00007f2a8672740c in g_main_context_iterate (context=context@entry=0x7f2a60000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4213 #2 0x00007f2a8672756f in g_main_context_iteration (context=0x7f2a60000c30, may_block=1) at ../glib/gmain.c:4276 #3 0x00007f2a882ae326 in QEventDispatcherGlib::processEvents (this=0x7f2a60000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007f2a8825555b in QEventLoop::exec (this=this@entry=0x7f2a6913eb80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #5 0x00007f2a88070cce in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #6 0x00007f2a88071e3f in QThreadPrivate::start (arg=0x55cf83b073c8) at thread/qthread_unix.cpp:331 #7 0x00007f2a87ba52ba in start_thread (arg=<optimized out>) at pthread_create.c:442 #8 0x00007f2a87c2f460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 [KCrash Handler] #6 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #7 0x00007f2a87ba71e3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #8 0x00007f2a87b57306 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #9 0x00007f2a87b40813 in __GI_abort () at abort.c:79 #10 0x00007f2a87dfaad5 in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95 #11 0x00007f2a87e05fcc in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 #12 0x00007f2a87e06037 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:58 #13 0x00007f2a87e058ec in __cxxabiv1::__gxx_personality_v0 (version=<optimized out>, actions=10, exception_class=0, ue_header=<optimized out>, context=0x7f2a6993f930) at ../../../../libstdc++-v3/libsupc++/eh_personality.cc:673 #14 0x00007f2a87d47de6 in _Unwind_ForcedUnwind_Phase2 (exc=0x7f2a69940cb0, context=0x7f2a6993f930, frames_p=0x7f2a6993f838) at ../../../libgcc/unwind.inc:183 #15 0x00007f2a87d484e0 in _Unwind_ForcedUnwind (exc=0x7f2a69940cb0, stop=stop@entry=0x7f2a87badf7e <unwind_stop>, stop_argument=<optimized out>) at ../../../libgcc/unwind.inc:218 #16 0x00007f2a87bae126 in __GI___pthread_unwind (buf=<optimized out>) at unwind.c:130 #17 0x00007f2a87ba1191 in __do_cancel () at ../sysdeps/nptl/pthreadP.h:280 #18 __GI___pthread_enable_asynccancel () at cancellation.c:45 #19 0x00007f2a87c1dacd in __GI___close (fd=11) at ../sysdeps/unix/sysv/linux/close.c:27 #20 0x00007f2a86775aeb in g_wakeup_free (wakeup=0x7f2a740039c0) at ../glib/gwakeup.c:266 #21 0x00007f2a867254f2 in g_main_context_unref (context=0x7f2a5c000c30) at ../glib/gmain.c:636 #22 0x00007f2a882ae9da in QEventDispatcherGlib::~QEventDispatcherGlib (this=0x7f2a5c000b70, __in_chrg=<optimized out>) at kernel/qeventdispatcher_glib.cpp:400 #23 0x00007f2a882aea39 in QEventDispatcherGlib::~QEventDispatcherGlib (this=0x7f2a5c000b70, __in_chrg=<optimized out>) at kernel/qeventdispatcher_glib.cpp:402 #24 0x00007f2a8807157c in QThreadPrivate::finish (arg=<optimized out>) at thread/qthread_unix.cpp:380 #25 0x00007f2a88071e47 in __pthread_cleanup_class::~__pthread_cleanup_class (this=<synthetic pointer>, __in_chrg=<optimized out>) at /usr/include/pthread.h:578 #26 QThreadPrivate::start (arg=0x7f2a740069e0) at thread/qthread_unix.cpp:350 #27 0x00007f2a87ba52ba in start_thread (arg=<optimized out>) at pthread_create.c:442 #28 0x00007f2a87c2f460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 5 (Thread 0x7f2a78bdd640 (LWP 1899) "kleopat:disk$0"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55cf83e10b68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007f2a87ba197f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55cf83e10b68, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007f2a87ba45b0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55cf83e10b18, cond=0x55cf83e10b40) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55cf83e10b40, mutex=0x55cf83e10b18) at pthread_cond_wait.c:618 #5 0x00007f2a79084e3b in cnd_wait (mtx=0x55cf83e10b18, cond=0x55cf83e10b40) at ../include/c11/threads_posix.h:155 #6 util_queue_thread_func (input=input@entry=0x55cf83f9cde0) at ../src/util/u_queue.c:294 #7 0x00007f2a7907ef97 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87 #8 0x00007f2a87ba52ba in start_thread (arg=<optimized out>) at pthread_create.c:442 #9 0x00007f2a87c2f460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 4 (Thread 0x7f2a7b249640 (LWP 1898) "kleopatra:rcs0"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55cf841a7ad0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007f2a87ba197f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55cf841a7ad0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007f2a87ba45b0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55cf841a7a80, cond=0x55cf841a7aa8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55cf841a7aa8, mutex=0x55cf841a7a80) at pthread_cond_wait.c:618 #5 0x00007f2a79084e3b in cnd_wait (mtx=0x55cf841a7a80, cond=0x55cf841a7aa8) at ../include/c11/threads_posix.h:155 #6 util_queue_thread_func (input=input@entry=0x55cf83f9c520) at ../src/util/u_queue.c:294 #7 0x00007f2a7907ef97 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87 #8 0x00007f2a87ba52ba in start_thread (arg=<optimized out>) at pthread_create.c:442 #9 0x00007f2a87c2f460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 3 (Thread 0x7f2a81bf9640 (LWP 1724) "QDBusConnection"): #1 0x00007f2a8672744e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f2a740029e0, timeout=<optimized out>, context=0x7f2a74000c30) at ../glib/gmain.c:4516 #2 g_main_context_iterate (context=context@entry=0x7f2a74000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4206 #3 0x00007f2a8672756f in g_main_context_iteration (context=0x7f2a74000c30, may_block=1) at ../glib/gmain.c:4276 #4 0x00007f2a882ae326 in QEventDispatcherGlib::processEvents (this=0x7f2a74000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f2a8825555b in QEventLoop::exec (this=this@entry=0x7f2a81bf8b50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #6 0x00007f2a88070cce in QThread::exec (this=this@entry=0x7f2a894e2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007f2a8946a297 in QDBusConnectionManager::run (this=0x7f2a894e2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179 #8 0x00007f2a88071e3f in QThreadPrivate::start (arg=0x7f2a894e2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:331 #9 0x00007f2a87ba52ba in start_thread (arg=<optimized out>) at pthread_create.c:442 #10 0x00007f2a87c2f460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 2 (Thread 0x7f2a83555640 (LWP 1701) "QXcbEventQueue"): #1 0x00007f2a8715d892 in poll (__timeout=-1, __nfds=1, __fds=0x7f2a83554a88) at /usr/include/bits/poll2.h:48 #2 _xcb_conn_wait (c=0x55cf83a01160, vector=0x0, count=0x0, cond=<optimized out>) at /usr/src/debug/libxcb-1.14-1.8.x86_64/src/xcb_conn.c:480 #3 0x00007f2a8715f2ac in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x55cf83a011a0, c=0x55cf83a01160) at /usr/src/debug/libxcb-1.14-1.8.x86_64/src/xcb_conn.c:446 #4 xcb_wait_for_event (c=0x55cf83a01160) at /usr/src/debug/libxcb-1.14-1.8.x86_64/src/xcb_in.c:697 #5 0x00007f2a8369be50 in QXcbEventQueue::run (this=0x55cf839f2910) at qxcbeventqueue.cpp:228 #6 0x00007f2a88071e3f in QThreadPrivate::start (arg=0x55cf839f2910) at thread/qthread_unix.cpp:331 #7 0x00007f2a87ba52ba in start_thread (arg=<optimized out>) at pthread_create.c:442 #8 0x00007f2a87c2f460 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Thread 1 (Thread 0x7f2a85770980 (LWP 1687) "kleopatra"): #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55cf83b010e0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007f2a87ba197f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55cf83b010e0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007f2a87ba45b0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55cf83b01090, cond=0x55cf83b010b8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55cf83b010b8, mutex=0x55cf83b01090) at pthread_cond_wait.c:618 #5 0x00007f2a88077cbb in QWaitConditionPrivate::wait (deadline=..., deadline=..., this=0x55cf83b01090) at thread/qwaitcondition_unix.cpp:146 #6 QWaitCondition::wait (this=this@entry=0x55cf83afc138, mutex=mutex@entry=0x55cf83afc118, deadline=...) at thread/qwaitcondition_unix.cpp:225 #7 0x00007f2a88071b49 in QThread::wait (this=this@entry=0x7f2a740069e0, deadline=...) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:275 #8 0x000055cf8384c234 in Kleo::SmartCard::ReaderStatus::Private::~Private (this=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qdeadlinetimer.h:68 #9 0x000055cf8384c276 in Kleo::SmartCard::ReaderStatus::Private::~Private (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kleopatra-22.04.0-1.1.x86_64/src/smartcard/readerstatus.cpp:896 #10 std::_Sp_counted_ptr<Kleo::SmartCard::ReaderStatus::Private*, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=<optimized out>) at /usr/include/c++/11/bits/shared_ptr_base.h:348 #11 0x000055cf836f4faa in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x55cf83b07a30) at /usr/include/c++/11/bits/shared_ptr_base.h:168 #12 0x000055cf8385e6fb in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11/bits/shared_ptr_base.h:705 #13 std::__shared_ptr<Kleo::SmartCard::ReaderStatus::Private, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11/bits/shared_ptr_base.h:1154 #14 std::shared_ptr<Kleo::SmartCard::ReaderStatus::Private>::~shared_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11/bits/shared_ptr.h:122 #15 Kleo::SmartCard::ReaderStatus::~ReaderStatus (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kleopatra-22.04.0-1.1.x86_64/src/smartcard/readerstatus.cpp:930 #16 KleopatraApplication::Private::~Private (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kleopatra-22.04.0-1.1.x86_64/src/kleopatraapplication.cpp:105 #17 kdtools::pimpl_ptr<KleopatraApplication::Private>::~pimpl_ptr (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kleopatra-22.04.0-1.1.x86_64/src/utils/pimpl_ptr.h:27 #18 KleopatraApplication::~KleopatraApplication (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kleopatra-22.04.0-1.1.x86_64/src/kleopatraapplication.cpp:255 #19 0x000055cf836eb027 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kleopatra-22.04.0-1.1.x86_64/src/main.cpp:272 EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION -- You are receiving this mail because: You are watching all bug changes.