[kontact] [Bug 474477] New: Crash when switching mails while PGP verification is still in progress

Andre Heinecke bugzilla_noreply at kde.org
Wed Sep 13 09:22:27 BST 2023


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

            Bug ID: 474477
           Summary: Crash when switching mails while PGP verification is
                    still in progress
    Classification: Applications
           Product: kontact
           Version: unspecified
          Platform: openSUSE
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: kdepim-bugs at kde.org
          Reporter: aheinecke at gnupg.org
  Target Milestone: ---

Application: kontact (5.24.0 (23.08.0))

Qt Version: 5.15.10
Frameworks Version: 5.109.0
Operating System: Linux 6.4.12-1-default x86_64
Windowing System: Wayland
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.7 [KCrashBackend]

-- Information about the crash:
When I view a signed Mail and the verification is not finished, because I have
a large keyring it usually takes a while for the first Mail. This behavior is
completely similar to
https://invent.kde.org/pim/messagelib/-/merge_requests/100 but now with 23.08

The crash can be reproduced every time.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f95c73d6a3e in
QVector<KMime::Headers::Base*>::begin(QTypedArrayData<KMime::Headers::Base*>::const_iterator)
const (this=<optimized out>) at /usr/include/qt5/QtCore/qvector.h:220
#5  KMime::Content::headerByType(char const*) const
(this=this at entry=0x5623bf1cfb80, type=0x7f95c73ef040
"Content-Transfer-Encoding") at
/usr/src/debug/kmime-23.08.0/src/kmime_content.cpp:626
#6  0x00007f95c73d78aa in
KMime::Content::header<KMime::Headers::ContentTransferEncoding>(bool)
(create=true, this=0x5623bf1cfb80) at
/usr/src/debug/kmime-23.08.0/src/kmime_content.h:681
#7  KMime::Content::contentTransferEncoding(bool)
(this=this at entry=0x5623bf1cfb80, create=create at entry=true) at
/usr/src/debug/kmime-23.08.0/src/kmime_content.cpp:883
#8  0x00007f95c73d887f in KMime::ContentPrivate::decodeText(KMime::Content*)
(this=0xb, q=q at entry=0x5623bf1cfb80) at
/usr/src/debug/kmime-23.08.0/src/kmime_content.cpp:738
#9  0x00007f95c73d89c7 in KMime::Content::decodedText(bool, bool)
(this=this at entry=0x5623bf1cfb80, trimText=trimText at entry=false,
removeTrailingNewlines=removeTrailingNewlines at entry=false) at
/usr/src/debug/kmime-23.08.0/src/kmime_content.cpp:368
#10 0x00007f95c67b232d in
MimeTreeParser::ObjectTreeParser::extractNodeInfos(KMime::Content*, bool)
(isFirstTextPart=<optimized out>, curNode=0x5623bf1cfb80, this=0x7ffd16837390)
at
/usr/src/debug/messagelib-23.08.0/mimetreeparser/src/objecttreeparser.cpp:270
#11 MimeTreeParser::ObjectTreeParser::extractNodeInfos(KMime::Content*, bool)
(this=this at entry=0x7ffd16837390, curNode=0x5623bf1cfb80,
isFirstTextPart=isFirstTextPart at entry=true) at
/usr/src/debug/messagelib-23.08.0/mimetreeparser/src/objecttreeparser.cpp:267
#12 0x00007f95c67b4238 in
MimeTreeParser::ObjectTreeParser::parseObjectTree(KMime::Content*, bool)
(this=0x7ffd16837390, node=<optimized out>, parseOnlySingleNode=<optimized
out>) at
/usr/src/debug/messagelib-23.08.0/mimetreeparser/src/objecttreeparser.cpp:122
#13 0x00007f95c68f0c08 in
MessageViewer::ViewerPrivate::parseContent(KMime::Content*)
(this=0x5623bcce2af0, content=0x5623c440e370) at
/usr/src/debug/messagelib-23.08.0/messageviewer/src/viewer/viewer_p.cpp:856
#14 0x00007f95c68fcf11 in MessageViewer::ViewerPrivate::displayMessage()
(this=0x5623bcce2af0) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:307
#15 MessageViewer::ViewerPrivate::updateReaderWin() (this=0x5623bcce2af0) at
/usr/src/debug/messagelib-23.08.0/messageviewer/src/viewer/viewer_p.cpp:2138
#16 0x00007f9647325812 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffd168375e0, r=0x5623bcce2af0, this=0x5623bd308440) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false>(QObject*, int, void**) (sender=0x5623bd12e5f0,
signal_index=3, argv=0x7ffd168375e0) at kernel/qobject.cpp:3925
#18 0x00007f964731e47f in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=<optimized out>, m=m at entry=0x7f95c67cd900
<MimeTreeParser::NodeHelper::staticMetaObject>,
local_signal_index=local_signal_index at entry=0, argv=argv at entry=0x7ffd168375e0)
at kernel/qobject.cpp:3985
#19 0x00007f95c6798a8e in
MimeTreeParser::NodeHelper::update(MimeTreeParser::UpdateMode) (this=<optimized
out>, _t1=<optimized out>) at
/usr/src/debug/messagelib-23.08.0/build/mimetreeparser/src/KPim5MimeTreeParser_autogen/EWIEGA46WW/moc_nodehelper.cpp:133
#20 0x00007f9647325812 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffd168376f0, r=0x5623bd12e5f0, this=0x5623bf7b06f0) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#21 doActivate<false>(QObject*, int, void**) (sender=0x5623c59b9100,
signal_index=3, argv=0x7ffd168376f0) at kernel/qobject.cpp:3925
#22 0x00007f964731e47f in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender at entry=0x5623c59b9100, m=<optimized out>,
local_signal_index=local_signal_index at entry=0, argv=argv at entry=0x7ffd168376f0)
at kernel/qobject.cpp:3985
#23 0x00007f95c67b8134 in
MimeTreeParser::CryptoBodyPartMemento::update(MimeTreeParser::UpdateMode)
(_t1=<optimized out>, this=0x5623c59b9100) at
/usr/src/debug/messagelib-23.08.0/build/mimetreeparser/src/KPim5MimeTreeParser_autogen/YHS7SJUNTZ/moc_cryptobodypartmemento.cpp:144
#24 MimeTreeParser::CryptoBodyPartMemento::notify() (this=0x5623c59b9100) at
/usr/src/debug/messagelib-23.08.0/mimetreeparser/src/memento/cryptobodypartmemento.h:48
#25 MimeTreeParser::VerifyDetachedBodyPartMemento::slotKeyListJobDone()
(this=0x5623c59b9100) at
/usr/src/debug/messagelib-23.08.0/mimetreeparser/src/memento/verifydetachedbodypartmemento.cpp:157
#26 0x00007f9647325812 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffd168377a0, r=0x5623c59b9100, this=0x5623c7095450) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#27 doActivate<false>(QObject*, int, void**) (sender=0x5623c4578cc0,
signal_index=6, argv=0x7ffd168377a0) at kernel/qobject.cpp:3925
#28 0x00007f95c6f35e97 in QGpgME::_detail::ThreadedJobMixin<QGpgME::KeyListJob,
std::tuple<GpgME::KeyListResult, std::vector<GpgME::Key,
std::allocator<GpgME::Key> >, QString, GpgME::Error> >::slotFinished()
(this=0x5623c4578cc0) at
/usr/src/debug/gpgme-1.22.0/lang/qt/src/threadedjobmixin.h:238
#29 0x00007f9647319320 in QObject::event(QEvent*) (this=0x5623c4578cc0,
e=0x7f95d8009250) at kernel/qobject.cpp:1347
#30 0x00007f9647fa519e in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x5623c4578cc0, e=0x7f95d8009250) at
kernel/qapplication.cpp:3640
#31 0x00007f96472ed568 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x5623c4578cc0, event=0x7f95d8009250) at
kernel/qcoreapplication.cpp:1064
#32 0x00007f96472ed72e in QCoreApplication::sendEvent(QObject*, QEvent*)
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1462
#33 0x00007f96472f0b61 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (receiver=0x0, event_type=0, data=0x5623bcca4cd0) at
kernel/qcoreapplication.cpp:1821
#34 0x00007f96472f10a8 in QCoreApplication::sendPostedEvents(QObject*, int)
(receiver=<optimized out>, event_type=<optimized out>) at
kernel/qcoreapplication.cpp:1680
#35 0x00007f9647346c93 in postEventSourceDispatch(GSource*, GSourceFunc,
gpointer) (s=0x5623bccd4a00) at kernel/qeventdispatcher_glib.cpp:277
#36 0x00007f963de699d8 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#37 0x00007f963de69de8 in  () at /lib64/libglib-2.0.so.0
#38 0x00007f963de69e7c in g_main_context_iteration () at
/lib64/libglib-2.0.so.0
#39 0x00007f96473464a6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x5623bcc72480, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#40 0x00007f96472ebffb in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this at entry=0x7ffd16837c80, flags=..., flags at entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#41 0x00007f96472f4490 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#42 0x00005623bad7afd3 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at /usr/src/debug/kontact-23.08.0/src/main.cpp:216
[Inferior 1 (process 12130) detached]

The reporter indicates this bug may be a duplicate of or related to bug 467921.

Reported using DrKonqi

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Kdepim-bugs mailing list