Bug 275880

Summary: Nepomuck crashed every time
Product: [Unmaintained] nepomuk Reporter: olevanosoldier
Component: generalAssignee: Sebastian Trueg <trueg>
Status: RESOLVED FIXED    
Severity: crash CC: eriklauc, kde, kde, kelley.castleberry, mail, me, rautrr, rizzitello, scott, xypron.glpk
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.7.3
Sentry Crash Report:
Attachments: Patch against kde-runtime

Description olevanosoldier 2011-06-17 09:21:09 UTC
Application: nepomukservicestub (0.2)
KDE Platform Version: 4.6.4 (4.6.4)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-8-generic i686
Distribution: Ubuntu 11.04

-- Information about the crash:
- What I was doing when the application crashed:
I open Avidemux and convert an avi.  While this is running(nothing else going on)  if my screensaver kickes on Nepomuck crashes.  I am running Kubuntu 11.04 andAvidemux 2.5.4.  I dont know what screensaver info you could need.  I will make it crash again and send more info with the backtrace.

The crash can be reproduced every time.

-- Backtrace:
Application: Nepomuk Service Stub (nepomukservicestub), signal: Aborted
[Current thread is 1 (Thread 0xb7825710 (LWP 1869))]

Thread 3 (Thread 0xb56a2b70 (LWP 1881)):
#0  0x006d2416 in __kernel_vsyscall ()
#1  0x0063c48c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x03f493fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x00401467 in wait (this=0x98b3f04, mutex=0x98b3f00, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x98b3f04, mutex=0x98b3f00, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x08165dc8 in Nepomuk::IndexFeeder::run (this=0x98b3ef0) at ../../../../nepomuk/services/strigi/nepomukindexfeeder.cpp:188
#6  0x00400da2 in QThreadPrivate::start (arg=0x98b3ef0) at thread/qthread_unix.cpp:320
#7  0x00637e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x03f3b73e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xb4ea1b70 (LWP 1888)):
#0  0x006d2416 in __kernel_vsyscall ()
#1  0x03f49753 in ?? () from /lib/i386-linux-gnu/libc.so.6
#2  0x03edcbac in ?? () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0xb7825710 (LWP 1869)):
[KCrash Handler]
#7  0x006d2416 in __kernel_vsyscall ()
#8  0x03e95e71 in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0x03e9934e in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0x03ecc577 in ?? () from /lib/i386-linux-gnu/libc.so.6
#11 0x03ed6961 in ?? () from /lib/i386-linux-gnu/libc.so.6
#12 0x03ed828b in ?? () from /lib/i386-linux-gnu/libc.so.6
#13 0x03edb41d in free () from /lib/i386-linux-gnu/libc.so.6
#14 0x003fabbd in qFree (ptr=0x9a442b0) at global/qmalloc.cpp:60
#15 0x0044a510 in QString::free (d=0x9a442b0) at tools/qstring.cpp:1185
#16 0x007ed9fc in ~QString (data=..., key=0x816bd0f "index hidden folders", input=..., output=...) at /usr/include/qt4/QtCore/qstring.h:883
#17 readEntryGui (data=..., key=0x816bd0f "index hidden folders", input=..., output=...) at ../../kdeui/config/kconfiggroupgui.cpp:44
#18 0x001978db in readEntryGui (this=0xbfd7de34, key=0x816bd0f "index hidden folders", aDefault=...) at ../../kdecore/config/kconfiggroup.cpp:546
#19 KConfigGroup::readEntry (this=0xbfd7de34, key=0x816bd0f "index hidden folders", aDefault=...) at ../../kdecore/config/kconfiggroup.cpp:801
#20 0x0815dbbc in readCheck<bool> (this=0x9960a38) at /usr/include/KDE/../kconfiggroup.h:724
#21 readEntry<bool> (this=0x9960a38) at /usr/include/KDE/../kconfiggroup.h:253
#22 Nepomuk::StrigiServiceConfig::indexHiddenFilesAndFolders (this=0x9960a38) at ../../../../nepomuk/services/strigi/strigiserviceconfig.cpp:96
#23 0x0815dfcf in Nepomuk::StrigiServiceConfig::shouldFolderBeIndexed (this=0x9960a38, path=...) at ../../../../nepomuk/services/strigi/strigiserviceconfig.cpp:159
#24 0x08156324 in Nepomuk::StrigiService::updateFolder (this=0x9899138, path=..., recursive=false, forced=false) at ../../../../nepomuk/services/strigi/strigiservice.cpp:231
#25 0x08169aca in StrigiAdaptor::updateFolder (this=0x99867c0, path=..., recursive=false, forced=false) at strigiadaptor.cpp:105
#26 0x08169d01 in StrigiAdaptor::qt_metacall (this=0x99867c0, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0xbfd7e04c) at strigiadaptor.moc:157
#27 0x00af7acd in QDBusConnectionPrivate::deliverCall (this=0x984d148, object=0x99867c0, msg=..., metaTypes=..., slotIdx=19) at qdbusintegrator.cpp:942
#28 0x00af8c57 in QDBusConnectionPrivate::activateCall (this=0x984d148, object=0x99867c0, flags=337, msg=...) at qdbusintegrator.cpp:852
#29 0x00af91ac in QDBusConnectionPrivate::activateObject (this=0x984d148, node=..., msg=..., pathStartPos=21) at qdbusintegrator.cpp:1430
#30 0x00af962a in QDBusActivateObjectEvent::placeMetaCall (this=0x9a413c8) at qdbusintegrator.cpp:1524
#31 0x0050a3b7 in QObject::event (this=0x9899138, e=0x9a413c8) at kernel/qobject.cpp:1226
#32 0x00d3ad24 in QApplicationPrivate::notify_helper (this=0x97cf6b8, receiver=0x9899138, e=0x9a413c8) at kernel/qapplication.cpp:4462
#33 0x00d3f8ce in QApplication::notify (this=0xbfd7eb18, receiver=0x9899138, e=0x9a413c8) at kernel/qapplication.cpp:3862
#34 0x008b536a in KApplication::notify (this=0xbfd7eb18, receiver=0x9899138, event=0x9a413c8) at ../../kdeui/kernel/kapplication.cpp:311
#35 0x004f50bb in QCoreApplication::notifyInternal (this=0xbfd7eb18, receiver=0x9899138, event=0x9a413c8) at kernel/qcoreapplication.cpp:731
#36 0x004f8c79 in sendEvent (receiver=0x0, event_type=0, data=0x979d6d8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#37 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x979d6d8) at kernel/qcoreapplication.cpp:1372
#38 0x004f8e0d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1265
#39 0x005223c4 in sendPostedEvents (s=0x97d2d00) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#40 postEventSourceDispatch (s=0x97d2d00) at kernel/qeventdispatcher_glib.cpp:277
#41 0x05eeaaa8 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#42 0x05eeb270 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#43 0x05eeb524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#44 0x0052253c in QEventDispatcherGlib::processEvents (this=0x979d440, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#45 0x00dee775 in QGuiEventDispatcherGlib::processEvents (this=0x979d440, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#46 0x004f4289 in QEventLoop::processEvents (this=0xbfd7e974, flags=...) at kernel/qeventloop.cpp:149
#47 0x004f4522 in QEventLoop::exec (this=0xbfd7e974, flags=...) at kernel/qeventloop.cpp:201
#48 0x004f8ecc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#49 0x00d388e7 in QApplication::exec () at kernel/qapplication.cpp:3736
#50 0x0804b07e in main (argc=) at ../../../nepomuk/servicestub/main.cpp:165

Possible duplicates by query: bug 275732, bug 275504, bug 274058, bug 274057, bug 274031.

Reported using DrKonqi
Comment 1 Sebastian Trueg 2011-09-23 19:14:26 UTC
Created attachment 63896 [details]
Patch against kde-runtime

Please apply this patch to kde-runtime 4.7 and see if it fixes the crash.
Comment 2 Sebastian Trueg 2011-10-11 19:14:18 UTC
*** Bug 282124 has been marked as a duplicate of this bug. ***
Comment 3 Sebastian Trueg 2011-10-11 19:15:18 UTC
*** Bug 281302 has been marked as a duplicate of this bug. ***
Comment 4 Sebastian Trueg 2011-10-11 19:15:31 UTC
*** Bug 279682 has been marked as a duplicate of this bug. ***
Comment 5 Sebastian Trueg 2011-10-11 19:15:50 UTC
*** Bug 279059 has been marked as a duplicate of this bug. ***
Comment 6 Sebastian Trueg 2011-10-11 19:16:08 UTC
*** Bug 278371 has been marked as a duplicate of this bug. ***
Comment 7 Sebastian Trueg 2011-10-12 08:21:59 UTC
Git commit 69eb3f4274da3be99a68dd8a265776dc46820d77 by Sebastian Trueg.
Committed on 23/09/2011 at 21:07.
Pushed by trueg into branch 'master'.

Do not use K_GLOBAL_STATIC for a QObject-based class.

This fixes two things:
1. One should never create global static QObjects
2. global static creation is not thread-safe for complex classes.

BUG: 275880

M  +4    -0    services/fileindexer/fileindexer.cpp
M  +8    -4    services/fileindexer/fileindexerconfig.cpp
M  +11   -2    services/fileindexer/fileindexerconfig.h
M  +4    -0    services/filewatch/nepomukfilewatch.cpp

http://commits.kde.org/nepomuk-core/69eb3f4274da3be99a68dd8a265776dc46820d77
Comment 8 Sebastian Trueg 2011-10-15 19:05:12 UTC
*** Bug 284091 has been marked as a duplicate of this bug. ***
Comment 9 Sebastian Trueg 2011-11-23 10:05:11 UTC
*** Bug 287221 has been marked as a duplicate of this bug. ***