Bug 271916

Summary: Digikam crashed when opening editor
Product: [Applications] digikam Reporter: Ben Gouhier <benoit.gouhier>
Component: Database-ModelsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In: 2.0.0
Sentry Crash Report:

Description Ben Gouhier 2011-04-28 12:41:10 UTC
Application: digikam (2.0.0-beta4)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-2-amd64 x86_64
Distribution (Platform): Debian testing

-- Information about the crash:
- What I was doing when the application crashed:
I wanted to rotate a picture of a few degrees, so I opened the editor from the browsing mode with F4. Digikam crashed.

The crash does not seem to be reproducible.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0x7f48c7112a00 (LWP 23562))]

Thread 8 (Thread 0x7f48a1b7b700 (LWP 23563)):
#0  0x00007f48bb24616c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f48bf6b271b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00000000005948fc in Digikam::ScanController::run (this=0x1cfa940) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/digikam/database/scancontroller.cpp:602
#3  0x00007f48bf6b2035 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f48bb2418ba in start_thread () from /lib/libpthread.so.0
#5  0x00007f48be68402d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f48a137a700 (LWP 23564)):
#0  0x00007fffdd2a48f4 in clock_gettime ()
#1  0x00007f48b6a2ee7f in clock_gettime () from /lib/librt.so.1
#2  0x00007f48bf703252 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f48bf7c67dd in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f48bf7c6b65 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f48bf7c55cc in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f48bf7c5675 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f48b9c6d957 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x00007f48b9c6e879 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007f48b9c6ef1d in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00007f48bf7c5de6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f48bf79a022 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f48bf79a26c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f48bf6af7d4 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f48bf77b9b8 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f48bf6b2035 in ?? () from /usr/lib/libQtCore.so.4
#16 0x00007f48bb2418ba in start_thread () from /lib/libpthread.so.0
#17 0x00007f48be68402d in clone () from /lib/libc.so.6
#18 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f48a0b79700 (LWP 23639)):
#0  0x00007f48bb24616c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f48bf6b271b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f48c3b8f402 in Digikam::ParkingThread::run (this=0x23c4320) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/threads/threadmanager.cpp:119
#3  0x00007f48bf6b2035 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f48bb2418ba in start_thread () from /lib/libpthread.so.0
#5  0x00007f48be68402d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f486b06a700 (LWP 23642)):
#0  0x00007f48bb24616c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4898d6b6d2 in ?? () from /usr/lib/libvlccore.so.4
#2  0x00007f48bb2418ba in start_thread () from /lib/libpthread.so.0
#3  0x00007f48be68402d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f4866266700 (LWP 23651)):
#0  0x00007fffdd2a48f4 in clock_gettime ()
#1  0x00007f48b6a2ee7f in clock_gettime () from /lib/librt.so.1
#2  0x00007f48bf703252 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f48bf7c67dd in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f48bf7c6b65 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f48bf7c55cc in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f48bf7c5675 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f48b9c6d957 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x00007f48b9c6e879 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007f48b9c6ef1d in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00007f48bf7c5de6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f48bf79a022 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f48bf79a26c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f48bf6af7d4 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f48bf77b9b8 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f48bf6b2035 in ?? () from /usr/lib/libQtCore.so.4
#16 0x00007f48bb2418ba in start_thread () from /lib/libpthread.so.0
#17 0x00007f48be68402d in clone () from /lib/libc.so.6
#18 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f485f7fe700 (LWP 25177)):
#0  0x00007f48bb24616c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f48bf6b271b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f48667e724c in KIPIPlugins::LoadRawThumbThread::run (this=0x3b19c10) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/extra/kipi-plugins/common/libkipiplugins/dialogs/imagedialog.cpp:537
#3  0x00007f48bf6b2035 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f48bb2418ba in start_thread () from /lib/libpthread.so.0
#5  0x00007f48be68402d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4854f92700 (LWP 26563)):
#0  0x00007f48bb2464d9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f48bf6b2682 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f48bf6a6d78 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f48bf6b2035 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f48bb2418ba in start_thread () from /lib/libpthread.so.0
#5  0x00007f48be68402d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f48c7112a00 (LWP 23562)):
[KCrash Handler]
#6  0x00007f48be5e7165 in raise () from /lib/libc.so.6
#7  0x00007f48be5e9f70 in abort () from /lib/libc.so.6
#8  0x00007f48bf6a870c in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#9  0x00007f48bf6a8a5d in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f48bf6a8bf5 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#11 0x00007f48c35bb40f in QList<Digikam::ImageInfo>::operator[] (this=0x43cd870, i=1) at /usr/include/qt4/QtCore/qlist.h:464
#12 0x00007f48c35b87d9 in Digikam::ImageModel::data (this=<value optimized out>, index=..., role=0) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/models/imagemodel.cpp:983
#13 0x00007f48c35ca9db in Digikam::ImageThumbnailModel::data (this=0x43cd2f8, index=<value optimized out>, role=<value optimized out>) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/models/imagethumbnailmodel.cpp:253
#14 0x00007f48c35a5611 in QModelIndex::data (this=<value optimized out>, arole=<value optimized out>) at /usr/include/qt4/QtCore/qabstractitemmodel.h:398
#15 0x00007f48c35a28b6 in Digikam::ImageHistoryGraphModel::data (this=0x43cd580, index=<value optimized out>, role=0) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/database/imagehistory/imagehistorygraphmodel.cpp:707
#16 0x00007f48c09c5ac6 in QStyledItemDelegate::initStyleOption(QStyleOptionViewItem*, QModelIndex const&) const () from /usr/lib/libQtGui.so.4
#17 0x00000000004b1b33 in Digikam::VersionsDelegate::initStyleOption (this=0x43d6ed0, option=0x7fffdd202020, index=...) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/imageproperties/versionsdelegate.cpp:231
#18 0x00007f48c09c650d in QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () from /usr/lib/libQtGui.so.4
#19 0x00000000004b1621 in Digikam::VersionsDelegate::paint (this=0x43d6ed0, painter=0x7fffdd202890, option=..., index=...) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/imageproperties/versionsdelegate.cpp:215
#20 0x00007f48c095e7fa in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () from /usr/lib/libQtGui.so.4
#21 0x00007f48c09617c0 in QTreeView::drawTree(QPainter*, QRegion const&) const () from /usr/lib/libQtGui.so.4
#22 0x00007f48c09621a3 in QTreeView::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#23 0x00000000004b1f3c in Digikam::VersionsTreeView::paintEvent (this=0x43cd970, e=0x7fffdd203630) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/imageproperties/versionstreeview.cpp:158
#24 0x00007f48c046270e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007f48c080ddc6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x00007f48c091e8d3 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007f48c0963535 in QTreeView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#28 0x00000000004b267b in Digikam::VersionsTreeView::viewportEvent (this=0x43cd970, event=0x7fffdd203630) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/libs/imageproperties/versionstreeview.cpp:255
#29 0x00007f48bf79ae17 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x00007f48c0410ce1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#31 0x00007f48c04158da in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#32 0x00007f48c114e426 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#33 0x00007f48bf79ac8c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#34 0x00007f48c045f5e8 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#35 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#36 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#37 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#38 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#39 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#40 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#41 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#42 0x00007f48c046006c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#43 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#44 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#45 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#46 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#47 0x00007f48c046006c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#48 0x00007f48c046006c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#49 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#50 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#51 0x00007f48c046006c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#52 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#53 0x00007f48c04601af in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#54 0x00007f48c046006c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#55 0x00007f48c046006c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#56 0x00007f48c046006c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#57 0x00007f48c045f32a in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#58 0x00007f48c0623139 in ?? () from /usr/lib/libQtGui.so.4
#59 0x00007f48c06233f9 in ?? () from /usr/lib/libQtGui.so.4
#60 0x00007f48c048ea08 in ?? () from /usr/lib/libQtGui.so.4
#61 0x00007f48c048f7f4 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#62 0x00007f48c04b7832 in ?? () from /usr/lib/libQtGui.so.4
#63 0x00007f48b9c6e4a3 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#64 0x00007f48b9c6ec80 in ?? () from /lib/libglib-2.0.so.0
#65 0x00007f48b9c6ef1d in g_main_context_iteration () from /lib/libglib-2.0.so.0
#66 0x00007f48bf7c5d8f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#67 0x00007f48c04b74de in ?? () from /usr/lib/libQtGui.so.4
#68 0x00007f48bf79a022 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#69 0x00007f48bf79a26c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#70 0x00007f48bf79e76b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#71 0x000000000063f117 in main (argc=7913472, argv=0x7fffdd207ba8) at /home/benoit/Téléchargements/digikam/digikam-2.0.0-beta4/core/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 Marcel Wiesweg 2011-04-30 22:13:46 UTC
I can't really say why this crash happened, but obviously an invalid index was passed to the ImageModel. Recently, a sanity check was added to ImageModel::data which should catch such cases. So I believe this bug is fixes now; feel free to reopen if you can reproduce in the future.