Bug 342050

Summary: crash while permanently deleting tag from program/database
Product: [Applications] digikam Reporter: jpnutty1
Component: Database-SqliteAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, jpnutty1
Priority: NOR    
Version: 3.5.0   
Target Milestone: ---   
Platform: Mint (Debian based)   
OS: Linux   
Latest Commit: Version Fixed In: 7.5.0
Sentry Crash Report:

Description jpnutty1 2014-12-20 16:13:25 UTC
While using digikam on Linux Mint 17 with the Cinnamon Desktop. Many images have metatags added from previous sources. Digikam imports these into its own database. I removed the metag from the image. Once that was complete, I then attempted to remove the tag from the program/database permanently. I can remove 1 sometimes 2 then on the next one it crashes.


Reproducible: Always

Steps to Reproduce:
1. Open Digikan
2. Right Click
3. Delete Tag
4. Digikam crashes

Actual Results:  
Attempted to report bug. Failed. Restarted Digikam. Reproduced on the 2nd tag.

Expected Results:  
Delete the tag from the program/database with our crash

-- 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 0xace8f900 (LWP 3236))]

Thread 5 (Thread 0xace5cb40 (LWP 3239)):
#0  0xb77a9424 in __kernel_vsyscall ()
#1  0xb4bb051b in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xada10442 in ?? () from /lib/i386-linux-gnu/libusb-1.0.so.0
#3  0xb32b0f70 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#4  0xb4bbf47e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0xa9a21b40 (LWP 3240)):
#0  0xb77a9424 in __kernel_vsyscall ()
#1  0xb32b4d4b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb4bcc65c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4eb30f5 in wait (time=4294967295, this=0x8d8d0b0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x8d8d024, mutex=mutex@entry=0x8d8d020, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x0820dd94 in Digikam::ScanController::run (this=0x8d86d20) at /build/buildd/digikam-3.5.0/core/digikam/database/scancontroller.cpp:725
#6  0xb4eb2b6f in QThreadPrivate::start (arg=0x8d86d20) at thread/qthread_unix.cpp:349
#7  0xb32b0f70 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4bbf47e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xa90ffb40 (LWP 3241)):
#0  0xb32b413a in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0
#1  0xb4bcc8a4 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0xb2f2c120 in g_mutex_unlock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb2ee6a27 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb2ee72df in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb2ee7528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb4ff495f in QEventDispatcherGlib::processEvents (this=0xa8700468, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#7  0xb4fc3823 in QEventLoop::processEvents (this=this@entry=0xa90ff098, flags=...) at kernel/qeventloop.cpp:149
#8  0xb4fc3b49 in QEventLoop::exec (this=this@entry=0xa90ff098, flags=...) at kernel/qeventloop.cpp:204
#9  0xb4eb023d in QThread::exec (this=this@entry=0x8d894f8) at thread/qthread.cpp:537
#10 0xb4fa3c44 in QInotifyFileSystemWatcherEngine::run (this=0x8d894f8) at io/qfilesystemwatcher_inotify.cpp:265
#11 0xb4eb2b6f in QThreadPrivate::start (arg=0x8d894f8) at thread/qthread_unix.cpp:349
#12 0xb32b0f70 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#13 0xb4bbf47e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xa86ffb40 (LWP 3243)):
#0  0xb77a9424 in __kernel_vsyscall ()
#1  0xb32b4d4b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb4bcc65c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4eb30f5 in wait (time=4294967295, this=0x8f292c8) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x8f2f768, mutex=mutex@entry=0x8f2f764, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6abf2b4 in Digikam::ParkingThread::run (this=0x8f2f758) at /build/buildd/digikam-3.5.0/core/libs/threads/threadmanager.cpp:119
#6  0xb4eb2b6f in QThreadPrivate::start (arg=0x8f2f758) at thread/qthread_unix.cpp:349
#7  0xb32b0f70 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4bbf47e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xace8f900 (LWP 3236)):
[KCrash Handler]
#7  0x00000000 in ?? ()
#8  0xae59a38e in ?? () from /usr/lib/i386-linux-gnu/libsqlite3.so.0
#9  0xae59a576 in ?? () from /usr/lib/i386-linux-gnu/libsqlite3.so.0
#10 0xae5afba2 in ?? () from /usr/lib/i386-linux-gnu/libsqlite3.so.0
#11 0xae5dd26c in ?? () from /usr/lib/i386-linux-gnu/libsqlite3.so.0
#12 0xae5e2d8e in sqlite3_step () from /usr/lib/i386-linux-gnu/libsqlite3.so.0
#13 0xa921ae9c in QSQLiteResultPrivate::fetchNext (this=this@entry=0xb68cc60, values=..., idx=idx@entry=0, initialFetch=initialFetch@entry=true) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:235
#14 0xa921bebd in QSQLiteResult::exec (this=0xb10d4d0) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:447
#15 0xb775be60 in QSqlQuery::exec (this=this@entry=0xbf8d1438) at kernel/qsqlquery.cpp:949
#16 0xb6a73431 in Digikam::DatabaseCoreBackend::exec (this=0x8daf2c8, query=...) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1414
#17 0xb6a74f54 in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x8daf2c8, sql=..., bindingMap=...) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:1246
#18 0xb6a76717 in Digikam::DatabaseCoreBackend::execSql (this=0x8daf2c8, sql=..., bindingMap=..., values=0x0, lastInsertId=0x0) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:944
#19 0xb6a76893 in Digikam::DatabaseCoreBackend::execDBAction (this=0x8daf2c8, action=..., bindingMap=..., values=values@entry=0x0, lastInsertId=lastInsertId@entry=0x0) at /build/buildd/digikam-3.5.0/core/libs/database/core/databasecorebackend.cpp:653
#20 0xb6656ac2 in Digikam::AlbumDB::deleteTag (this=0x8db29b0, tagID=tagID@entry=70) at /build/buildd/digikam-3.5.0/core/libs/database/albumdb.cpp:704
#21 0x081dd93f in Digikam::AlbumManager::deleteTAlbum (this=0x8d71198, album=album@entry=0x9f4f1f0, errMsg=...) at /build/buildd/digikam-3.5.0/core/digikam/album/albummanager.cpp:2349
#22 0x08272fcb in Digikam::TagModificationHelper::slotTagDelete (this=this@entry=0x94e3178, t=0x9f4f1f0) at /build/buildd/digikam-3.5.0/core/digikam/tags/tagmodificationhelper.cpp:264
#23 0x082736a8 in Digikam::TagModificationHelper::slotTagDelete (this=this@entry=0x94e3178) at /build/buildd/digikam-3.5.0/core/digikam/tags/tagmodificationhelper.cpp:273
#24 0x08273dd4 in Digikam::TagModificationHelper::qt_static_metacall (_o=_o@entry=0x94e3178, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=10, _a=0xbf8d1828) at /build/buildd/digikam-3.5.0/obj-i686-linux-gnu/core/digikam/tagmodificationhelper.moc:86
#25 0xb4fda0f7 in QMetaObject::activate (sender=sender@entry=0x9f611f0, m=0x85df3f8 <QAction::staticMetaObject>, m@entry=0xb5e7a718 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0xbf8d1828) at kernel/qobject.cpp:3539
#26 0xb551972d in QAction::triggered (this=this@entry=0x9f611f0, _t1=false) at .moc/release-shared/moc_qaction.cpp:276
#27 0xb551b324 in QAction::activate (this=this@entry=0x9f611f0, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257
#28 0xb59bfceb in QMenuPrivate::activateCausedStack (this=0xb890a40, causedStack=..., action=0x9f611f0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1038
#29 0xb59c4d98 in QMenuPrivate::activateAction (this=this@entry=0xb890a40, action=action@entry=0x9f611f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1130
#30 0xb59c8de9 in QMenu::mouseReleaseEvent (this=this@entry=0xbf8d23f8, e=e@entry=0xbf8d1e54) at widgets/qmenu.cpp:2372
#31 0xb6140f3e in KMenu::mouseReleaseEvent (this=0xbf8d23f8, e=0xbf8d1e54) at ../../kdeui/widgets/kmenu.cpp:464
#32 0xb557a3fa in QWidget::event (this=this@entry=0xbf8d23f8, event=event@entry=0xbf8d1e54) at kernel/qwidget.cpp:8376
#33 0xb59c92af in QMenu::event (this=0xbf8d23f8, e=0xbf8d1e54) at widgets/qmenu.cpp:2481
#34 0xb55207f4 in QApplicationPrivate::notify_helper (this=0x8bcd070, receiver=receiver@entry=0xbf8d23f8, e=0xbf8d1e54) at kernel/qapplication.cpp:4567
#35 0xb5528ea0 in QApplication::notify (this=0xbf8d30a8, receiver=receiver@entry=0xbf8d23f8, e=e@entry=0xbf8d1e54) at kernel/qapplication.cpp:4110
#36 0xb60701f4 in KApplication::notify (this=0xbf8d30a8, receiver=0xbf8d23f8, event=0xbf8d1e54) at ../../kdeui/kernel/kapplication.cpp:311
#37 0xb4fc4e4a in QCoreApplication::notifyInternal (this=0xbf8d30a8, receiver=receiver@entry=0xbf8d23f8, event=event@entry=0xbf8d1e54) at kernel/qcoreapplication.cpp:953
#38 0xb5526b53 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#39 QApplicationPrivate::sendMouseEvent (receiver=0xbf8d23f8, event=event@entry=0xbf8d1e54, alienWidget=0x0, nativeWidget=nativeWidget@entry=0xbf8d23f8, buttonDown=buttonDown@entry=0xb5e97ce4 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#40 0xb55aaba0 in QETWidget::translateMouseEvent (this=0xbf8d23f8, event=event@entry=0xbf8d207c) at kernel/qapplication_x11.cpp:4568
#41 0xb55a9ec5 in QApplication::x11ProcessEvent (this=0xbf8d30a8, event=event@entry=0xbf8d207c) at kernel/qapplication_x11.cpp:3627
#42 0xb55d5524 in x11EventSourceDispatch (s=0x8bca0e8, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#43 0xb2ee71e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#44 0xb2ee7468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#45 0xb2ee7528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#46 0xb4ff495f in QEventDispatcherGlib::processEvents (this=this@entry=0x8b3bd70, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#47 0xb55d55de in QGuiEventDispatcherGlib::processEvents (this=0x8b3bd70, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#48 0xb4fc3823 in QEventLoop::processEvents (this=this@entry=0xbf8d2338, flags=...) at kernel/qeventloop.cpp:149
#49 0xb4fc3b49 in QEventLoop::exec (this=this@entry=0xbf8d2338, flags=...) at kernel/qeventloop.cpp:204
#50 0xb59c7e7f in QMenu::exec (this=0xbf8d23f8, p=..., action=action@entry=0x0) at widgets/qmenu.cpp:2125
#51 0x08283e88 in Digikam::ContextMenuHelper::exec (this=this@entry=0xbf8d23dc, pos=..., at=at@entry=0x0) at /build/buildd/digikam-3.5.0/core/digikam/utils/contextmenuhelper.cpp:1110
#52 0x08202489 in Digikam::AbstractAlbumTreeView::contextMenuEvent (this=0x94de3b8, event=0xbf8d29d0) at /build/buildd/digikam-3.5.0/core/digikam/album/albumtreeview.cpp:1048
#53 0xb557a718 in QWidget::event (this=this@entry=0x94de3b8, event=event@entry=0xbf8d29d0) at kernel/qwidget.cpp:8554
#54 0xb598078c in QFrame::event (this=this@entry=0x94de3b8, e=e@entry=0xbf8d29d0) at widgets/qframe.cpp:557
#55 0xb5a0ee48 in QAbstractScrollArea::viewportEvent (this=this@entry=0x94de3b8, e=e@entry=0xbf8d29d0) at widgets/qabstractscrollarea.cpp:1043
#56 0xb5ab3ddc in QAbstractItemView::viewportEvent (this=this@entry=0x94de3b8, event=0xbf8d29d0) at itemviews/qabstractitemview.cpp:1644
#57 0xb5af9606 in QTreeView::viewportEvent (this=0x94de3b8, event=0xbf8d29d0) at itemviews/qtreeview.cpp:1252
#58 0xb5a0f0c6 in viewportEvent (event=0xbf8d29d0, this=<optimized out>) at widgets/qabstractscrollarea_p.h:100
#59 QAbstractScrollAreaFilter::eventFilter (this=0x94dd9d8, o=0x94de868, e=0xbf8d29d0) at widgets/qabstractscrollarea_p.h:116
#60 0xb4fc4fbe in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x8bcd070, receiver=receiver@entry=0x94de868, event=event@entry=0xbf8d29d0) at kernel/qcoreapplication.cpp:1063
#61 0xb55207d1 in QApplicationPrivate::notify_helper (this=0x8bcd070, receiver=receiver@entry=0x94de868, e=0xbf8d29d0) at kernel/qapplication.cpp:4563
#62 0xb55289f3 in QApplication::notify (this=0xbf8d30a8, receiver=receiver@entry=0x94de868, e=e@entry=0xbf8d29d0) at kernel/qapplication.cpp:4189
#63 0xb60701f4 in KApplication::notify (this=0xbf8d30a8, receiver=0x94de868, event=0xbf8d29d0) at ../../kdeui/kernel/kapplication.cpp:311
#64 0xb4fc4e4a in QCoreApplication::notifyInternal (this=0xbf8d30a8, receiver=receiver@entry=0x94de868, event=0xbf8d29d0) at kernel/qcoreapplication.cpp:953
#65 0xb55aa809 in sendSpontaneousEvent (event=0xbf8d29d0, receiver=0x94de868) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#66 QETWidget::translateMouseEvent (this=0x8fabf38, event=event@entry=0xbf8d2c1c) at kernel/qapplication_x11.cpp:4639
#67 0xb55a9ec5 in QApplication::x11ProcessEvent (this=0xbf8d30a8, event=event@entry=0xbf8d2c1c) at kernel/qapplication_x11.cpp:3627
#68 0xb55d5524 in x11EventSourceDispatch (s=0x8bca0e8, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#69 0xb2ee71e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#70 0xb2ee7468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#71 0xb2ee7528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#72 0xb4ff493b in QEventDispatcherGlib::processEvents (this=this@entry=0x8b3bd70, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#73 0xb55d55de in QGuiEventDispatcherGlib::processEvents (this=0x8b3bd70, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#74 0xb4fc3823 in QEventLoop::processEvents (this=this@entry=0xbf8d2ed8, flags=...) at kernel/qeventloop.cpp:149
#75 0xb4fc3b49 in QEventLoop::exec (this=this@entry=0xbf8d2ed8, flags=...) at kernel/qeventloop.cpp:204
#76 0xb4fc98fe in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#77 0xb551ea24 in QApplication::exec () at kernel/qapplication.cpp:3828
#78 0x080bc190 in main (argc=5, argv=0xbf8d31e4) at /build/buildd/digikam-3.5.0/core/digikam/main/main.cpp:235
Comment 1 jpnutty1 2014-12-20 16:15:19 UTC
I have used Linux Mint since 13 and Digikam since Mint 15. I have seen issues with meta tags before. When creating custom short cuts. But never when attempting to delete the tag.
Comment 2 caulier.gilles 2014-12-20 19:40:28 UTC
Crahs appear in libsqlite.

Probably the same problem than famous bug #329697

Gilles Caulier

*** This bug has been marked as a duplicate of bug 329697 ***
Comment 3 caulier.gilles 2021-12-17 11:51:03 UTC
Fixed with #329697