Summary: | Crash when opening picture in Downloads folder when sorting by date | ||
---|---|---|---|
Product: | [Applications] gwenview | Reporter: | pigladal |
Component: | general | Assignee: | Gwenview Bugs <gwenview-bugs-null> |
Status: | RESOLVED UPSTREAM | ||
Severity: | crash | CC: | a.ray, kdebugs, louis, nicolas.fella |
Priority: | NOR | Keywords: | drkonqi |
Version First Reported In: | 23.04.2 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Image file that makes gwenview crash
Terminal output when trying to open an image from my Downloads folder inside Gwenview |
Description
pigladal
2023-06-10 04:58:19 UTC
UPDATE: I tried using Phototonic and that also crashes too in the same circumstances. Could you please attach an affected image? Created attachment 159710 [details]
Image file that makes gwenview crash
When placed inside a folder opening any files from the same folder in Gwenview makes it crash with this in the output: No date in exif header of [FILENAME]
[FILENAME] being this attached file.
Created attachment 159711 [details]
Terminal output when trying to open an image from my Downloads folder inside Gwenview
Output from the terminal when trying to open an image inside the Downloads folder. This bug does not occur when trying to open images outside this folder.
Moving the before mentioned file outside my Downloads folder didn't help hence that image has nothing to do with the bug.
I might try to move all files from my Downloads folder one by one to see if a specific file is causing this.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007ffff3cb08b3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007ffff3c5fabe in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff3c4887f in __GI_abort () at abort.c:79 #4 0x00007ffff3ea4cf9 in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95 #5 0x00007ffff3eb4f6c in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 #6 0x00007ffff3eb4fd7 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:58 #7 0x00007ffff3eb5238 in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x7ffff4044fe8 <typeinfo for std::out_of_range>, dest=0x7ffff3ecb720 <std::out_of_range::~out_of_range()>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:98 #8 0x00007ffff66cc6a1 in Exiv2::DataBuf::c_data (this=0x7fffffffafd0, offset=7) at /home/nico/workspace/exiv2/src/types.cpp:180 #9 0x00007ffff65d156a in Exiv2::Internal::PngChunk::parseTXTChunk (data=..., keysize=6, type=Exiv2::Internal::PngChunk::tEXt_Chunk) at /home/nico/workspace/exiv2/src/pngchunk_int.cpp:113 #10 0x00007ffff65d0f8c in Exiv2::Internal::PngChunk::decodeTXTChunk (pImage=0xdb15a0, data=..., type=Exiv2::Internal::PngChunk::tEXt_Chunk) at /home/nico/workspace/exiv2/src/pngchunk_int.cpp:54 #11 0x00007ffff6700d30 in Exiv2::PngImage::readMetadata (this=0xdb15a0) at /home/nico/workspace/exiv2/src/pngimage.cpp:435 #12 0x00007ffff7d0146e in Gwenview::Exiv2ImageLoader::load (this=0x7fffffffb2b8, filePath=...) at /home/nico/kde/src/gwenview/lib/exiv2imageloader.cpp:88 #13 0x00007ffff7d5728d in Gwenview::TimeUtils::CacheItem::updateFromExif (this=0x14ac728, url=...) at /home/nico/kde/src/gwenview/lib/timeutils.cpp:87 #14 0x00007ffff7d57120 in Gwenview::TimeUtils::CacheItem::update (this=0x14ac728, fileItem=...) at /home/nico/kde/src/gwenview/lib/timeutils.cpp:74 #15 0x00007ffff7d57024 in Gwenview::TimeUtils::dateTimeForFileItem (fileItem=..., cachePolicy=Gwenview::TimeUtils::UseCache) at /home/nico/kde/src/gwenview/lib/timeutils.cpp:139 #16 0x00007ffff7d1ca1d in Gwenview::SortedDirModel::lessThan (this=0x8bd040, left=..., right=...) at /home/nico/kde/src/gwenview/lib/semanticinfo/sorteddirmodel.cpp:275 #17 0x00007ffff44992e0 in QSortFilterProxyModelGreaterThan::operator() (r2=270, r1=274, this=0x7fffffffb5a0) at itemmodels/qsortfilterproxymodel.cpp:105 #18 __gnu_cxx::__ops::_Val_comp_iter<QSortFilterProxyModelGreaterThan>::operator()<int, int*> (__it=0x14a6fa4, __val=@0x7fffffffb558: 274, this=0x7fffffffb5a0) at /usr/include/c++/13/bits/predefined_ops.h:240 #19 std::__unguarded_linear_insert<int*, __gnu_cxx::__ops::_Val_comp_iter<QSortFilterProxyModelGreaterThan> > (__comp=..., __last=0x14a6fa8) at /usr/include/c++/13/bits/stl_algo.h:1799 #20 std::__insertion_sort<int*, __gnu_cxx::__ops::_Iter_comp_iter<QSortFilterProxyModelGreaterThan> > (__first=__first@entry=0x14a6f98, __last=__last@entry=0x14a6fb4, __comp=...) at /usr/include/c++/13/bits/stl_algo.h:1827 #21 0x00007ffff449b340 in std::__chunk_insertion_sort<int*, long, __gnu_cxx::__ops::_Iter_comp_iter<QSortFilterProxyModelGreaterThan> > (__comp=..., __chunk_size=7, __last=0x14a7054, __first=0x14a6f98) at /usr/include/c++/13/bits/stl_algo.h:2706 #22 std::__merge_sort_with_buffer<int*, int*, __gnu_cxx::__ops::_Iter_comp_iter<QSortFilterProxyModelGreaterThan> > (__first=__first@entry=0x14a6f98, __last=__last@entry=0x14a7054, __buffer=__buffer@entry=0xe3fef0, __comp=...) at /usr/include/c++/13/bits/stl_algo.h:2727 #23 0x00007ffff449b4af in std::__stable_sort_adaptive<int*, int*, __gnu_cxx::__ops::_Iter_comp_iter<QSortFilterProxyModelGreaterThan> > (__first=__first@entry=0x14a6ed8, __middle=__middle@entry=0x14a6f98, __last=__last@entry=0x14a7054, __buffer=__buffer@entry=0xe3fef0, __comp=...) at /usr/include/c++/13/bits/stl_algo.h:2748 #24 0x00007ffff448e8c0 in std::__stable_sort<int*, __gnu_cxx::__ops::_Iter_comp_iter<QSortFilterProxyModelGreaterThan> > (__comp=..., __last=0x14a7054, __first=0x14a6ed8) at /usr/include/c++/13/bits/stl_algo.h:5041 #25 std::stable_sort<int*, QSortFilterProxyModelGreaterThan> (__comp=..., __last=0x14a7054, __first=0x14a6ed8) at /usr/include/c++/13/bits/stl_algo.h:5119 #26 QSortFilterProxyModelPrivate::sort_source_rows (this=<optimized out>, source_rows=..., source_parent=...) at itemmodels/qsortfilterproxymodel.cpp:707 #27 0x00007ffff4492fd3 in QSortFilterProxyModelPrivate::source_items_inserted (this=<optimized out>, source_parent=..., start=<optimized out>, end=<optimized out>, orient=Qt::Vertical) at itemmodels/qsortfilterproxymodel.cpp:1060 #28 0x00007ffff4495c9d in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x6234b0, source_parent=..., start=199, end=366) at itemmodels/qsortfilterproxymodel.cpp:1702 #29 0x00007ffff44e87d8 in doActivate<false> (sender=0x8bac50, signal_index=13, argv=0x7fffffffba10) at kernel/qobject.cpp:3935 #30 0x00007ffff44e34d7 in QMetaObject::activate (sender=sender@entry=0x8bac50, m=m@entry=0x7ffff4764900 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffba10) at kernel/qobject.cpp:3983 #31 0x00007ffff446232a in QAbstractItemModel::rowsInserted (this=this@entry=0x8bac50, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at .moc/moc_qabstractitemmodel.cpp:592 #32 0x00007ffff446b510 in QAbstractItemModel::endInsertRows (this=0x8bac50) at itemmodels/qabstractitemmodel.cpp:2780 #33 0x00007ffff7556788 in KDirModelPrivate::_k_slotNewItems (this=0x8bb700, directoryUrl=..., items=...) at /home/nico/kde/src/kio/src/widgets/kdirmodel.cpp:568 #34 0x00007ffff75550b1 in operator() (__closure=0x664660, dirUrl=..., items=...) at /home/nico/kde/src/kio/src/widgets/kdirmodel.cpp:438 #35 0x00007ffff755c63d in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<const QUrl&, const KFileItemList&>, void, KDirModel::setDirLister(KDirLister*)::<lambda(const QUrl&, const KFileItemList&)> >::call(struct {...} &, void **) (f=..., arg=0x7fffffffbf00) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 #36 0x00007ffff755c207 in QtPrivate::Functor<KDirModel::setDirLister(KDirLister*)::<lambda(const QUrl&, const KFileItemList&)>, 2>::call<QtPrivate::List<QUrl const&, KFileItemList const&>, void>(struct {...} &, --Type <RET> for more, q to quit, c to continue without paging-- void *, void **) (f=..., arg=0x7fffffffbf00) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 #37 0x00007ffff755bd32 in QtPrivate::QFunctorSlotObject<KDirModel::setDirLister(KDirLister*)::<lambda(const QUrl&, const KFileItemList&)>, 2, QtPrivate::List<const QUrl&, const KFileItemList&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0x664650, r=0x8bac50, a=0x7fffffffbf00, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443 #38 0x00007ffff44e8651 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffbf00, r=<optimized out>, this=0x664650) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #39 doActivate<false> (sender=0x8bb780, signal_index=16, argv=0x7fffffffbf00) at kernel/qobject.cpp:3923 #40 0x00007ffff71461f8 in KCoreDirLister::itemsAdded (this=0x8bb780, _t1=..., _t2=...) at /home/nico/kde/build/kio/src/core/KF5KIOCore_autogen/include/moc_kcoredirlister.cpp:565 #41 0x00007ffff7143508 in KCoreDirListerPrivate::emitItems (this=0x8b4d80) at /home/nico/kde/src/kio/src/core/kcoredirlister.cpp:2574 #42 0x00007ffff713a325 in KCoreDirListerCache::slotEntries (this=0x7ffff723f820 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, job=0xce5790, entries=...) at /home/nico/kde/src/kio/src/core/kcoredirlister.cpp:1243 #43 0x00007ffff715be70 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<KIO::Job*, QList<KIO::UDSEntry> const&>, void, void (KCoreDirListerCache::*)(KIO::Job*, QList<KIO::UDSEntry> const&)>::call (f=(void (KCoreDirListerCache::*)(KCoreDirListerCache * const, KIO::Job *, const QList<KIO::UDSEntry> &)) 0x7ffff713936e <KCoreDirListerCache::slotEntries(KIO::Job*, QList<KIO::UDSEntry> const&)>, o=0x7ffff723f820 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, arg=0x7fffffffc470) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152 #44 0x00007ffff715a008 in QtPrivate::FunctionPointer<void (KCoreDirListerCache::*)(KIO::Job*, QList<KIO::UDSEntry> const&)>::call<QtPrivate::List<KIO::Job*, QList<KIO::UDSEntry> const&>, void> ( f=(void (KCoreDirListerCache::*)(KCoreDirListerCache * const, KIO::Job *, const QList<KIO::UDSEntry> &)) 0x7ffff713936e <KCoreDirListerCache::slotEntries(KIO::Job*, QList<KIO::UDSEntry> const&)>, o=0x7ffff723f820 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, arg=0x7fffffffc470) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185 #45 0x00007ffff7156a31 in QtPrivate::QSlotObject<void (KCoreDirListerCache::*)(KIO::Job*, QList<KIO::UDSEntry> const&), QtPrivate::List<KIO::Job*, QList<KIO::UDSEntry> const&>, void>::impl (which=1, this_=0xd3f760, r=0x7ffff723f820 <(anonymous namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>, a=0x7fffffffc470, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418 #46 0x00007ffff44e8651 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffc470, r=<optimized out>, this=0xd3f760) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #47 doActivate<false> (sender=0xce5790, signal_index=25, argv=0x7fffffffc470) at kernel/qobject.cpp:3923 #48 0x00007ffff70e4376 in KIO::ListJob::entries (this=0xce5790, _t1=0xce5790, _t2=...) at /home/nico/kde/build/kio/src/core/KF5KIOCore_autogen/include/moc_listjob.cpp:237 #49 0x00007ffff70e30b1 in KIO::ListJobPrivate::slotListEntries (this=0xdae290, list=...) at /home/nico/kde/src/kio/src/core/listjob.cpp:141 #50 0x00007ffff70e3a90 in operator() (__closure=0xdfd790, list=...) at /home/nico/kde/src/kio/src/core/listjob.cpp:273 #51 0x00007ffff70e53c5 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QList<KIO::UDSEntry>&>, void, KIO::ListJobPrivate::start(KIO::Slave*)::<lambda(const KIO::UDSEntryList&)> >::call(struct {...} &, void **) (f=..., arg=0x7fffffffc8a0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 #52 0x00007ffff70e529f in QtPrivate::Functor<KIO::ListJobPrivate::start(KIO::Slave*)::<lambda(const KIO::UDSEntryList&)>, 1>::call<QtPrivate::List<QList<KIO::UDSEntry> const&>, void>(struct {...} &, void *, void **) (f=..., arg=0x7fffffffc8a0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 #53 0x00007ffff70e4e2e in QtPrivate::QFunctorSlotObject<KIO::ListJobPrivate::start(KIO::Slave*)::<lambda(const KIO::UDSEntryList&)>, 1, QtPrivate::List<const QList<KIO::UDSEntry>&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0xdfd780, r=0xce5790, a=0x7fffffffc8a0, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443 #54 0x00007ffff44e8651 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffc8a0, r=<optimized out>, this=0xdfd780) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #55 doActivate<false> (sender=0xcff870, signal_index=9, argv=0x7fffffffc8a0) at kernel/qobject.cpp:3923 #56 0x00007ffff70ce0c7 in KIO::SlaveInterface::listEntries (this=0xcff870, _t1=...) at /home/nico/kde/build/kio/src/core/KF5KIOCore_autogen/include/moc_slaveinterface.cpp:478 #57 0x00007ffff70cb863 in KIO::SlaveInterface::dispatch (this=0xcff870, _cmd=106, rawdata=...) at /home/nico/kde/src/kio/src/core/slaveinterface.cpp:166 #58 0x00007ffff70cb3de in KIO::SlaveInterface::dispatch (this=0xcff870) at /home/nico/kde/src/kio/src/core/slaveinterface.cpp:78 #59 0x00007ffff70cfe9b in KIO::Slave::gotInput (this=0xcff870) at /home/nico/kde/src/kio/src/core/slave.cpp:354 #60 0x00007ffff70d1a80 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KIO::Slave::*)()>::call(void (KIO::Slave::*)(), KIO::Slave*, void**) ( f=(void (KIO::Slave::*)(KIO::Slave * const)) 0x7ffff70cfe48 <KIO::Slave::gotInput()>, o=0xcff870, arg=0x7fffffffccb0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152 #61 0x00007ffff70d1a12 in QtPrivate::FunctionPointer<void (KIO::Slave::*)()>::call<QtPrivate::List<>, void>(void (KIO::Slave::*)(), KIO::Slave*, void**) ( f=(void (KIO::Slave::*)(KIO::Slave * const)) 0x7ffff70cfe48 <KIO::Slave::gotInput()>, o=0xcff870, arg=0x7fffffffccb0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185 #62 0x00007ffff70d197d in QtPrivate::QSlotObject<void (KIO::Slave::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0xe32920, r=0xcff870, a=0x7fffffffccb0, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418 #63 0x00007ffff44e8651 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffccb0, r=<optimized out>, this=0xe32920) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #64 doActivate<false> (sender=0x5252d0, signal_index=3, argv=0x7fffffffccb0) at kernel/qobject.cpp:3923 #65 0x00007ffff70589ef in KIO::Connection::readyRead (this=0x5252d0) at /home/nico/kde/build/kio/src/core/KF5KIOCore_autogen/include/moc_connection_p.cpp:131 #66 0x00007ffff7057b6d in KIO::ConnectionPrivate::dequeue (this=0xdeb060) at /home/nico/kde/src/kio/src/core/connection.cpp:31 #67 0x00007ffff7057b8d in operator() (__closure=0xcbf9f0) at /home/nico/kde/src/kio/src/core/connection.cpp:40 #68 0x00007ffff7059194 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()> >::call(struct {...} &, void **) ( --Type <RET> for more, q to quit, c to continue without paging-- f=..., arg=0xd4e918) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 #69 0x00007ffff70590cd in QtPrivate::Functor<KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0xd4e918) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 #70 0x00007ffff7058e74 in QtPrivate::QFunctorSlotObject<KIO::ConnectionPrivate::commandReceived(const KIO::Task&)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0xcbf9e0, r=0x5252d0, a=0xd4e918, ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443 #71 0x00007ffff44df73b in QObject::event (this=0x5252d0, e=0xd4e8d0) at kernel/qobject.cpp:1347 #72 0x00007ffff53aeb75 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5252d0, e=0xd4e8d0) at kernel/qapplication.cpp:3640 #73 0x00007ffff44b3d48 in QCoreApplication::notifyInternal2 (receiver=0x5252d0, event=0xd4e8d0) at kernel/qcoreapplication.cpp:1064 #74 0x00007ffff44b3f62 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462 #75 0x00007ffff44b71f5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x4fd480) at kernel/qcoreapplication.cpp:1821 #76 0x00007ffff44b74ad in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680 #77 0x00007ffff4506e2f in postEventSourceDispatch (s=0x561930) at kernel/qeventdispatcher_glib.cpp:277 #78 0x00007ffff318b39c in g_main_dispatch (context=0x7fffdc000ee0) at ../glib/gmain.c:3460 #79 g_main_context_dispatch (context=0x7fffdc000ee0) at ../glib/gmain.c:4200 #80 0x00007ffff31e9438 in g_main_context_iterate.isra.0 (context=0x7fffdc000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4276 #81 0x00007ffff3188a23 in g_main_context_iteration (context=0x7fffdc000ee0, may_block=1) at ../glib/gmain.c:4343 #82 0x00007ffff4506919 in QEventDispatcherGlib::processEvents (this=0x566a80, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #83 0x00007ffff44b270b in QEventLoop::exec (this=this@entry=0x7fffffffd280, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #84 0x00007ffff44ba99b in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #85 0x000000000047a3b1 in main (argc=2, argv=0x7fffffffd598) at /home/nico/kde/src/gwenview/app/main.cpp:213 Thanks. This appears to be a regression in the latest exiv2 release. See https://github.com/Exiv2/exiv2/issues/2650 *** Bug 471235 has been marked as a duplicate of this bug. *** *** Bug 472121 has been marked as a duplicate of this bug. *** |