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

            Bug ID: 467439
           Summary: Crash when selecting multiple mails while pressing
                    Ctrl
    Classification: Applications
           Product: kmail2
           Version: unspecified
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: folders
          Assignee: kdepim-bugs@kde.org
          Reporter: fisc...@unix-ag.uni-kl.de
  Target Milestone: ---

After first filtering mails in the list of mails for a keyword and while
selecting (mouse cursor) several of the found mails while pressing Ctrl, KMail
crashed:

Using Fedora 37, the following program/library versions were used:
KMail 22.12.3
KF5 KMime 22.12.3
Q5 5.15.8
Frameworks 5.103.0

Output on command line up to crash:

kf.notifications: env says KDE is running but SNI unavailable -- check
KDE_FULL_SESSION and XDG_CURRENT_DESKTOP
[New Thread 0x7fff36ffd6c0 (LWP 12933)]
[New Thread 0x7fff367fc6c0 (LWP 12934)]
[New Thread 0x7fff35ffb6c0 (LWP 12935)]
[New Thread 0x7fff357fa6c0 (LWP 12936)]
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
[New Thread 0x7fff1e1bd6c0 (LWP 12942)]
[New Thread 0x7fff1d9bc6c0 (LWP 12943)]
[Detaching after fork from child process 12947]
[Detaching after fork from child process 12949]
[Detaching after fork from child process 12951]
[New Thread 0x7fff0bbff6c0 (LWP 12953)]
[New Thread 0x7fff0abbe6c0 (LWP 12956)]
[New Thread 0x7fff09f2d6c0 (LWP 12957)]
[New Thread 0x7fff0970c6c0 (LWP 12958)]
[New Thread 0x7fff08f0b6c0 (LWP 12959)]
[New Thread 0x7ffef3fff6c0 (LWP 12960)]
[Thread 0x7fff57fff6c0 (LWP 12908) exited]
[Thread 0x7fff767fc6c0 (LWP 12904) exited]
[Thread 0x7fff777fe6c0 (LWP 12902) exited]
[New Thread 0x7fff767fc6c0 (LWP 13009)]
[New Thread 0x7fff777fe6c0 (LWP 13010)]
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x555556efca90) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x555556efca90) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x55555702e190) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x555556e4b8b0) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
[New Thread 0x7fff57fff6c0 (LWP 13019)]
[Detaching after fork from child process 13095]
Recognized the following URL or filename:
"https://fortimail.his.se/releasecontrol?release=1%3Athomas.fischer%40his.se%3AMTY3ODk1OTc0Mi4zNTIwXzU4NTkxMF8xMDkxNDAuMTcwNTczI1EjMzJHOUIyVDQwMjk0MTQwMDAwLCNGI1MjNTY2Njc2I0U%3D%3Aver%3A2%3A01%3A01%3A59cbce3b04f7780ddb461e6fdf6f90f3f0f58606";
Using Firefox executable "/usr/bin/firefox"
[Thread 0x7fff57fff6c0 (LWP 13019) exited]
[New Thread 0x7fff57fff6c0 (LWP 13197)]
[Detaching after fork from child process 13210]
Recognized the following URL or filename:
"https://fortimail.his.se/releasecontrol?release=1%3Athomas.fischer%40his.se%3AMTY3ODk1OTc0Mi4zNTIwXzU4NTkxMF8xMDkxNDAuMTcwNTczI1EjMzJHOUIyVDQwMjk0MTQwMDAwLCNGI1MjNTY2Njc2I0U%3D%3Aver%3A2%3A01%3A01%3A59cbce3b04f7780ddb461e6fdf6f90f3f0f58606";
Using Firefox executable "/usr/bin/firefox"
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x7fff6c05a5e0) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x7fff6c05a5e0) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x7fff6c05a5e0) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x555555c79f30) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
qt.qpa.wayland: setGrabPopup called with a parent,
QtWaylandClient::QWaylandXdgSurface(0x555556a48840) which does not match the
current topmost grabbing popup,
QtWaylandClient::QWaylandXdgSurface(0x55555724c5a0) According to the xdg-shell
protocol, this is not allowed. The wayland QPA plugin is currently handling it
by setting the parent to the topmost grabbing popup. Note, however, that this
may cause positioning errors and popups closing unxpectedly because xdg-shell
mandate that child popups close before parents
org.kde.pim.akonadicore: Failed to open external payload:
"/home/fish/.local/share/akonadi/file_db_data/67/118567_r0" "No such file or
directory"
org.kde.pim.akonadicore: Received response with a different tag!
[New Thread 0x7ffeeb05e6c0 (LWP 13555)]
[Detaching after fork from child process 13556]
[Thread 0x7ffeeb05e6c0 (LWP 13555) exited]
[New Thread 0x7ffeeb05e6c0 (LWP 13558)]
[Detaching after fork from child process 13559]
[Thread 0x7ffeeb05e6c0 (LWP 13558) exited]
[New Thread 0x7ffeeb05e6c0 (LWP 13561)]
[New Thread 0x7ffeea85d6c0 (LWP 13562)]
[Detaching after fork from child process 13563]
[Detaching after fork from child process 13565]
[Thread 0x7ffeeb05e6c0 (LWP 13561) exited]
[Thread 0x7ffeea85d6c0 (LWP 13562) exited]
org.kde.pim.messageviewer: Danger, recursion while displaying a message!

Backtrace as produced by gdb:

Thread 1 "kmail" received signal SIGSEGV, Segmentation fault.
QVector<KMime::Headers::Base*>::begin (this=<optimized out>) at
/usr/include/qt5/QtCore/qvector.h:220
220         inline const_iterator begin(const_iterator = const_iterator())
const noexcept { return d->constBegin(); }
(gdb) bt
#0  QVector<KMime::Headers::Base*>::begin (this=<optimized out>) at
/usr/include/qt5/QtCore/qvector.h:220
#1  KMime::Content::headerByType (this=this@entry=0x555556559cb0,
type=0x7fffed2c0046 "Content-Transfer-Encoding") at
/usr/src/debug/kf5-kmime-22.12.3-1.fc37.x86_64/src/kmime_content.cpp:617
#2  0x00007fffed2a7eee in
KMime::Content::header<KMime::Headers::ContentTransferEncoding> (create=true,
this=0x555556559cb0) at
/usr/src/debug/kf5-kmime-22.12.3-1.fc37.x86_64/src/kmime_content.h:681
#3  KMime::Content::contentTransferEncoding (this=this@entry=0x555556559cb0,
create=create@entry=true) at
/usr/src/debug/kf5-kmime-22.12.3-1.fc37.x86_64/src/kmime_content.cpp:874
#4  0x00007fffed2a8f7f in KMime::ContentPrivate::decodeText (
this=0x7fffecd5f9e0
<QtPrivate::QFunctorSlotObject<Akonadi::SessionPrivate::addJob(Akonadi::Job*)::<lambda(QObject*)>,
1, QtPrivate::List<QObject*>, void>::impl(int, QtPrivate::QSlotObjectBase *,
QObject *, void **, bool *)>,
q=q@entry=0x555556559cb0) at
/usr/src/debug/kf5-kmime-22.12.3-1.fc37.x86_64/src/kmime_content.cpp:729
#5  0x00007fffed2a90bb in KMime::Content::decodedText
(this=this@entry=0x555556559cb0, trimText=trimText@entry=false,
removeTrailingNewlines=removeTrailingNewlines@entry=false)
at /usr/src/debug/kf5-kmime-22.12.3-1.fc37.x86_64/src/kmime_content.cpp:366
#6  0x00007fffed987bb5 in MimeTreeParser::ObjectTreeParser::extractNodeInfos
(isFirstTextPart=<optimized out>, curNode=0x555556559cb0, this=0x7fffffffca70)
at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/mimetreeparser/src/objecttreeparser.cpp:270
#7  MimeTreeParser::ObjectTreeParser::extractNodeInfos
(this=this@entry=0x7fffffffca70, curNode=0x555556559cb0,
isFirstTextPart=isFirstTextPart@entry=true)
at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/mimetreeparser/src/objecttreeparser.cpp:267
#8  0x00007fffed989a48 in MimeTreeParser::ObjectTreeParser::parseObjectTree
(this=0x7fffffffca70, node=<optimized out>, parseOnlySingleNode=<optimized
out>)
at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/mimetreeparser/src/objecttreeparser.cpp:122
#9  0x00007fffedd4b3dc in MessageViewer::ViewerPrivate::parseContent
(this=0x555555c69f40, content=0x555557191d00) at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/messageviewer/src/viewer/viewer_p.cpp:863
#10 0x00007fffedd57f21 in MessageViewer::ViewerPrivate::displayMessage
(this=0x555555c69f40) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:301
#11 MessageViewer::ViewerPrivate::updateReaderWin (this=0x555555c69f40) at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/messageviewer/src/viewer/viewer_p.cpp:2153
#12 0x00007fffeead0e96 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffccc0,
r=<optimized out>, this=0x55555657e2f0) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#13 doActivate<false> (sender=0x555555b029b0, signal_index=3,
argv=0x7fffffffccc0) at kernel/qobject.cpp:3923
#14 0x00007fffeeacbe27 in QMetaObject::activate (sender=<optimized out>,
m=m@entry=0x7fffed9a23c0 <MimeTreeParser::NodeHelper::staticMetaObject>,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffccc0)
at kernel/qobject.cpp:3983
#15 0x00007fffed96d382 in MimeTreeParser::NodeHelper::update (this=<optimized
out>, _t1=<optimized out>)
at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/redhat-linux-build/mimetreeparser/src/KF5MimeTreeParser_autogen/EWIEGA46WW/moc_nodehelper.cpp:133
#16 0x00007fffeead0e96 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffcdd0,
r=<optimized out>, this=0x5555565e1f70) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false> (sender=0x55555706f3a0, signal_index=3,
argv=0x7fffffffcdd0) at kernel/qobject.cpp:3923
#18 0x00007fffeeacbe27 in QMetaObject::activate
(sender=sender@entry=0x55555706f3a0, m=<optimized out>,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffcdd0)
at kernel/qobject.cpp:3983
#19 0x00007fffed98ccd8 in MimeTreeParser::CryptoBodyPartMemento::update
(_t1=<optimized out>, this=0x55555706f3a0)
at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/redhat-linux-build/mimetreeparser/src/KF5MimeTreeParser_autogen/YHS7SJUNTZ/moc_cryptobodypartmemento.cpp:144
#20 MimeTreeParser::CryptoBodyPartMemento::notify (this=<optimized out>,
this=<optimized out>) at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/mimetreeparser/src/memento/cryptobodypartmemento.h:48
#21 MimeTreeParser::VerifyDetachedBodyPartMemento::slotKeyListJobDone
(this=0x55555706f3a0) at
/usr/src/debug/kf5-messagelib-22.12.3-1.fc37.x86_64/mimetreeparser/src/memento/verifydetachedbodypartmemento.cpp:157
#22 0x00007fffeead0e96 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffce80,
r=<optimized out>, this=0x555556fdc490) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#23 doActivate<false> (sender=0x555557530bb0, signal_index=4,
argv=0x7fffffffce80) at kernel/qobject.cpp:3923
#24 0x00007fffed497b29 in QGpgME::_detail::ThreadedJobMixin<QGpgME::KeyListJob,
std::tuple<GpgME::KeyListResult, std::vector<GpgME::Key,
std::allocator<GpgME::Key> >, QString, GpgME::Error> >::slotFinished
(this=0x555557530bb0)
at /usr/src/debug/gpgme-1.17.0-4.fc37.x86_64/lang/qt/src/threadedjobmixin.h:217
#25 0x00007fffeeac8134 in QObject::event (this=0x555557530bb0,
e=0x7ffee0001c70) at kernel/qobject.cpp:1347
#26 0x00007fffef7aed62 in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x555557530bb0, e=0x7ffee0001c70) at
kernel/qapplication.cpp:3640
#27 0x00007fffeea9d4e8 in QCoreApplication::notifyInternal2
(receiver=0x555557530bb0, event=0x7ffee0001c70) at
kernel/qcoreapplication.cpp:1064
#28 0x00007fffeea9d6d2 in QCoreApplication::sendEvent (receiver=<optimized
out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#29 0x00007fffeeaa0854 in QCoreApplicationPrivate::sendPostedEvents
(receiver=0x0, event_type=0, data=0x55555557d3b0) at
kernel/qcoreapplication.cpp:1821
#30 0x00007fffeeaa0aec in QCoreApplication::sendPostedEvents
(receiver=<optimized out>, event_type=<optimized out>) at
kernel/qcoreapplication.cpp:1680
#31 0x00007fffeeaeeb07 in postEventSourceDispatch (s=0x5555555a4d00) at
kernel/qeventdispatcher_glib.cpp:277
#32 0x00007fffe844bc7f in g_main_dispatch (context=0x7fffd4005010) at
../glib/gmain.c:3454
#33 g_main_context_dispatch (context=0x7fffd4005010) at ../glib/gmain.c:4172
#34 0x00007fffe84a2118 in g_main_context_iterate.constprop.0
(context=0x7fffd4005010, block=1, dispatch=1, self=<optimized out>) at
../glib/gmain.c:4248
#35 0x00007fffe8448f00 in g_main_context_iteration (context=0x7fffd4005010,
may_block=1) at ../glib/gmain.c:4313
#36 0x00007fffeeaee5fa in QEventDispatcherGlib::processEvents
(this=0x5555555a9d70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#37 0x00007fffeea9bf3a in QEventLoop::exec (this=this@entry=0x7fffffffd3a0,
flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#38 0x00007fffeeaa4002 in QCoreApplication::exec () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#39 0x00007fffeef5fad0 in QGuiApplication::exec () at
kernel/qguiapplication.cpp:1863
#40 0x00007fffef7aecd9 in QApplication::exec () at kernel/qapplication.cpp:2832
#41 0x0000555555558dbf in main (argc=<optimized out>, argv=<optimized out>) at
/usr/src/debug/kmail-22.12.3-1.fc37.x86_64/src/main.cpp:185

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

Reply via email to