nepomukservicestub crashes from time to time. There are two reps on launchpad: https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/980110 https://bugs.launchpad.net/ubuntu/+source/kde-runtime/+bug/913024 P.S. My report possibly duplicate of https://bugs.kde.org/show_bug.cgi?id=295908 but I'm not sure. Reproducible: Always Steps to Reproduce: 1. Most often it occurs after exiting from Suspend-to-RAM state.
Adding the relevant backtrace from the bug report - #0 0x00000000 in ?? () No symbol table info available. #1 0x00d89c6b in QObject::~QObject (this=0x8e54768, __in_chrg=<optimized out>) at kernel/qobject.cpp:861 d = 0x8e63208 #2 0x00d8a2a2 in QObject::~QObject (this=0x8e54768, __in_chrg=<optimized out>) at kernel/qobject.cpp:964 No locals. #3 0x0804b409 in signalHandler (signal=<optimized out>) at ../../../nepomuk/servicestub/main.cpp:49 No locals. #4 (anonymous namespace)::signalHandler (signal=1) at ../../../nepomuk/servicestub/main.cpp:43 No locals. #5 <signal handler called> No symbol table info available. #6 0x00bdf416 in __kernel_vsyscall () No symbol table info available. #7 0x004c7a5c in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 No locals. #8 0x0077dd4c in __pthread_cond_wait (cond=0x8e6f948, mutex=0x8e6f930) at forward.c:139 __p = <optimized out> #9 0x00c76a50 in wait (time=4294967295, this=0x8e6f930) at thread/qwaitcondition_unix.cpp:88 code = <optimized out> #10 QWaitCondition::wait (this=0x8eb90d8, mutex=0x8eb90c0, time=4294967295) at thread/qwaitcondition_unix.cpp:160 returnValue = false #11 0x00c76205 in QThread::wait (this=0x8e71bb8, time=4294967295) at thread/qthread_unix.cpp:745 d = 0x8eb9070 locker = {val = 149655745} #12 0x0254c4a0 in Nepomuk::FileIndexer::~FileIndexer (this=0x8e12190, __in_chrg=<optimized out>) at ../../../../nepomuk/services/fileindexer/fileindexer.cpp:106 No locals. #13 0x0254c4f2 in Nepomuk::FileIndexer::~FileIndexer (this=0x8e12190, __in_chrg=<optimized out>) at ../../../../nepomuk/services/fileindexer/fileindexer.cpp:109 No locals. #14 0x00d854a1 in QObjectPrivate::deleteChildren (this=0x8e63208) at kernel/qobject.cpp:1955 i = <optimized out> reallyWasDeleted = true #15 0x00d8a099 in QObject::~QObject (this=0x8e54768, __in_chrg=<optimized out>) at kernel/qobject.cpp:946 d = 0x8e63208 #16 0x0804bb60 in Nepomuk::ServiceControl::~ServiceControl (this=0x8e54768, __in_chrg=<optimized out>) at ../../../nepomuk/servicestub/servicecontrol.cpp:42 No locals. #17 0x00d854a1 in QObjectPrivate::deleteChildren (this=0x8db22e8) at kernel/qobject.cpp:1955 i = <optimized out> reallyWasDeleted = true #18 0x00d8a099 in QObject::~QObject (this=0xbf9637e4, __in_chrg=<optimized out>) at kernel/qobject.cpp:946 d = 0x8db22e8 #19 0x00d742a8 in QCoreApplication::~QCoreApplication (this=0xbf9637e4, __in_chrg=<optimized out>) at kernel/qcoreapplication.cpp:671 No locals. #20 0x00fe6cc3 in QApplication::~QApplication (this=0xbf9637e4, __in_chrg=<optimized out>) at kernel/qapplication.cpp:1093 No locals. #21 0x0804b0c1 in main (argc=2, argv=0xbf963974) at ../../../nepomuk/servicestub/main.cpp:168 aboutData = {d = 0x8d9b440} serviceName = {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x804f272, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 43}, alloc = 0, size = 0, data = 0xea849e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x8dae6f0, static codecForCStrings = 0x0} component = {_vptr.KComponentData = 0x3d1700, d = 0x8dae738} app = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0xea6128, static staticMetaObject = {d = {superdata = 0x0, stringdata = 0xe331e0 "QObject", data = 0xe33280, extradata = 0xea23a0}}, d_ptr = {d = 0x8db22e8}, static staticQtMetaObject = {d = {superdata = 0x0, stringdata = 0xe3bd40 "Qt", data = 0xe3f5e0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = 0x804f1d0, stringdata = 0xe45580 "QCoreApplication", data = 0xe45620, extradata = 0x0}}, static self = 0x0}, static staticMetaObject = {d = {superdata = 0xea74e0, stringdata = 0x1700420 "QApplication", data = 0x1700660, extradata = 0x0}}} dependencies = {<QList<QString>> = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x804f290}, d = 0x804f290}}, <No data fields>} __PRETTY_FUNCTION__ = "int main(int, char**)" options = {d = 0x8d9ba30} args = <optimized out> s = {_vptr.QTextStream = 0xea58c8, d_ptr = {d = 0x8dae058}} services = {{p = {static shared_null = {ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x8e633b8}, d = 0x8e633b8}} service = {d = 0x8e4c708}
Fixed with 4.10. We no longer have the IndexScheduler in a different thread.