Bug 474477 - Crash when switching mails while PGP verification is still in progress
Summary: Crash when switching mails while PGP verification is still in progress
Status: REPORTED
Alias: None
Product: kontact
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-09-13 08:22 UTC by Andre Heinecke
Modified: 2023-09-13 08:22 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andre Heinecke 2023-09-13 08:22:27 UTC
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@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@entry=0x5623bf1cfb80, create=create@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@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@entry=0x5623bf1cfb80, trimText=trimText@entry=false, removeTrailingNewlines=removeTrailingNewlines@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@entry=0x7ffd16837390, curNode=0x5623bf1cfb80, isFirstTextPart=isFirstTextPart@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@entry=0x7f95c67cd900 <MimeTreeParser::NodeHelper::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@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@entry=0x5623c59b9100, m=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@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@entry=0x7ffd16837c80, flags=..., flags@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