Bug 266317 - Nepomuk Service Stub (nepomukservicestub) crashes in libdigikamdatabase.so.1 when syncing tags to nepomuk
Summary: Nepomuk Service Stub (nepomukservicestub) crashes in libdigikamdatabase.so.1 ...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Baloo (show other bugs)
Version: 1.8.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-14 19:00 UTC by Ian Hubbertz
Modified: 2017-07-19 13:52 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.1.0


Attachments
New crash information added by DrKonqi (4.42 KB, text/plain)
2011-06-28 19:22 UTC, Francesco Riosa
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Hubbertz 2011-02-14 19:00:13 UTC
Version:           1.8.0 (using KDE 4.6.0) 
OS:                Linux

-- see "steps to reproduce"

Reproducible: Always

Steps to Reproduce:
1. Go to Preferences -> Metadata -> Nepomuk
2. Click on "resync"
3. Nothing happens, but button stays "clicked"
4. Click on "OK"


Actual Results:  
nepomukservicestub crashes with segfault, digikam continues running, tags are not found by nepomuk search

Expected Results:  
No crash and tags can be found with nepomuk search

Backtrace 

#6  0x00007f1115dcb0e9 in QMutex::lock() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007f1106622db9 in Digikam::DatabaseAccess::DatabaseAccess() () from /usr/lib/libdigikamdatabase.so.1
#8  0x00007f1106fbba08 in ?? () from /usr/lib64/kde4/digikamnepomukservice.so
#9  0x00007f1106fbdfc9 in ?? () from /usr/lib64/kde4/digikamnepomukservice.so
#10 0x00007f1106fc3c9c in ?? () from /usr/lib64/kde4/digikamnepomukservice.so
#11 0x00007f11158e3669 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#12 0x00007f11158e4865 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#13 0x00007f11158e5061 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#14 0x00007f11158e55b8 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#15 0x00007f1115ed2ece in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#16 0x00007f1113f39ccc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007f1113f3f14d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007f1114f7ebc8 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007f1115ec11eb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#20 0x00007f1115ec4169 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/qt4/libQtCore.so.4
#21 0x00007f1115eed673 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#22 0x00007f111300c399 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0x00007f1113010220 in ?? () from /usr/lib/libglib-2.0.so.0
#24 0x00007f11130103c2 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#25 0x00007f1115eed15e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#26 0x00007f1113feb826 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#27 0x00007f1115ebff32 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#28 0x00007f1115ec02fd in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#29 0x00007f1115ec437b in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#30 0x0000000000404144 in _start ()
Comment 1 Stefan Böhmann 2011-02-14 19:21:36 UTC
*** Bug 266318 has been marked as a duplicate of this bug. ***
Comment 2 Stefan Böhmann 2011-02-14 19:22:48 UTC
From Bug 266318:
> Database is a external mysql database.
>
> I retried with another user in a clean home directory and with a default
> (sqlite) database: nepomuk works fine there.
Comment 3 Ian Hubbertz 2011-02-22 21:24:33 UTC
New backtrace from 2.0-beta2:

It seems, now an "assert" catches the problem (d pointer is 0), so now there's an Abort instead of a Segfault:

pplication: Nepomuk Service Stub (nepomukservicestub), signal: Aborted
[KCrash Handler]
#6  0x00007f37877e7935 in raise () from /lib/libc.so.6
#7  0x00007f37877e8db6 in abort () from /lib/libc.so.6
#8  0x00007f3789ea5c24 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007f3789ea5dbe in ?? () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007f3789ea5f75 in qFatal(char const*, ...) () from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007f377963c318 in Digikam::DatabaseAccess::DatabaseAccess (this=0x7fffff90b8bf) at /home/ian/Desktop/Coding/compile/digikam-2.0.0-beta2/core/libs/database/databaseaccess.cpp:99
#12 0x00007f377b08c594 in Digikam::NepomukService::clearSyncedToDigikam (this=0x861390) at /home/ian/Desktop/Coding/compile/digikam-2.0.0-beta2/core/utilities/nepomuk/digikamnepomukservice.cpp:1158
#13 0x00007f377b0874fc in Digikam::NepomukService::triggerResync (this=0x861390) at /home/ian/Desktop/Coding/compile/digikam-2.0.0-beta2/core/utilities/nepomuk/digikamnepomukservice.cpp:325
#14 0x00007f377b08698f in Digikam::NepomukService::qt_metacall (this=0x861390, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffff90b9b0) at /home/ian/Desktop/Coding/compile/digikam-2.0.0-beta2/core/digikam/digikamnepomukservice.moc:107
#15 0x00007f37899c1669 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#16 0x00007f37899c2865 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#17 0x00007f37899c3061 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#18 0x00007f37899c35b8 in ?? () from /usr/lib64/qt4/libQtDBus.so.4
#19 0x00007f3789fb0ece in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#20 0x00007f3788017ccc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007f378801d14d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007f378905cbc8 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#23 0x00007f3789f9f1eb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007f3789fa2169 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/qt4/libQtCore.so.4
#25 0x00007f3789fcb673 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#26 0x00007f37870e5399 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0x00007f37870e9220 in ?? () from /usr/lib/libglib-2.0.so.0
#28 0x00007f37870e93c2 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#29 0x00007f3789fcb15e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#30 0x00007f37880c9826 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#31 0x00007f3789f9df32 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007f3789f9e2fd in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#33 0x00007f3789fa237b in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#34 0x00000000004041c4 in _start ()
Comment 4 Ian Hubbertz 2011-03-13 10:59:07 UTC
same problem with beta3
Comment 5 Francesco Riosa 2011-06-28 19:22:43 UTC
Created attachment 61423 [details]
New crash information added by DrKonqi

nepomukservicestub (0.2) on KDE Platform 4.6.4 (4.6.4) using Qt 4.7.3

reproduced as described in digikam 2.0.0-rc

-- Backtrace (Reduced):
#11 0x00007f2888094d92 in QList<long long>::clear (this=0x858c7a) at /usr/include/qt4/QtCore/qlist.h:752
#12 0x00007f28896684e6 in Digikam::NepomukService::clearSyncedToDigikam (this=0x941c90) at /home/vivo/digikam-devel/cppsrc/core/utilities/nepomuk/digikamnepomukservice.cpp:1158
#13 0x00007f2889663472 in Digikam::NepomukService::triggerResync (this=0x941c90) at /home/vivo/digikam-devel/cppsrc/core/utilities/nepomuk/digikamnepomukservice.cpp:325
#14 0x00007f2889662938 in Digikam::NepomukService::qt_metacall (this=0x941c90, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffb2cc72e0) at /home/vivo/digikam-devel/cppsrc/build/core/digikam/digikamnepomukservice.moc:107
#15 0x00007f289abb182a in QDBusConnectionPrivate::deliverCall (this=0x7d16b0, object=0x941c90, msg=..., metaTypes=<value optimized out>, slotIdx=7) at qdbusintegrator.cpp:941
Comment 6 caulier.gilles 2011-07-06 11:06:51 UTC
We need feedback using a recent version. 2.0.0 RC is out, please test...

Thanks in advance

Gilles Caulier
Comment 7 Marcel Wiesweg 2011-08-08 20:37:02 UTC
Git commit 29bd7e2f8057d1c0506064915ddf0e47fc24b618 by Marcel Wiesweg.
Committed on 08/08/2011 at 22:35.
Pushed by mwiesweg into branch 'master'.

Ensure there is a database connection in public slot before accessing database.

DatabaseAccess reacts quite unfriendly when it was not initialized at startup.
Probably this has happened here, thus the crash.
Feel free to reopen bug if it's still crashing.

BUG: 266317

M  +5    -0    utilities/nepomuk/digikamnepomukservice.cpp

http://commits.kde.org/digikam/29bd7e2f8057d1c0506064915ddf0e47fc24b618