Summary: | Crashes upon exporting | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | tildearrow <tildearrow> |
Component: | File formats | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | halla |
Priority: | NOR | ||
Version: | 4.4.8 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/graphics/krita/commit/5b247c2359ec992d809f25688ce4c06ab5fd0a3f | Version Fixed In: | |
Sentry Crash Report: |
Description
tildearrow
2021-10-23 08:13:57 UTC
Hmm... seems like something related to EXIF metadata present on the image! Here's a backtrace: ``` SAFE ASSERT (krita): "0 && "Unknown alternative array type"" in file /build/krita/src/krita-4.4.8/libs/ui/kisexiv2/kis_exiv2.cpp, line 195 --Type <RET> for more, q to quit, c to continue without paging-- Thread 64 "Thread (pooled)" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff99d65640 (LWP 3029)] 0x00007ffff40fac6c in Exiv2::Exifdatum::Exifdatum(Exiv2::ExifKey const&, Exiv2::Value const*) () from /usr/lib/libexiv2.so.27 (gdb) backtrace #0 0x00007ffff40fac6c in Exiv2::Exifdatum::Exifdatum(Exiv2::ExifKey const&, Exiv2::Value const*) () from /usr/lib/libexiv2.so.27 #1 0x00007ffff40fb3da in Exiv2::ExifData::add(Exiv2::ExifKey const&, Exiv2::Value const*) () from /usr/lib/libexiv2.so.27 #2 0x00007ffff6edb494 in ?? () from /usr/lib/libkritaui.so.20 #3 0x00007ffff6e80cc9 in KisPNGConverter::buildFile(QIODevice*, QRect const&, double, double, KisSharedPtr<KisPaintDevice>, QTypedArrayData<KisSharedPtr<KisAnnotation> >::iterator, QTypedArrayData<KisSharedPtr<KisAnnotation> >::iterator, KisPNGOptions, KisMetaData::Store*) () from /usr/lib/libkritaui.so.20 #4 0x00007fff641e33bf in ?? () from /usr/lib/kritaplugins/kritapngexport.so #5 0x00007ffff70b6228 in KisImportExportManager::doExportImpl(QString const&, QSharedPointer<KisImportExportFilter>, KisPinnedSharedPtr<KisPropertiesConfiguration>) () from /usr/lib/libkritaui.so.20 #6 0x00007ffff70b6603 in KisImportExportManager::doExport(QString const&, QSharedPointer<KisImportExportFilter>, KisPinnedSharedPtr<KisPropertiesConfiguration>, bool) () from /usr/lib/libkritaui.so.20 #7 0x00007ffff70ba897 in ?? () from /usr/lib/libkritaui.so.20 #8 0x00007ffff48932f2 in ?? () from /usr/lib/libQt5Core.so.5 #9 0x00007ffff488ffef in ?? () from /usr/lib/libQt5Core.so.5 #10 0x00007ffff2d55259 in start_thread () from /usr/lib/libpthread.so.0 #11 0x00007ffff44c35e3 in clone () from /usr/lib/libc.so.6 ``` A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1130 Git commit 929c0e6ce856269e0d2be407cc9650f296fcc191 by Sharaf Zaman. Committed on 29/10/2021 at 17:49. Pushed by szaman into branch 'master'. Fix crash when exporting an image with exiv data This is a use after free. As soon as scope of the AutoPtr would end it would be freed and we'd be left with garbage, resulting in a crash. M +1 -1 plugins/metadata/common/kis_exiv2_common.h https://invent.kde.org/graphics/krita/commit/929c0e6ce856269e0d2be407cc9650f296fcc191 Git commit fbe192a178acd2739de52e6c2533c1738e4ea34f by Sharaf Zaman. Committed on 29/10/2021 at 18:18. Pushed by szaman into branch 'master'. Catch an exception when encoding XMP If there's an image with an invalid data Krita enters an undefined state. M +6 -1 plugins/metadata/xmp/kis_xmp_io.cpp https://invent.kde.org/graphics/krita/commit/fbe192a178acd2739de52e6c2533c1738e4ea34f Git commit 5b247c2359ec992d809f25688ce4c06ab5fd0a3f by Sharaf Zaman. Committed on 08/11/2021 at 10:10. Pushed by szaman into branch 'krita/5.0'. Fix crash when exporting an image with exiv data This is a use after free. As soon as scope of the AutoPtr would end it would be freed and we'd be left with garbage, resulting in a crash. (cherry picked from commit 929c0e6ce856269e0d2be407cc9650f296fcc191) M +1 -1 libs/ui/kisexiv2/kis_exiv2.cpp https://invent.kde.org/graphics/krita/commit/5b247c2359ec992d809f25688ce4c06ab5fd0a3f |