| Summary: | frequent kmal crashes when idle | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] libkleo | Reporter: | Antonio Rojas <arojas> |
| Component: | general | Assignee: | Ingo Klöcker <kloecker> |
| Status: | RESOLVED UPSTREAM | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | 6.4.80 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
Thanks for the report! This was actually a bug in QGpgme. Fixed with 150b23c105f3ea7034e6f106e60686aea4e4a13e (https://dev.gnupg.org/rGPGMEQT150b23c105f3ea7034e6f106e60686aea4e4a13e). |
After upgrading to 25.08 beta, I'm seeing frequent crashes in kmail when idle. The backtrace points at lbkleo code: (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007fd717ea7813 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89 #2 0x00007fd717e4ddc0 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #3 0x00007fd725822e97 in KCrash::defaultCrashHandler (sig=6) at /usr/src/debug/kcrash/kcrash-6.16.0/src/kcrash.cpp:605 #4 <signal handler called> #5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #6 0x00007fd717ea7813 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89 #7 0x00007fd717e4ddc0 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #8 0x00007fd717e3557a in __GI_abort () at abort.c:73 #9 0x00007fd71809a421 in std::__glibcxx_assert_fail (file=file@entry=0x7fd716d55960 "/usr/include/c++/15.1.1/string_view", line=line@entry=301, function=function@entry=0x7fd716d558b8 "constexpr void std::basic_string_view<_CharT, _Traits>::remove_prefix(size_type) [with _CharT = char; _Traits = std::char_traits<char>; size_type = long unsigned int]", condition=condition@entry=0x7fd716d50046 "this->_M_len >= __n") at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/assert_fail.cc:41 #10 0x00007fd716cbd13c in std::basic_string_view<char, std::char_traits<char> >::remove_prefix (__n=<optimized out>, this=<optimized out>) at /usr/include/c++/15.1.1/string_view:301 #11 0x00007fd716cbdb17 in std::basic_string_view<char, std::char_traits<char> >::remove_prefix (this=<synthetic pointer>, __n=<optimized out>) at /usr/include/c++/15.1.1/string_view:258 #12 detail::parse_dn_part (stringv=Python Exception <class 'gdb.error'>: value has been optimized out ) at /usr/src/debug/qgpgme/gpgmeqt/src/dn.cpp:222 #13 parseString (string=...) at /usr/src/debug/qgpgme/gpgmeqt/src/dn.cpp:356 #14 parse_dn (view=...) at /usr/src/debug/qgpgme/gpgmeqt/src/dn.cpp:384 #15 0x00007fd716cd5e5c in QGpgME::DN::DN (this=0x7fff5ce53818, utf8DN=0x7fd598002630 "1.2.840.113549.1.9.1=#636C656D656E732E686575626572676572406161752E6174,CN=Clemens Heuberger,C=AT,L=Klagenfurt,ST=Kärnten,STREE--Type <RET> for more, q to quit, c to continue without paging--c T=Universitätsstraße 65,O=Universität Klagenfurt,OU=AAU,2.5.4.17=#3930"...) at /usr/src/debug/qgpgme/gpgmeqt/src/dn.cpp:491 #16 QGpgME::DN::DN (this=<optimized out>, utf8DN=<optimized out>, this=<optimized out>, utf8DN=<optimized out>) at /usr/src/debug/qgpgme/gpgmeqt/src/dn.cpp:486 #17 0x00007fd7171d2bcb in email (uid=...) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1017 #18 emails (key=...) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1031 #19 0x00007fd7171d36e3 in Kleo::KeyCache::remove (this=this@entry=0x555c764fa7b0, key=...) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1071 #20 0x00007fd7171d5e10 in Kleo::KeyCache::remove (this=this@entry=0x555c764fa7b0, keys=std::vector of length 965, capacity 965 = {...}) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1109 #21 0x00007fd7171d5edf in Kleo::KeyCache::insert (this=0x555c764fa7b0, this@entry=0x555c764e29a0, keys=std::vector of length 965, capacity 965 = {...}) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1279 #22 0x00007fd7171d9019 in Kleo::KeyCache::refresh (this=0x555c764e29a0, keys=std::vector of length 2063267, capacity 6113 = {...}) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1243 #23 0x00007fd7171d937f in Kleo::KeyCache::RefreshKeysJob::Private::updateKeyCache (this=0x555c77d66600) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1559 #24 0x00007fd7171d9589 in Kleo::KeyCache::RefreshKeysJob::Private::jobDone (this=0x555c77d66600, result=...) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1487 #25 Kleo::KeyCache::RefreshKeysJob::Private::jobDone (this=0x555c77d66600, result=...) at /usr/src/debug/libkleo/libkleo-25.07.80/src/models/keycache.cpp:1470 #26 0x00007fd7185d403a in doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4234 #27 0x00007fd716cdcdba in QMetaObject::activate<void, GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error> (sender=<optimized out>, mo=<optimized out>, local_signal_index=0, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:306 #28 QGpgME::ListAllKeysJob::result (this=<optimized out>, _t1=..., _t2=..., _t3=..., _t4=..., _t5=...) at /usr/src/debug/qgpgme/build/6/src/QGpgmeQt6_autogen/include/moc_listallkeysjob.cpp:146 #29 0x00007fd716d1bc0c in QGpgME::_detail::ThreadedJobMixin<QGpgME::ListAllKeysJob, QGpgME::QGpgMEListAllKeysJobPrivate, std::tuple<GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error> >::doEmitResult<GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error> ( this=0x555c79d09f50, tuple=std::tuple containing = {...}) at /usr/include/c++/15.1.1/tuple:249 #30 QGpgME::_detail::ThreadedJobMixin<QGpgME::ListAllKeysJob, QGpgME::QGpgMEListAllKeysJobPrivate, std::tuple<GpgME::KeyListResult, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, std::vector<GpgME::Key, std::allocator<GpgME::Key> >, QString, GpgME::Error> >::slotFinished (this=0x555c79d09f50) at /usr/src/debug/qgpgme/gpgmeqt/src/threadedjobmixin.h:245 #31 0x00007fd7185c36c4 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1410 #32 0x00007fd719701f60 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555c79d09f50, e=0x7fd5840f20a0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3310 #33 0x00007fd718569608 in QCoreApplication::notifyInternal2 (receiver=0x555c79d09f50, event=event@entry=0x7fd5840f20a0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109 #34 0x00007fd7185699f2 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fd5840f20a0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549 #35 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x555c76294d10) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1889 #36 0x00007fd718845c98 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1743 #37 postEventSourceDispatch (s=0x555c762c5700) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #38 0x00007fd714f3b87d in g_main_dispatch (context=0x7fd6f8000f00) at ../glib/glib/gmain.c:3398 #39 0x00007fd714f3ccd7 in g_main_context_dispatch_unlocked (context=0x7fd6f8000f00) at ../glib/glib/gmain.c:4249 #40 g_main_context_iterate_unlocked (context=context@entry=0x7fd6f8000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314 #41 0x00007fd714f3cee5 in g_main_context_iteration (context=0x7fd6f8000f00, may_block=1) at ../glib/glib/gmain.c:4379 #42 0x00007fd718842c72 in QEventDispatcherGlib::processEvents (this=0x555c7629d920, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #43 0x00007fd7185746a6 in QEventLoop::processEvents (this=0x7fff5ce54670, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 #44 QEventLoop::exec (this=0x7fff5ce54670, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 #45 0x00007fd71856e051 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1452 #46 0x00007fd7196fd1da in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2577 #47 0x0000555c58f8edad in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kmail/kmail-25.07.80/src/main.cpp:185