Bug 445967 - KMail crashes when opening certain HTML emails with embedded images
Summary: KMail crashes when opening certain HTML emails with embedded images
Status: RESOLVED FIXED
Alias: None
Product: kmail2
Classification: Applications
Component: composer (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-23 09:00 UTC by Huanyu Liu
Modified: 2021-12-17 13:41 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 5.19.0


Attachments
The email that crashes (46.74 KB, application/mbox)
2021-11-23 09:00 UTC, Huanyu Liu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Huanyu Liu 2021-11-23 09:00:28 UTC
Created attachment 143861 [details]
The email that crashes

SUMMARY
KMail crashes when opening certain emails (such as the attached one)

Backtrace:

Application: KMail (kmail), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f46da6b0d49 in ZXing::OneD::Reader::decode(ZXing::BinaryBitmap const&) const () at /lib/x86_64-linux-gnu/libZXing.so.1
#5  0x00007f46da680519 in ZXing::MultiFormatReader::read(ZXing::BinaryBitmap const&) const () at /lib/x86_64-linux-gnu/libZXing.so.1
#6  0x00007f465812bfb3 in KItinerary::BarcodeDecoder::decodeZxing(QImage const&, QFlags<KItinerary::BarcodeDecoder::BarcodeType>, KItinerary::BarcodeDecoder::Result&) const () at /lib/x86_64-linux-gnu/libKPimItinerary.so.5
#7  0x00007f465812c660 in KItinerary::BarcodeDecoder::decodeIfNeeded(QImage const&, QFlags<KItinerary::BarcodeDecoder::BarcodeType>, KItinerary::BarcodeDecoder::Result&) const () at /lib/x86_64-linux-gnu/libKPimItinerary.so.5
#8  0x00007f465812c95a in KItinerary::BarcodeDecoder::decodeBinary(QImage const&, QFlags<KItinerary::BarcodeDecoder::BarcodeType>) const () at /lib/x86_64-linux-gnu/libKPimItinerary.so.5
#9  0x00007f465811a8c8 in  () at /lib/x86_64-linux-gnu/libKPimItinerary.so.5
#10 0x00007f46580fe8e7 in  () at /lib/x86_64-linux-gnu/libKPimItinerary.so.5
#11 0x00007f46580fe91d in  () at /lib/x86_64-linux-gnu/libKPimItinerary.so.5
#12 0x00007f46580fed72 in KItinerary::ExtractorEngine::extract() () at /lib/x86_64-linux-gnu/libKPimItinerary.so.5
#13 0x00007f465831ced8 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/messageviewer/bodypartformatter/messageviewer_bodypartformatter_semantic.so
#14 0x00007f46e6ae22c7 in MimeTreeParser::ObjectTreeParser::processType(KMime::Content*, MimeTreeParser::ProcessResult&, QByteArray const&) () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#15 0x00007f46e6ae2a1e in MimeTreeParser::ObjectTreeParser::parseObjectTreeInternal(KMime::Content*, bool) () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#16 0x00007f46e6ae8159 in MimeTreeParser::MessagePart::parseInternal(KMime::Content*, bool) () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#17 0x00007f46e6aedb54 in MimeTreeParser::AlternativeMessagePart::AlternativeMessagePart(MimeTreeParser::ObjectTreeParser*, KMime::Content*, MimeTreeParser::Util::HtmlMode) () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#18 0x00007f46e6ac9009 in  () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#19 0x00007f46e6ae22c7 in MimeTreeParser::ObjectTreeParser::processType(KMime::Content*, MimeTreeParser::ProcessResult&, QByteArray const&) () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#20 0x00007f46e6ae2a1e in MimeTreeParser::ObjectTreeParser::parseObjectTreeInternal(KMime::Content*, bool) () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#21 0x00007f46e6ae2d8f in MimeTreeParser::ObjectTreeParser::parseObjectTree(KMime::Content*, bool) () at /lib/x86_64-linux-gnu/libKF5MimeTreeParser.so.5abi3
#22 0x00007f46e6e97196 in MessageViewer::ViewerPrivate::parseContent(KMime::Content*) () at /lib/x86_64-linux-gnu/libKF5MessageViewer.so.5abi5
#23 0x00007f46e6e999bc in MessageViewer::ViewerPrivate::displayMessage() () at /lib/x86_64-linux-gnu/libKF5MessageViewer.so.5abi5
#24 0x00007f46e6e9a129 in MessageViewer::ViewerPrivate::updateReaderWin() () at /lib/x86_64-linux-gnu/libKF5MessageViewer.so.5abi5
#25 0x00007f46e8075a53 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007f46e8079aae in QTimer::timeout(QTimer::QPrivateSignal) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007f46e806b65f in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007f46e8b2a6b3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007f46e803e16a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x00007f46e809686b in QTimerInfoList::activateTimers() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007f46e809717c in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007f46e18468bb in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f46e1899f08 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f46e1844003 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007f46e8097548 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007f46e803ca9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007f46e8045024 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x000055a8b65e4a36 in  ()
#39 0x00007f46e796ffd0 in __libc_start_call_main (main=main@entry=0x55a8b65e3960, argc=argc@entry=3, argv=argv@entry=0x7ffcb7cab4d8) at ../sysdeps/nptl/libc_start_call_main.h:58
#40 0x00007f46e797007d in __libc_start_main_impl (main=0x55a8b65e3960, argc=3, argv=0x7ffcb7cab4d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcb7cab4c8) at ../csu/libc-start.c:409
#41 0x000055a8b65e4c75 in  ()
[Inferior 1 (process 12611) detached]

STEPS TO REPRODUCE
1. Download the attached email
2. Open it with KMail

OBSERVED RESULT
KMail crashes

EXPECTED RESULT
The email should be opened and shown

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Ubuntu 22.04
KDE Plasma Version: 5.23.3
KDE Frameworks Version: 5.88.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
It is a HTML email that contains an embedded image. I decoded the base64 content myself, removed the image and re-encoded it, and it didn't crash anymore, so I guess the image may cause the problem. The email is OK with Thunderbird.
(It is a batch-sent mail, and shouldn't contain any personal information. The content is to warn that do not click any suspicious links.)
Comment 1 Huanyu Liu 2021-12-17 13:41:36 UTC
After updating to 5.19.0, the bug was resolved.