Bug 335529

Summary: digiKam crashes, when deleting an empty sub-directory
Product: [Applications] digikam Reporter: Axel Krebs <axel.krebs>
Component: Database-SqliteAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version: 4.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.3.0
Sentry Crash Report:

Description Axel Krebs 2014-05-29 13:47:56 UTC
Application: digikam (4.0.0)
KDE Platform Version: 4.13.0
Qt Version: 4.8.6
Operating System: Linux 3.13.0-27-generic i686
Distribution: Ubuntu 14.04 LTS

-- Information about the crash:
- What I was doing when the application crashed:

When browsing through a picture directory, I got across an empty one.

Trying to delete this, digiKam crashed

The crash can be reproduced sometimes.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xad138900 (LWP 14426))]

Thread 6 (Thread 0xad105b40 (LWP 14427)):
#0  0xb7797424 in __kernel_vsyscall ()
#1  0xb47147ab in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xadcb7442 in ?? () from /lib/i386-linux-gnu/libusb-1.0.so.0
#3  0xb3556f70 in start_thread (arg=0xad105b40) at pthread_create.c:312
#4  0xb472370e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 5 (Thread 0xa9d59b40 (LWP 14428)):
#0  0xb7797424 in __kernel_vsyscall ()
#1  0xb355ad4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb47308ec in __pthread_cond_wait (cond=0x87fdb78, mutex=0x87fdb60) at forward.c:149
#3  0xb4a170f5 in wait (time=4294967295, this=0x87fdb60) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x87fdad4, mutex=mutex@entry=0x87fdad0, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x0821c064 in Digikam::ScanController::run (this=0x88eb7f8) at /build/buildd/digikam-4.0.0/core/digikam/database/scancontroller.cpp:725
#6  0xb4a16b6f in QThreadPrivate::start (arg=0x88eb7f8) at thread/qthread_unix.cpp:349
#7  0xb3556f70 in start_thread (arg=0xa9d59b40) at pthread_create.c:312
#8  0xb472370e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 4 (Thread 0xa93ffb40 (LWP 14429)):
#0  0xb7797424 in __kernel_vsyscall ()
#1  0xb47147ab in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xb310320b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb30f43e8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb30f4528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb4b5895f in QEventDispatcherGlib::processEvents (this=0xa8a00468, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0xb4b27823 in QEventLoop::processEvents (this=this@entry=0xa93ff098, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4b27b49 in QEventLoop::exec (this=this@entry=0xa93ff098, flags=...) at kernel/qeventloop.cpp:204
#8  0xb4a1423d in QThread::exec (this=this@entry=0x87fedd0) at thread/qthread.cpp:537
#9  0xb4b07c44 in QInotifyFileSystemWatcherEngine::run (this=0x87fedd0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0xb4a16b6f in QThreadPrivate::start (arg=0x87fedd0) at thread/qthread_unix.cpp:349
#11 0xb3556f70 in start_thread (arg=0xa93ffb40) at pthread_create.c:312
#12 0xb472370e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 3 (Thread 0xa89ffb40 (LWP 14431)):
#0  0xb7797424 in __kernel_vsyscall ()
#1  0xb355ad4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb47308ec in __pthread_cond_wait (cond=0x8d5df50, mutex=0x8d5df38) at forward.c:149
#3  0xb4a170f5 in wait (time=4294967295, this=0x8d5df38) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x8afa820, mutex=mutex@entry=0x8afa81c, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6aa2f34 in Digikam::ParkingThread::run (this=0x8afa810) at /build/buildd/digikam-4.0.0/core/libs/threads/threadmanager.cpp:119
#6  0xb4a16b6f in QThreadPrivate::start (arg=0x8afa810) at thread/qthread_unix.cpp:349
#7  0xb3556f70 in start_thread (arg=0xa89ffb40) at pthread_create.c:312
#8  0xb472370e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 2 (Thread 0xa33f0b40 (LWP 14434)):
#0  0xb3138d2e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb31390f8 in g_mutex_lock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb30f3f8e in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb30f4468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb30f4528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb4b5895f in QEventDispatcherGlib::processEvents (this=0xa2a00468, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0xb4b27823 in QEventLoop::processEvents (this=this@entry=0xa33f0098, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4b27b49 in QEventLoop::exec (this=this@entry=0xa33f0098, flags=...) at kernel/qeventloop.cpp:204
#8  0xb4a1423d in QThread::exec (this=this@entry=0x8f680e0) at thread/qthread.cpp:537
#9  0xb4b07c44 in QInotifyFileSystemWatcherEngine::run (this=0x8f680e0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0xb4a16b6f in QThreadPrivate::start (arg=0x8f680e0) at thread/qthread_unix.cpp:349
#11 0xb3556f70 in start_thread (arg=0xa33f0b40) at pthread_create.c:312
#12 0xb472370e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 1 (Thread 0xad138900 (LWP 14426)):
[KCrash Handler]
#7  0x00000000 in ?? ()
#8  0xae84138e in sqlite3MemCompare (pMem1=pMem1@entry=0xbfc6e908, pMem2=<optimized out>, pColl=0x17160db0) at sqlite3.c:60484
#9  0xae841576 in sqlite3VdbeRecordCompare (nKey1=18, pKey1=0xa94568bf, pPKey2=pPKey2@entry=0xbfc6eb8c) at sqlite3.c:64162
#10 0xae856ba2 in sqlite3BtreeMovetoUnpacked (pCur=0x176e5cf8, pIdxKey=0xbfc6eb8c, intKey=0, biasRight=0, pRes=0xbfc6eb80) at sqlite3.c:55077
#11 0xae881165 in sqlite3VdbeExec (p=p@entry=0x176eadd0) at sqlite3.c:70168
#12 0xae889d8e in sqlite3Step (p=0x176eadd0) at sqlite3.c:64828
#13 sqlite3_step (pStmt=0x176eadd0) at sqlite3.c:64894
#14 0xa9552e9c in QSQLiteResultPrivate::fetchNext (this=this@entry=0x1658df10, values=..., idx=idx@entry=0, initialFetch=initialFetch@entry=true) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:235
#15 0xa9553ebd in QSQLiteResult::exec (this=0x8a83e30) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:447
#16 0xb7742e60 in QSqlQuery::exec (this=this@entry=0xbfc6f018) at kernel/qsqlquery.cpp:949
#17 0xb6a56ea1 in Digikam::DatabaseCoreBackend::exec (this=0x8808b10, query=...) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:1415
#18 0xb6a56f5f in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x8808b10, query=..., boundValue1=...) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:1057
#19 0xb6a57ec3 in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x8808b10, sql=..., boundValue1=...) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:1006
#20 0xb6a57f27 in Digikam::DatabaseCoreBackend::execSql (this=0x8808b10, sql=..., boundValue1=..., values=values@entry=0xbfc6f07c, lastInsertId=lastInsertId@entry=0x0) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:903
#21 0xb6645fc1 in Digikam::AlbumDB::getSetting (this=this@entry=0x8885e40, keyword=...) at /build/buildd/digikam-4.0.0/core/libs/database/albumdb.cpp:972
#22 0xb6646968 in Digikam::AlbumDB::getFilterSettings (this=0x8885e40, imageFilter=imageFilter@entry=0xbfc6f180, videoFilter=videoFilter@entry=0x0, audioFilter=audioFilter@entry=0x0) at /build/buildd/digikam-4.0.0/core/libs/database/albumdb.cpp:1017
#23 0x082954c9 in Digikam::AlbumSettings::getRawFileFilter (this=this@entry=0x887b6f8) at /build/buildd/digikam-4.0.0/core/digikam/utils/albumsettings.cpp:962
#24 0x0816f78a in Digikam::KipiInterface::hostSetting (this=0x15f6fd78, settingName=...) at /build/buildd/digikam-4.0.0/core/utilities/kipiiface/kipiinterface.cpp:363
#25 0x08170616 in Digikam::KipiInterface::currentAlbum (this=0x15f6fd78) at /build/buildd/digikam-4.0.0/core/utilities/kipiiface/kipiinterface.cpp:110
#26 0x995a261a in KIPIAdvancedSlideshowPlugin::Plugin_AdvancedSlideshow::slotAlbumChanged (this=0x1409d840, anyAlbum=true) at /build/buildd/digikam-4.0.0/extra/kipi-plugins/advancedslideshow/plugin/plugin_advancedslideshow.cpp:175
#27 0xb4b3e0f7 in QMetaObject::activate (sender=0x15f6fd78, m=0x8616010 <KIPI::Interface::staticMetaObject>, local_signal_index=1, argv=0xbfc6f3c8) at kernel/qobject.cpp:3539
#28 0xb6da331d in KIPI::Interface::currentAlbumChanged(bool) () from /usr/lib/libkipi.so.11
#29 0x08170510 in slotCurrentAlbumChanged (albums=..., this=0x15f6fd78) at /build/buildd/digikam-4.0.0/core/utilities/kipiiface/kipiinterface.cpp:283
#30 Digikam::KipiInterface::qt_static_metacall (_o=_o@entry=0x15f6fd78, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfc6f4e8) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/kipiinterface.moc:54
#31 0xb4b3e0f7 in QMetaObject::activate (sender=sender@entry=0x88e4568, m=m@entry=0x84bb32c <Digikam::AlbumManager::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0xbfc6f4e8) at kernel/qobject.cpp:3539
#32 0x081ed0b0 in signalAlbumCurrentChanged (_t1=..., this=0x88e4568) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/albummanager.moc:267
#33 Digikam::AlbumManager::setCurrentAlbums (this=0x88e4568, albums=...) at /build/buildd/digikam-4.0.0/core/digikam/album/albummanager.cpp:1849
#34 0x0820b823 in Digikam::AbstractAlbumTreeView::slotSelectionChanged (this=this@entry=0x1316b828) at /build/buildd/digikam-4.0.0/core/digikam/album/albumtreeview.cpp:582
#35 0x0820d734 in Digikam::AbstractAlbumTreeView::qt_static_metacall (_o=_o@entry=0x1316b828, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=12, _a=0xbfc6f634) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/albumtreeview.moc:99
#36 0xb4b3e0f7 in QMetaObject::activate (sender=sender@entry=0x10323f28, m=m@entry=0xb59edb68 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0xbfc6f634) at kernel/qobject.cpp:3539
#37 0xb566905d in QItemSelectionModel::selectionChanged (this=0x10323f28, _t1=..., _t2=...) at .moc/release-shared/moc_qitemselectionmodel.cpp:165
#38 0xb566e8d9 in QItemSelectionModel::emitSelectionChanged (this=0x10323f28, newSelection=..., oldSelection=...) at itemviews/qitemselectionmodel.cpp:1600
#39 0xb566f0df in QItemSelectionModel::select (this=0x10323f28, selection=..., command=...) at itemviews/qitemselectionmodel.cpp:1110
#40 0xb5659527 in QTreeViewPrivate::select (this=0x1316b868, topIndex=..., bottomIndex=..., command=...) at itemviews/qtreeview.cpp:3683
#41 0xb5659da8 in QTreeView::setSelection (this=0x1316b828, rect=..., command=...) at itemviews/qtreeview.cpp:2293
#42 0xb56130f9 in QAbstractItemView::mousePressEvent (this=this@entry=0x1316b828, event=event@entry=0xbfc701f4) at itemviews/qabstractitemview.cpp:1690
#43 0xb565ea28 in QTreeView::mousePressEvent (this=this@entry=0x1316b828, event=event@entry=0xbfc701f4) at itemviews/qtreeview.cpp:1831
#44 0x0820dcd0 in Digikam::AbstractAlbumTreeView::mousePressEvent (this=0x1316b828, e=0xbfc701f4) at /build/buildd/digikam-4.0.0/core/digikam/album/albumtreeview.cpp:624
#45 0xb50df1e3 in QWidget::event (this=this@entry=0x1316b828, event=event@entry=0xbfc701f4) at kernel/qwidget.cpp:8372
#46 0xb54e578c in QFrame::event (this=this@entry=0x1316b828, e=e@entry=0xbfc701f4) at widgets/qframe.cpp:557
#47 0xb5573e48 in QAbstractScrollArea::viewportEvent (this=this@entry=0x1316b828, e=e@entry=0xbfc701f4) at widgets/qabstractscrollarea.cpp:1043
#48 0xb5618ddc in QAbstractItemView::viewportEvent (this=this@entry=0x1316b828, event=0xbfc701f4) at itemviews/qabstractitemview.cpp:1644
#49 0xb565e606 in QTreeView::viewportEvent (this=0x1316b828, event=0xbfc701f4) at itemviews/qtreeview.cpp:1252
#50 0x0820df95 in Digikam::AbstractAlbumTreeView::viewportEvent (this=this@entry=0x1316b828, event=event@entry=0xbfc701f4) at /build/buildd/digikam-4.0.0/core/digikam/album/albumtreeview.cpp:725
#51 0x08204b74 in Digikam::AlbumSelectionTreeView::viewportEvent (this=0x1316b828, event=0xbfc701f4) at /build/buildd/digikam-4.0.0/core/digikam/album/albumselectiontreeview.cpp:233
#52 0xb55740c6 in viewportEvent (event=0xbfc701f4, this=<optimized out>) at widgets/qabstractscrollarea_p.h:100
#53 QAbstractScrollAreaFilter::eventFilter (this=0x102d5640, o=0x1316bc80, e=0xbfc701f4) at widgets/qabstractscrollarea_p.h:116
#54 0xb4b28fbe in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x8744570, receiver=receiver@entry=0x1316bc80, event=event@entry=0xbfc701f4) at kernel/qcoreapplication.cpp:1063
#55 0xb50857d1 in QApplicationPrivate::notify_helper (this=0x8744570, receiver=receiver@entry=0x1316bc80, e=0xbfc701f4) at kernel/qapplication.cpp:4563
#56 0xb508dea0 in QApplication::notify (this=0xbfc708a8, receiver=receiver@entry=0x1316bc80, e=e@entry=0xbfc701f4) at kernel/qapplication.cpp:4110
#57 0xb5bd50a4 in KApplication::notify (this=0xbfc708a8, receiver=0x1316bc80, event=0xbfc701f4) at ../../kdeui/kernel/kapplication.cpp:311
#58 0xb4b28e4a in QCoreApplication::notifyInternal (this=0xbfc708a8, receiver=receiver@entry=0x1316bc80, event=event@entry=0xbfc701f4) at kernel/qcoreapplication.cpp:953
#59 0xb508bb53 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#60 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x1316bc80, event=0xbfc701f4, alienWidget=0x0, nativeWidget=0x1316bc80, buttonDown=buttonDown@entry=0xb59fcce4 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#61 0xb510f778 in QETWidget::translateMouseEvent (this=0x1316bc80, event=event@entry=0xbfc7041c) at kernel/qapplication_x11.cpp:4634
#62 0xb510eec5 in QApplication::x11ProcessEvent (this=0xbfc708a8, event=event@entry=0xbfc7041c) at kernel/qapplication_x11.cpp:3627
#63 0xb513a524 in x11EventSourceDispatch (s=0x87444b0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#64 0xb30f41e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#65 0xb30f4468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#66 0xb30f4528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#67 0xb4b5893b in QEventDispatcherGlib::processEvents (this=this@entry=0x86a7018, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#68 0xb513a5de in QGuiEventDispatcherGlib::processEvents (this=0x86a7018, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#69 0xb4b27823 in QEventLoop::processEvents (this=this@entry=0xbfc706d8, flags=...) at kernel/qeventloop.cpp:149
#70 0xb4b27b49 in QEventLoop::exec (this=this@entry=0xbfc706d8, flags=...) at kernel/qeventloop.cpp:204
#71 0xb4b2d8fe in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#72 0xb5083a24 in QApplication::exec () at kernel/qapplication.cpp:3828
#73 0x080be1a0 in main (argc=1, argv=0xbfc709e4) at /build/buildd/digikam-4.0.0/core/digikam/main/main.cpp:236

Possible duplicates by query: bug 335297, bug 335260, bug 335234, bug 335226, bug 335136.

Reported using DrKonqi
Comment 1 caulier.gilles 2014-05-29 16:00:52 UTC

*** This bug has been marked as a duplicate of bug 329697 ***
Comment 2 caulier.gilles 2021-04-04 07:50:45 UTC
Fixed with #329697