Summary: | KMail crashes when clicking away from a PGP signed email to another email before the signature is verified | ||
---|---|---|---|
Product: | [Applications] kmail2 | Reporter: | Marc Joliet <marcec> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | REPORTED --- | ||
Severity: | crash | CC: | marcec |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information New crash information added by DrKonqi |
Description
Marc Joliet
2022-12-11 02:32:28 UTC
Created attachment 154529 [details]
New crash information added by DrKonqi
kmail (5.22.0 (22.12.0)) using Qt 5.15.7
This was one of many crashes I got today trying to read the same email several times in a row. So I suppose the bug is now at least partially reproducible.
-- Backtrace (Reduced):
#4 0x00007f29caeff7fe in KMime::Content::headerByType(char const*) const () from /lib64/libKF5Mime.so.5
#5 0x00007f29caf0065a in KMime::Content::contentTransferEncoding(bool) () from /lib64/libKF5Mime.so.5
[...]
#7 0x00007f29caf01777 in KMime::Content::decodedText(bool, bool) () from /lib64/libKF5Mime.so.5
#8 0x00007f29cb571d3d in MimeTreeParser::ObjectTreeParser::extractNodeInfos (isFirstTextPart=<optimized out>, curNode=0x55ba8ec971a0, this=0x7ffccd3ab7d0) at /usr/src/debug/messagelib-22.12.0/mimetreeparser/src/objecttreeparser.cpp:270
#9 MimeTreeParser::ObjectTreeParser::extractNodeInfos (this=this@entry=0x7ffccd3ab7d0, curNode=0x55ba8ec971a0, isFirstTextPart=isFirstTextPart@entry=true) at /usr/src/debug/messagelib-22.12.0/mimetreeparser/src/objecttreeparser.cpp:267
Created attachment 154539 [details]
New crash information added by DrKonqi
kmail (5.22.0 (22.12.0)) using Qt 5.15.7
This is one of the latest crashes. However, I then ran "akonadictl fsck" and "akonadictl vacuum", and immediately afterwards I was finally able to read the emails that were triggering the crash without any visible issue.
-- Backtrace (Reduced):
#4 0x00007f96609fc7fe in KMime::Content::headerByType(char const*) const () from /lib64/libKF5Mime.so.5
#5 0x00007f96609fd65a in KMime::Content::contentTransferEncoding(bool) () from /lib64/libKF5Mime.so.5
[...]
#7 0x00007f96609fe777 in KMime::Content::decodedText(bool, bool) () from /lib64/libKF5Mime.so.5
#8 0x00007f966106ed3d in MimeTreeParser::ObjectTreeParser::extractNodeInfos (isFirstTextPart=<optimized out>, curNode=0x5562b987b240, this=0x7fff079626c0) at /usr/src/debug/messagelib-22.12.0/mimetreeparser/src/objecttreeparser.cpp:270
#9 MimeTreeParser::ObjectTreeParser::extractNodeInfos (this=this@entry=0x7fff079626c0, curNode=0x5562b987b240, isFirstTextPart=isFirstTextPart@entry=true) at /usr/src/debug/messagelib-22.12.0/mimetreeparser/src/objecttreeparser.cpp:267
Created attachment 154581 [details]
New crash information added by DrKonqi
kmail (5.22.0 (22.12.0)) using Qt 5.15.7
So the crashes still happen, and it's really annoying. The backtrace is a little different, but the behaviour I encounter is the same, so I'm assuming this is still the same bug. This is after a recent KDE frameworks update in OpenSuse Tumbleweed.
-- Backtrace (Reduced):
#4 0x00007f076d33d7fe in QVector<KMime::Headers::Base*>::begin (this=<optimized out>) at /usr/include/qt5/QtCore/qvector.h:220
#5 KMime::Content::headerByType (this=this@entry=0x564c37c96040, type=0x7f076d356046 "Content-Transfer-Encoding") at /usr/src/debug/kmime-22.12.0/src/kmime_content.cpp:617
#6 0x00007f076d33e65a in KMime::Content::header<KMime::Headers::ContentTransferEncoding> (create=true, this=0x564c37c96040) at /usr/src/debug/kmime-22.12.0/src/kmime_content.h:681
#7 KMime::Content::contentTransferEncoding (this=0x564c37c96040, create=<optimized out>) at /usr/src/debug/kmime-22.12.0/src/kmime_content.cpp:874
#8 0x00007f076d33f63f in KMime::ContentPrivate::decodeText (this=0x30, q=q@entry=0x564c37c96040) at /usr/src/debug/kmime-22.12.0/src/kmime_content.cpp:729
OK, I think I've determined the precise cause of the crashes. They consistently happen when: - clicking away from an Email, - that is signed with a PGP key, - *before* KMail has finished verifying the signature. If I wait for signature verification to finish, KMail does not crash. Created attachment 155711 [details]
New crash information added by DrKonqi
kmail (5.22.1 (22.12.1)) using Qt 5.15.8
Just adding a new backtrace to show that the bug still occurs, and it still happens consistently when opening an email before PGP signature verification has finished.
-- Backtrace (Reduced):
#4 0x00007ffbec33d7fe in QVector<KMime::Headers::Base*>::begin (this=<optimized out>) at /usr/include/qt5/QtCore/qvector.h:220
#5 KMime::Content::headerByType (this=this@entry=0x56336fe6cd40, type=0x7ffbec356046 "Content-Transfer-Encoding") at /usr/src/debug/kmime-22.12.1/src/kmime_content.cpp:617
#6 0x00007ffbec33e65a in KMime::Content::header<KMime::Headers::ContentTransferEncoding> (create=true, this=0x56336fe6cd40) at /usr/src/debug/kmime-22.12.1/src/kmime_content.h:681
#7 KMime::Content::contentTransferEncoding (this=0x56336fe6cd40, create=<optimized out>) at /usr/src/debug/kmime-22.12.1/src/kmime_content.cpp:874
#8 0x00007ffbec33f63f in KMime::ContentPrivate::decodeText (this=0x21, q=q@entry=0x56336fe6cd40) at /usr/src/debug/kmime-22.12.1/src/kmime_content.cpp:729
Created attachment 160257 [details]
New crash information
I hadn't been able to reproduce the bug recently (maybe for a few weeks, but I'm not exactly sure), so I got adventurous and stopped waiting for the first PGP signature to be verified before looking at other emails. But then it happened again this week, see attached crash report. The reproducer remains the same: launch KMail, select a PGP signed email to read, then select a different email to read before the first one's PGP signature has finished verifying, and KMail should crash.
Created attachment 161434 [details]
New crash information added by DrKonqi
kmail (5.24.0 (23.08.0)) using Qt 5.15.10
Same reproducer as usual: click away from GPG signed email before the signature was verified (this time coincidentally to an email that was *also* GPG signed, in case that might make a difference).
(I guess I'm just going to keep adding these until somebody says otherwise.)
-- Backtrace (Reduced):
#4 0x00007fdc99c54a3e in QVector<KMime::Headers::Base*>::begin (this=<optimized out>) at /usr/include/qt5/QtCore/qvector.h:220
#5 KMime::Content::headerByType (this=this@entry=0x55fe0cffe0c0, type=0x7fdc99c6d040 "Content-Transfer-Encoding") at /usr/src/debug/kmime-23.08.0/src/kmime_content.cpp:626
#6 0x00007fdc99c558aa in KMime::Content::header<KMime::Headers::ContentTransferEncoding> (create=true, this=0x55fe0cffe0c0) at /usr/src/debug/kmime-23.08.0/src/kmime_content.h:681
#7 KMime::Content::contentTransferEncoding (this=this@entry=0x55fe0cffe0c0, create=create@entry=true) at /usr/src/debug/kmime-23.08.0/src/kmime_content.cpp:883
#8 0x00007fdc99c5687f in KMime::ContentPrivate::decodeText (this=0x0, q=q@entry=0x55fe0cffe0c0) at /usr/src/debug/kmime-23.08.0/src/kmime_content.cpp:738
|