Bug 279347

Summary: nepomuk / strigi crash in 4.7 during indexing
Product: nepomuk Reporter: Bruno Friedmann <bruno>
Component: generalAssignee: Sebastian Trueg <sebastian>
Status: RESOLVED FIXED    
Severity: crash CC: desintegr, einmaladresse_2, me, nacho2874, rmashenko, sml, sven.burmeister, tobyfox
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Bruno Friedmann 2011-08-04 06:10:38 UTC
Application: nepomukservicestub (0.2)
KDE Platform Version: 4.7.00 (4.7.0)
Qt Version: 4.7.3
Operating System: Linux 3.0.0-2-desktop x86_64
Distribution: "openSUSE 12.1 Milestone 3 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:  Strigi was indexing my files & folders 
I've this setup 

cat nepomukstrigirc 
[General]
exclude filters=.nfs*,*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,lzo,litmain.sh,*.orig,.histfile.*,po,CVS,.svn,.git,_darcs,CMakeFiles,CMakeTmp,CMakeTmpQmake,core-dumps,lost+found
exclude folders[$e]=
first run=false
folders[$e]=$HOME,$HOME/.thunderbird/default/yof2qxhe.slt,/ioda/data
index hidden folders=true

[RemovableMedia]
ask user=false
index newly mounted=false


Before that half an hour ago, I've launch a manual backup

The crash can be reproduced every time.

-- Backtrace:
Application: Jeton du service Nepomuk (nepomukservicestub), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f66d473f760 (LWP 27987))]

Thread 2 (Thread 0x7f66c4cc5700 (LWP 27988)):
#0  0x00007f66d1bdb813 in __poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f66d1034ee8 in g_main_context_poll (n_fds=3, fds=0x79e250, timeout=-1, context=0x871be0, priority=<optimized out>) at gmain.c:3474
#2  g_main_context_iterate (context=0x871be0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3156
#3  0x00007f66d10353a9 in g_main_context_iteration (context=0x871be0, may_block=1) at gmain.c:3224
#4  0x00007f66d4277ef6 in QEventDispatcherGlib::processEvents (this=0x8345c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f66d424c452 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f66d424c64f in QEventLoop::exec (this=0x7f66c4cc4e20, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f66d41640df in QThread::exec (this=<optimized out>) at thread/qthread.cpp:492
#8  0x00007f66d4166b25 in QThreadPrivate::start (arg=0x766620) at thread/qthread_unix.cpp:320
#9  0x00007f66d3ed6e55 in start_thread (arg=0x7f66c4cc5700) at pthread_create.c:301
#10 0x00007f66d1be486d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f66d473f760 (LWP 27987)):
[KCrash Handler]
#6  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:91
#7  0x00007f66d41aae8b in length (this=0x7fffd7e2d260) at /usr/include/bits/string3.h:52
#8  replaceArgEscapes (s=<optimized out>, d=..., field_width=0, arg=..., larg=..., fillChar=...) at tools/qstring.cpp:6422
#9  0x00007f66d41ab02d in QString::arg (this=0x7fffd7e2d210, a=..., fieldWidth=0, fillChar=...) at tools/qstring.cpp:6482
#10 0x00007f66d39670cb in KLocalizedString::subs (this=<optimized out>, a=..., fieldWidth=0, fillChar=<optimized out>) at /usr/src/debug/kdelibs-4.7.0/kdecore/localization/klocalizedstring.cpp:908
#11 0x00007f66c562752c in i18nc<QString> (a1=..., text=0x7f66c5632af8 "Strigi is currently indexing files in folder %1", ctxt=0x7f66c5632ca0 "@info:status") at /usr/include/klocalizedstring.h:812
#12 Nepomuk::StrigiService::userStatusString (this=0x8520a0, simple=false) at /usr/src/debug/kde-runtime-4.7.0/nepomuk/services/strigi/strigiservice.cpp:168
#13 0x00007f66c562764b in Nepomuk::StrigiService::userStatusString (this=<optimized out>) at /usr/src/debug/kde-runtime-4.7.0/nepomuk/services/strigi/strigiservice.cpp:142
#14 0x00007f66c56323d1 in StrigiAdaptor::userStatusString (this=<optimized out>) at /usr/src/debug/kde-runtime-4.7.0/build/nepomuk/services/strigi/strigiadaptor.cpp:99
#15 0x00007f66c56324cb in StrigiAdaptor::qt_metacall (this=0x8eda40, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0x7fffd7e2d550) at /usr/src/debug/kde-runtime-4.7.0/build/nepomuk/services/strigi/strigiadaptor.moc:143
#16 0x00007f66d3c7886b in QDBusConnectionPrivate::deliverCall (this=0x712e00, object=0x8eda40, msg=..., metaTypes=..., slotIdx=18) at qdbusintegrator.cpp:941
#17 0x00007f66d3c79a3d in QDBusConnectionPrivate::activateCall (this=0x712e00, object=0x8eda40, flags=337, msg=...) at qdbusintegrator.cpp:851
#18 0x00007f66d3c7a312 in QDBusConnectionPrivate::activateObject (this=0x712e00, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1409
#19 0x00007f66d3c7a3e8 in QDBusActivateObjectEvent::placeMetaCall (this=0x8f9d50) at qdbusintegrator.cpp:1523
#20 0x00007f66d4263a8a in QObject::event (this=0x8520a0, e=<optimized out>) at kernel/qobject.cpp:1217
#21 0x00007f66d236d9e4 in notify_helper (e=0x8f9d50, receiver=0x8520a0, this=0x62cb40) at kernel/qapplication.cpp:4462
#22 QApplicationPrivate::notify_helper (this=0x62cb40, receiver=0x8520a0, e=0x8f9d50) at kernel/qapplication.cpp:4434
#23 0x00007f66d2372871 in QApplication::notify (this=0x7fffd7e2e2f0, receiver=0x8520a0, e=0x8f9d50) at kernel/qapplication.cpp:4341
#24 0x00007f66d334a9f6 in KApplication::notify (this=0x7fffd7e2e2f0, receiver=0x8520a0, event=0x8f9d50) at /usr/src/debug/kdelibs-4.7.0/kdeui/kernel/kapplication.cpp:311
#25 0x00007f66d424d24c in QCoreApplication::notifyInternal (this=0x7fffd7e2e2f0, receiver=0x8520a0, event=0x8f9d50) at kernel/qcoreapplication.cpp:731
#26 0x00007f66d4250628 in sendEvent (event=0x8f9d50, receiver=0x8520a0) at kernel/qcoreapplication.h:215
#27 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x60ef10) at kernel/qcoreapplication.cpp:1372
#28 0x00007f66d4277a33 in sendPostedEvents () at kernel/qcoreapplication.h:220
#29 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#30 0x00007f66d10349dd in g_main_dispatch (context=0x62f400) at gmain.c:2500
#31 g_main_context_dispatch (context=0x62f400) at gmain.c:3083
#32 0x00007f66d10351d8 in g_main_context_iterate (context=0x62f400, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3161
#33 0x00007f66d10353a9 in g_main_context_iteration (context=0x62f400, may_block=1) at gmain.c:3224
#34 0x00007f66d4277e8f in QEventDispatcherGlib::processEvents (this=0x60eb10, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#35 0x00007f66d241061e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007f66d424c452 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007f66d424c64f in QEventLoop::exec (this=0x7fffd7e2e160, flags=...) at kernel/qeventloop.cpp:201
#38 0x00007f66d4250817 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#39 0x0000000000403d59 in main (argc=2, argv=0x7fffd7e2e798) at /usr/src/debug/kde-runtime-4.7.0/nepomuk/servicestub/main.cpp:167

Reported using DrKonqi
Comment 1 Vishesh Handa 2011-08-10 12:11:41 UTC
Git commit 6d4290e9f2516d94bd1a15b9041b591601bb2151 by Vishesh Handa.
Committed on 10/08/2011 at 12:48.
Pushed by vhanda into branch 'KDE/4.7'.

Fix threading in IndexScheduler

Protect a ton of variables with Mutexes.

BUG: 279347
REVIEW: 102251

Conflicts:

	nepomuk/services/strigi/indexscheduler.cpp

M  +26   -6    nepomuk/services/strigi/indexscheduler.cpp
M  +5    -1    nepomuk/services/strigi/indexscheduler.h

http://commits.kde.org/kde-runtime/6d4290e9f2516d94bd1a15b9041b591601bb2151
Comment 2 Vishesh Handa 2011-08-10 13:18:49 UTC
Git commit be6ffb3aca180cf48c5ea3abb1c8926fe3764380 by Vishesh Handa.
Committed on 10/08/2011 at 12:48.
Pushed by vhanda into branch 'master'.

Fix threading in IndexScheduler

Protect a ton of variables with Mutexes.

BUG: 279347
REVIEW: 102251

M  +27   -6    nepomuk/services/strigi/indexscheduler.cpp
M  +5    -1    nepomuk/services/strigi/indexscheduler.h

http://commits.kde.org/kde-runtime/be6ffb3aca180cf48c5ea3abb1c8926fe3764380
Comment 3 Sebastian Trueg 2011-09-20 08:42:09 UTC
*** Bug 281293 has been marked as a duplicate of this bug. ***
Comment 4 Sebastian Trueg 2011-09-22 10:03:35 UTC
*** Bug 280388 has been marked as a duplicate of this bug. ***
Comment 5 Sebastian Trueg 2011-09-26 10:41:08 UTC
*** Bug 282789 has been marked as a duplicate of this bug. ***
Comment 6 Sebastian Trueg 2011-10-17 09:48:23 UTC
*** Bug 279302 has been marked as a duplicate of this bug. ***
Comment 7 Sebastian Trueg 2011-10-17 09:48:53 UTC
*** Bug 279359 has been marked as a duplicate of this bug. ***
Comment 8 Sebastian Trueg 2011-10-25 13:33:38 UTC
*** Bug 281356 has been marked as a duplicate of this bug. ***