Summary: | Opening a specific JPEG asserts Krita | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Dmitry Kazakov <dimula73> |
Component: | File formats | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | halla |
Priority: | NOR | Keywords: | release_blocker |
Version: | git master (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/calligra/3b0656ea5438215eb9f058d487d9e905d8ad9fb1 | Version Fixed In: | |
Sentry Crash Report: |
Description
Dmitry Kazakov
2013-04-22 15:34:48 UTC
krita(6890)/krita (file handling) KisXMPIO::loadFrom: tagName = "CorrectionMasks" krita(6890): "[ 0: /usr/lib64/libkdecore.so.5(kRealBacktrace(int)+0x38) [0x7fc547494ca8] 1: /home/boud/kde/inst/lib64/libkritaimage.so.12(KisMetaData::Value::operator=(KisMetaData::Value const&)+0x53) [0x7fc54e493ff3] 2: /home/boud/kde/inst/lib64/libkritaui.so.12(+0x32e3d7) [0x7fc54eaaa3d7] 3: /home/boud/kde/master/lib64/kde4/kritajpegimport.so(+0xac58) [0x7fc5110f5c58] 4: /home/boud/kde/master/lib64/kde4/kritajpegimport.so(+0xcd24) [0x7fc5110f7d24] 5: /home/boud/kde/master/lib64/kde4/kritajpegimport.so(+0x72c9) [0x7fc5110f22c9] 6: /home/boud/kde/inst/lib64/libkomain.so.12(+0xf1193) [0x7fc54df06193] 7: /home/boud/kde/inst/lib64/libkomain.so.12(KoFilterChain::invokeChain()+0x112) [0x7fc54defac72] 8: /home/boud/kde/inst/lib64/libkomain.so.12(KoFilterManager::importDocument(QString const&, QString const&, KoFilter::ConversionStatus&)+0x3f1) [0x7fc54def4c21] 9: /home/boud/kde/inst/lib64/libkomain.so.12(KoDocument::openFile()+0x9a9) [0x7fc54de8d439] 10: /home/boud/kde/inst/lib64/libkomain.so.12(KoPart::openFile()+0x6d) [0x7fc54df3f1bd] 11: /usr/lib64/libkparts.so.4(+0x29000) [0x7fc54dbe9000] 12: /usr/lib64/libkparts.so.4(KParts::ReadOnlyPart::openUrl(KUrl const&)+0x154) [0x7fc54dbe95a4] 13: /home/boud/kde/inst/lib64/libkomain.so.12(KoDocument::openUrl(KUrl const&)+0x1ae) [0x7fc54de8ac9e] 14: /home/boud/kde/inst/lib64/libkomain.so.12(KoMainWindow::openDocumentInternal(KUrl const&, KoPart*, KoDocument*)+0x135) [0x7fc54deb2e05] 15: /home/boud/kde/inst/lib64/libkomain.so.12(KoMainWindow::openDocument(KoPart*, KUrl const&)+0x141) [0x7fc54dec0f71] 16: /home/boud/kde/inst/lib64/libkomain.so.12(KoApplication::start()+0xabd) [0x7fc54de7df4d] 17: /home/boud/kde/inst/lib64/libkdeinit4_krita.so(kdemain+0x1c1) [0x7fc54f79d621] 18: /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fc54656da15] 19: krita() [0x400a11] ] " ASSERT: "d->type == Invalid || d->type == v.d->type" in file /home/boud/kde/src/calligra/krita/image/metadata/kis_meta_data_value.cc, line 85 This one also crashes Krita: http://varlamov.me/img/afroexp_put18/00s.jpg krita(11542)/kio (Scheduler) KIO::SchedulerPrivate::jobFinished: KIO::TransferJob(0x494bb40) KIO::Slave(0x4759b20) krita(11542): "[ 0: /usr/lib64/libkdecore.so.5(kRealBacktrace(int)+0x35) [0x7fbc2ee06305] 1: /home/devel/kde-install/calligra/lib64/libkritaimage.so.13(KisMetaData::Value::operator=(KisMetaData::Value const&)+0x55) [0x7fbc35c07765] 2: /home/devel/kde-install/calligra/lib64/libkritaui.so.13(+0x333119) [0x7fbc3621f119] 3: /home/devel/kde-install/calligra/lib64/kde4/kritajpegimport.so(+0xdb31) [0x7fbc07797b31] 4: /home/devel/kde-install/calligra/lib64/kde4/kritajpegimport.so(+0xfc50) [0x7fbc07799c50] 5: /home/devel/kde-install/calligra/lib64/kde4/kritajpegimport.so(+0x6f77) [0x7fbc07790f77] 6: /home/devel/kde-install/calligra/lib64/libkomain.so.13(+0xef93f) [0x7fbc3567393f] 7: /home/devel/kde-install/calligra/lib64/libkomain.so.13(KoFilterChain::invokeChain()+0xd9) [0x7fbc35668539] 8: /home/devel/kde-install/calligra/lib64/libkomain.so.13(KoFilterManager::importDocument(QString const&, QString const&, KoFilter::ConversionStatus&)+0x5fa) [0x7fbc35665eca] 9: /home/devel/kde-install/calligra/lib64/libkomain.so.13(KoDocument::openFile()+0xabe) [0x7fbc355fc3ce] 10: /home/devel/kde-install/calligra/lib64/libkomain.so.13(KoPart::openFile()+0x63) [0x7fbc356aac33] 11: /usr/lib64/libkparts.so.4(+0x26abe) [0x7fbc35356abe] 12: /usr/lib64/libkparts.so.4(KParts::ReadOnlyPart::qt_metacall(QMetaObject::Call, int, void**)+0x1a1) [0x7fbc35358041] 13: /usr/lib64/libkparts.so.4(KParts::ReadWritePart::qt_metacall(QMetaObject::Call, int, void**)+0x25) [0x7fbc35358095] 14: /home/devel/kde-install/calligra/lib64/libkomain.so.13(KoPart::qt_metacall(QMetaObject::Call, int, void**)+0x20) [0x7fbc356ac9d0] 15: /home/devel/kde-install/calligra/lib64/libkritaui.so.13(KisPart2::qt_metacall(QMetaObject::Call, int, void**)+0x18) [0x7fbc3602f528] 16: /usr/lib64/libQtCore.so.4(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x2da) [0x7fbc369cf59a] 17: /usr/lib64/libkdecore.so.5(KJob::result(KJob*)+0x32) [0x7fbc2ee325e2] 18: /usr/lib64/libkdecore.so.5(KJob::emitResult()+0x30) [0x7fbc2ee32620] 19: /usr/lib64/libkio.so.5(KIO::FileCopyJob::slotResult(KJob*)+0x15a) [0x7fbc313736aa] 20: /usr/lib64/libkio.so.5(KIO::FileCopyJob::qt_metacall(QMetaObject::Call, int, void**)+0xe0) [0x7fbc31373450] 21: /usr/lib64/libQtCore.so.4(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x2da) [0x7fbc369cf59a] 22: /usr/lib64/libkdecore.so.5(KJob::result(KJob*)+0x32) [0x7fbc2ee325e2] 23: /usr/lib64/libkdecore.so.5(KJob::emitResult()+0x30) [0x7fbc2ee32620] 24: /usr/lib64/libkio.so.5(KIO::SimpleJob::slotFinished()+0x194) [0x7fbc3136bf24] 25: /usr/lib64/libkio.so.5(KIO::TransferJob::slotFinished()+0x5d) [0x7fbc313738fd] 26: /usr/lib64/libkio.so.5(KIO::TransferJob::qt_metacall(QMetaObject::Call, int, void**)+0x1a1) [0x7fbc31372261] 27: /usr/lib64/libQtCore.so.4(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x2da) [0x7fbc369cf59a] 28: /usr/lib64/libkio.so.5(KIO::SlaveInterface::dispatch(int, QByteArray const&)+0x4f1) [0x7fbc31419091] 29: /usr/lib64/libkio.so.5(KIO::SlaveInterface::dispatch()+0x45) [0x7fbc31415f45] 30: /usr/lib64/libkio.so.5(KIO::Slave::gotInput()+0x5e) [0x7fbc314090fe] 31: /usr/lib64/libkio.so.5(KIO::Slave::qt_metacall(QMetaObject::Call, int, void**)+0x7c) [0x7fbc3140985c] 32: /usr/lib64/libQtCore.so.4(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x2da) [0x7fbc369cf59a] 33: /usr/lib64/libkio.so.5(+0xc59b7) [0x7fbc3133c9b7] 34: /usr/lib64/libkio.so.5(KIO::Connection::qt_metacall(QMetaObject::Call, int, void**)+0x9d) [0x7fbc3133ca5d] 35: /usr/lib64/libQtCore.so.4(QObject::event(QEvent*)+0x36a) [0x7fbc369d314a] 36: /usr/lib64/libQtGui.so.4(QApplicationPrivate::notify_helper(QObject*, QEvent*)+0xb4) [0x7fbc2f3a2be4] 37: /usr/lib64/libQtGui.so.4(QApplication::notify(QObject*, QEvent*)+0x121) [0x7fbc2f3a7a71] 38: /home/devel/kde-install/calligra/lib64/libkomain.so.13(KoApplication::notify(QObject*, QEvent*)+0x1e) [0x7fbc355e950e] 39: /usr/lib64/libQtCore.so.4(QCoreApplication::notifyInternal(QObject*, QEvent*)+0x8c) [0x7fbc369bc81c] 40: /usr/lib64/libQtCore.so.4(QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)+0x338) [0x7fbc369bfbf8] 41: /usr/lib64/libQtGui.so.4(+0x274b7a) [0x7fbc2f446b7a] 42: /usr/lib64/libQtCore.so.4(QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x32) [0x7fbc369bba22] 43: /usr/lib64/libQtCore.so.4(QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x9f) [0x7fbc369bbc1f] 44: /usr/lib64/libQtCore.so.4(QCoreApplication::exec()+0x87) [0x7fbc369bfde7] 45: /home/devel/kde-install/calligra/lib64/libkdeinit4_krita.so(kdemain+0x22d) [0x7fbc36f28d7d] 46: /lib64/libc.so.6(__libc_start_main+0xed) [0x7fbc2dd4023d] 47: krita() [0x400941] ] " ASSERT: "d->type == Invalid || d->type == v.d->type" in file /home/devel/kde-src/calligra/krita/image/metadata/kis_meta_data_value.cc, line 85 KCrash: Application 'krita' crashing... KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit sock_file=/home/dmitry/.kde4/socket-BIGHOSTLIN/kdeinit4__0 Thread 1 (Thread 0x7fbc375597a0 (LWP 11542)): [KCrash Handler] #6 0x00007fbc2dd53d95 in raise () from /lib64/libc.so.6 #7 0x00007fbc2dd552ab in abort () from /lib64/libc.so.6 #8 0x00007fbc368cc9f4 in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at global/qglobal.cpp:2291 #9 0x00007fbc368ccbaf in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7fbc36a1b678 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff4623ce68) at global/qglobal.cpp:2337 #10 0x00007fbc368ccd54 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2520 #11 0x00007fbc368ccd9a in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2036 #12 0x00007fbc35c0782b in KisMetaData::Value::operator= (this=0x63e5788, v=...) at /home/devel/kde-src/calligra/krita/image/metadata/kis_meta_data_value.cc:85 #13 0x00007fbc3621f119 in KisXMPIO::loadFrom (this=<optimized out>, store=0x815eef0, ioDevice=<optimized out>) at /home/devel/kde-src/calligra/krita/ui/kisexiv2/kis_xmp_io.cpp:308 #14 0x00007fbc07797b31 in KisJPEGConverter::decode (this=<optimized out>, uri=<optimized out>) at /home/devel/kde-src/calligra/krita/plugins/formats/jpeg/kis_jpeg_converter.cc:408 #15 0x00007fbc07799c50 in KisJPEGConverter::buildImage (this=0x7fff4623e680, uri=...) at /home/devel/kde-src/calligra/krita/plugins/formats/jpeg/kis_jpeg_converter.cc:440 #16 0x00007fbc07790f77 in KisJPEGImport::convert (this=0x52b9a40, to=<optimized out>) at /home/devel/kde-src/calligra/krita/plugins/formats/jpeg/kis_jpeg_import.cc:72 #17 0x00007fbc3567393f in CalligraFilter::ChainLink::invokeFilter (this=0x47029f0, parentChainLink=<optimized out>) at /home/devel/kde-src/calligra/libs/main/KoFilterChainLink.cpp:90 #18 0x00007fbc35668539 in KoFilterChain::invokeChain (this=0x8c92b0) at /home/devel/kde-src/calligra/libs/main/KoFilterChain.cpp:95 #19 0x00007fbc35665eca in KoFilterManager::importDocument (this=0x48e08d0, url=..., documentMimeType=<optimized out>, status=@0x7fff4623f360) at /home/devel/kde-src/calligra/libs/main/KoFilterManager.cpp:170 #20 0x00007fbc355fc3ce in KoDocument::openFile (this=0x4912930) at /home/devel/kde-src/calligra/libs/main/KoDocument.cpp:1211 #21 0x00007fbc356aac33 in KoPart::openFile (this=0x4ca72f0) at /home/devel/kde-src/calligra/libs/main/KoPart.cpp:199 #22 0x00007fbc35356abe in ?? () from /usr/lib64/libkparts.so.4 #23 0x00007fbc35358041 in KParts::ReadOnlyPart::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkparts.so.4 #24 0x00007fbc35358095 in KParts::ReadWritePart::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkparts.so.4 #25 0x00007fbc356ac9d0 in KoPart::qt_metacall (this=0x4ca72f0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff4623f630) at /home/devel/kde-build/calligra/libs/main/KoPart.moc:79 #26 0x00007fbc3602f528 in KisPart2::qt_metacall (this=0x4ca72f0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=<optimized out>) at /home/devel/kde-build/calligra/krita/ui/moc_kis_part2.cpp:67 #27 0x00007fbc369cf59a in QMetaObject::activate (sender=0x57517c0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff4623f630) at kernel/qobject.cpp:3287 #28 0x00007fbc2ee325e2 in KJob::result(KJob*) () from /usr/lib64/libkdecore.so.5 #29 0x00007fbc2ee32620 in KJob::emitResult() () from /usr/lib64/libkdecore.so.5 #30 0x00007fbc313736aa in KIO::FileCopyJob::slotResult(KJob*) () from /usr/lib64/libkio.so.5 #31 0x00007fbc31373450 in KIO::FileCopyJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkio.so.5 #32 0x00007fbc369cf59a in QMetaObject::activate (sender=0x494bb40, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff4623f7a0) at kernel/qobject.cpp:3287 #33 0x00007fbc2ee325e2 in KJob::result(KJob*) () from /usr/lib64/libkdecore.so.5 #34 0x00007fbc2ee32620 in KJob::emitResult() () from /usr/lib64/libkdecore.so.5 #35 0x00007fbc3136bf24 in KIO::SimpleJob::slotFinished() () from /usr/lib64/libkio.so.5 #36 0x00007fbc313738fd in KIO::TransferJob::slotFinished() () from /usr/lib64/libkio.so.5 #37 0x00007fbc31372261 in KIO::TransferJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkio.so.5 #38 0x00007fbc369cf59a in QMetaObject::activate (sender=0x4759b20, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3287 #39 0x00007fbc31419091 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib64/libkio.so.5 #40 0x00007fbc31415f45 in KIO::SlaveInterface::dispatch() () from /usr/lib64/libkio.so.5 #41 0x00007fbc314090fe in KIO::Slave::gotInput() () from /usr/lib64/libkio.so.5 #42 0x00007fbc3140985c in KIO::Slave::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkio.so.5 #43 0x00007fbc369cf59a in QMetaObject::activate (sender=0x390e040, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3287 #44 0x00007fbc3133c9b7 in ?? () from /usr/lib64/libkio.so.5 #45 0x00007fbc3133ca5d in KIO::Connection::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkio.so.5 #46 0x00007fbc369d314a in QObject::event (this=0x390e040, e=<optimized out>) at kernel/qobject.cpp:1226 #47 0x00007fbc2f3a2be4 in notify_helper (e=0x9e758c0, receiver=0x390e040, this=0x811800) at kernel/qapplication.cpp:4481 #48 QApplicationPrivate::notify_helper (this=0x811800, receiver=0x390e040, e=0x9e758c0) at kernel/qapplication.cpp:4453 #49 0x00007fbc2f3a7a71 in QApplication::notify (this=0x7fff46240a20, receiver=0x390e040, e=0x9e758c0) at kernel/qapplication.cpp:4360 #50 0x00007fbc355e950e in KoApplication::notify (this=<optimized out>, receiver=0x390e040, event=0x9e758c0) at /home/devel/kde-src/calligra/libs/main/KoApplication.cpp:556 #51 0x00007fbc369bc81c in QCoreApplication::notifyInternal (this=0x7fff46240a20, receiver=0x390e040, event=0x9e758c0) at kernel/qcoreapplication.cpp:787 #52 0x00007fbc369bfbf8 in sendEvent (event=0x9e758c0, receiver=0x390e040) at kernel/qcoreapplication.h:215 #53 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x60a390) at kernel/qcoreapplication.cpp:1428 #54 0x00007fbc2f446b7a in sendPostedEvents () at ../../src/corelib/kernel/qcoreapplication.h:220 #55 QEventDispatcherX11::processEvents (this=0x609b70, flags=...) at kernel/qeventdispatcher_x11.cpp:75 #56 0x00007fbc369bba22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #57 0x00007fbc369bbc1f in QEventLoop::exec (this=0x7fff462409e0, flags=...) at kernel/qeventloop.cpp:201 #58 0x00007fbc369bfde7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064 #59 0x00007fbc36f28d7d in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/devel/kde-src/calligra/krita/main.cc:79 #60 0x00007fbc2dd4023d in __libc_start_main () from /lib64/libc.so.6 #61 0x0000000000400941 in _start () at ../sysdeps/x86_64/elf/start.S:113 We really need to make sure we only build against the right libjeg -- the turbo one, iirc. The other one causes color shifts and asserts in the metadata loader. And we need to fix our metadata loader to not assert, but be graceful. Yeah, this assert only happens if the jpeg filter is built against libjpeg.so.8 => /usr/lib64/libjpeg.so.8 (0x00007fc0a208d000) But that seems to be the only one with devel packages on opensuse these days. Git commit 20e4cef24658f7d93aa8c914dce32b9342e1a889 by Dmitry Kazakov. Committed on 14/06/2013 at 11:00. Pushed by dkazakov into branch 'master'. Fixed a crash when opening JPEG files edited in Lightroom We do not support nested arrays/nested structures in the XMP currently. This means that all the information about Adjustment masks applied by the Adobe Lightroom will be lost. This is not ideal of course, but we can live with it for now. Here is an example of XMP tag that will be dropped: GradientBasedCorrections[1]/crs:CorrectionMasks[1]/crs:What M +79 -44 krita/ui/kisexiv2/kis_xmp_io.cpp http://commits.kde.org/calligra/20e4cef24658f7d93aa8c914dce32b9342e1a889 Git commit 3b0656ea5438215eb9f058d487d9e905d8ad9fb1 by Boudewijn Rempt, on behalf of Dmitry Kazakov. Committed on 14/06/2013 at 09:00. Pushed by rempt into branch 'calligra/2.7'. Fixed a crash when opening JPEG files edited in Lightroom We do not support nested arrays/nested structures in the XMP currently. This means that all the information about Adjustment masks applied by the Adobe Lightroom will be lost. This is not ideal of course, but we can live with it for now. Here is an example of XMP tag that will be dropped: GradientBasedCorrections[1]/crs:CorrectionMasks[1]/crs:What M +79 -44 krita/ui/kisexiv2/kis_xmp_io.cpp http://commits.kde.org/calligra/3b0656ea5438215eb9f058d487d9e905d8ad9fb1 |