[kleopatra] [Bug 453328] New: Null pointer dereference upon quit

Christopher Yeleighton bugzilla_noreply at kde.org
Tue May 3 07:56:56 BST 2022


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: aheinecke at gnupg.org
          Reporter: giecrilj at stegny.2a.pl
                CC: kdepim-bugs at kde.org, mutz at 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 at entry=0x7f2a60000c30, block=block at entry=1,
dispatch=dispatch at 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 at entry=0x7f2a6913eb80,
flags=..., flags at 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 at entry=6, no_tid=no_tid at 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 at 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 at 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 at entry=0x55cf83e10b68,
expected=expected at entry=0, clockid=clockid at entry=0, abstime=abstime at entry=0x0,
private=private at entry=0, cancel=cancel at entry=true) at futex-internal.c:87
#2  0x00007f2a87ba197f in __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word at entry=0x55cf83e10b68, expected=expected at entry=0,
clockid=clockid at entry=0, abstime=abstime at entry=0x0, private=private at 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 at 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 at entry=0x55cf841a7ad0,
expected=expected at entry=0, clockid=clockid at entry=0, abstime=abstime at entry=0x0,
private=private at entry=0, cancel=cancel at entry=true) at futex-internal.c:87
#2  0x00007f2a87ba197f in __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word at entry=0x55cf841a7ad0, expected=expected at entry=0,
clockid=clockid at entry=0, abstime=abstime at entry=0x0, private=private at 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 at 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 at entry=0x7f2a74000c30,
block=block at entry=1, dispatch=dispatch at 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 at entry=0x7f2a81bf8b50,
flags=..., flags at entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#6  0x00007f2a88070cce in QThread::exec (this=this at 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 at entry=0x55cf83b010e0,
expected=expected at entry=0, clockid=clockid at entry=0, abstime=abstime at entry=0x0,
private=private at entry=0, cancel=cancel at entry=true) at futex-internal.c:87
#2  0x00007f2a87ba197f in __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word at entry=0x55cf83b010e0, expected=expected at entry=0,
clockid=clockid at entry=0, abstime=abstime at entry=0x0, private=private at 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 at entry=0x55cf83afc138,
mutex=mutex at entry=0x55cf83afc118, deadline=...) at
thread/qwaitcondition_unix.cpp:225
#7  0x00007f2a88071b49 in QThread::wait (this=this at 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 on the CC list for the bug.


More information about the Kdepim-bugs mailing list