Bug 305486 - FileIndexer leaking memory
Summary: FileIndexer leaking memory
Status: RESOLVED FIXED
Alias: None
Product: nepomuk
Classification: Miscellaneous
Component: fileindexer (show other bugs)
Version: 4.9
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Nepomuk Bugs Coordination
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-20 11:21 UTC by Stephan Menzel
Modified: 2013-02-24 02:14 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.10


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Menzel 2012-08-20 11:21:03 UTC
I started to discuss this in bug 304943 and was asked to file a new report for this.

Here's the summary:
Nepomuk appears to be leaking considerable amounts of mem. I didn't notice that earlier as I had to reboot often but now that I've had it running for 5 hours I found my system came to a crawl because the indexer process was using more than 6GB of memory, which caused swapping. Now I have it set to use 512MB, so it doesn't regard this setting. I rebooted and did the test again 2 times with the same result. After about 5-6 hours the system starts swapping and I have to shut down. 

As Vishesh suggested I have tried a valgrind run but that was unsuccessful because the process leaking the memory did not stop upon the dbus command and another valgrind started process wouldn't do anything. I have tried the dbus command to shut it down and also the settings GUI. Neither had any effect. This is how it looks in top:

top - 13:17:00 up  1:35,  4 users,  load average: 1,46, 1,23, 1,12
Tasks: 133 total,   2 running, 131 sleeping,   0 stopped,   0 zombie
%Cpu(s): 29,9 us, 24,8 sy,  4,6 ni, 36,8 id,  3,8 wa,  0,0 hi,  0,1 si,  0,0 st
KiB Mem:   8030020 total,  7971180 used,    58840 free,   300352 buffers
KiB Swap:  5927948 total,        0 used,  5927948 free,  4341512 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                    
 1354 root      20   0 13852 1576  600 R  71,2  0,0  63:53.82 mount.ntfs 
 2783 sm        39  19 1889m 1,4g  13m S  25,9 18,8  26:09.33 nepomukservices  
 1980 mysql     20   0 1137m  36m 4424 S   6,5  0,5   1:07.09 mysqld
    1 root      20   0  4232  644  560 S   0,0  0,0   0:00.47 init
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd

strace tells me process 2783 is traversing a ntfs volume, which is explicitly set to not be indexed. The dbus command to shut down indexing has been issued, the GUI tells me indexing is not active. The process is using 1.4g now and will continue to grow given time. After about 5 hours the system starts swapping.

I will continue to try to actually stop this process to present sensible valgrind output.


Reproducible: Always

Steps to Reproduce:
1. Start system
2. Set Nepomuk indexer to use fixed amount of mem (512M in my case)
3. Watch it grow way beyond this limit



Will be provided
Comment 1 Vishesh Handa 2012-08-20 11:49:55 UTC
Interesting. If the dbus command didn't work, then something else is wrong. Do you think you could forcibly kill the process a number of times.

do a $ ps aux | grep nepomuk | grep fileindexer , to get the pid of the process. When you forcibly kill it, the nepomukserver will detect that the process has crashed, and automatically restart it. It'll do that about 5-6 times. So keep killing it until it is no longer respawned.

Then try running valgrind.

Thanks.
Comment 2 Stephan Menzel 2012-08-21 08:32:08 UTC
I did that. However, strangely it was not the fileindexer process I had to kill but nepomukservices. As seen in the 'top' output above, that's the one that's leaking mem. An actual fileindexer process was not there. 

Here's the valgrind output. Unfortunately this doesn't look like much. The few leaks it reports seem OK to me and are not enough to explain the amount I'm seeing. 

sm@hal9001 ~ $ valgrind --leak-check=full nepomukservicestub nepomukfileindexer
==18382== Memcheck, a memory error detector
==18382== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==18382== Using Valgrind-3.8.0 and LibVEX; rerun with -h for copyright info
==18382== Command: nepomukservicestub nepomukfileindexer
==18382== 
nepomukfileindexer(18382)/nepomuk (strigi service): Already running an indexer job on URL KUrl("file:///home/sm/Downloads") This is a scheduling bug! 
QObject::connect: Cannot connect XSyncBasedPoller::destroyed() to (null)::_k_x11FilterDestroyed()
nepomukfileindexer(18382)/nepomuk (strigi service): Already running an indexer job on URL KUrl("file:///home/sm/JDownloader/backup/database.zip") This is a scheduling bug! 
^C==18382== 
==18382== HEAP SUMMARY:
==18382==     in use at exit: 178,066 bytes in 1,824 blocks
==18382==   total heap usage: 11,632,837 allocs, 11,631,013 frees, 1,270,856,246 bytes allocated
==18382== 
==18382== 234 (96 direct, 138 indirect) bytes in 1 blocks are definitely lost in loss record 344 of 417
==18382==    at 0x4A08F87: operator new(unsigned long) (vg_replace_malloc.c:298)
==18382==    by 0x3E8156B8E3: QLibraryPrivate::findOrCreate(QString const&, QString const&) (qlibrary.cpp:437)
==18382==    by 0x3E8156BEEA: QLibrary::setFileNameAndVersion(QString const&, QString const&) (qlibrary.cpp:1110)
==18382==    by 0x3E8156BF5B: QLibrary::QLibrary(QString const&, QString const&, QObject*) (qlibrary.cpp:1005)
==18382==    by 0x3E814DB403: qt_initIcu(QString const&) (qlocale_icu.cpp:113)
==18382==    by 0x3E814A041E: QLocalePrivate::updateSystemPrivate() (qlocale.cpp:529)
==18382==    by 0x3E814A064A: systemPrivate() (qlocale.cpp:540)
==18382==    by 0x3E814A067C: defaultPrivate() (qlocale.cpp:551)
==18382==    by 0x3E814A07E9: QLocale::QLocale() (qlocale.cpp:673)
==18382==    by 0x3E8152C85C: QResourceFileEngine::QResourceFileEngine(QString const&) (qresource.cpp:1200)
==18382==    by 0x3E8155519E: _q_resolveEntryAndCreateLegacyEngine_recursive(QFileSystemEntry&, QFileSystemMetaData&, QAbstractFileEngine*&, bool) (qfilesystemengine.cpp:162)
==18382==    by 0x3E815552FC: QFileSystemEngine::resolveEntryAndCreateLegacyEngine(QFileSystemEntry&, QFileSystemMetaData&) (qfilesystemengine.cpp:208)
==18382== 
==18382== 240 bytes in 1 blocks are possibly lost in loss record 345 of 417
==18382==    at 0x4A07030: memalign (vg_replace_malloc.c:727)
==18382==    by 0x4A07127: posix_memalign (vg_replace_malloc.c:876)
==18382==    by 0x3E8101CCB8: slab_allocator_alloc_chunk (gslice.c:1381)
==18382==    by 0x3E81069F48: g_slice_alloc (gslice.c:719)
==18382==    by 0x3E8106A93D: g_slist_prepend (gslist.c:265)
==18382==    by 0x3E81072BE4: g_once_init_enter (gthread.c:682)
==18382==    by 0x3E8104BA9A: g_main_context_new (gmain.c:520)
==18382==    by 0x3E8104BAFC: g_main_context_default (gmain.c:589)
==18382==    by 0x3E815B0C14: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:309)
==18382==    by 0x3B5C87C86E: QGuiEventDispatcherGlibPrivate::QGuiEventDispatcherGlibPrivate() (qguieventdispatcher_glib.cpp:171)
==18382==    by 0x3B5C87C93D: QGuiEventDispatcherGlib::QGuiEventDispatcherGlib(QObject*) (qguieventdispatcher_glib.cpp:186)
==18382==    by 0x3B5C843597: QApplicationPrivate::createEventDispatcher() (qapplication_x11.cpp:629)
==18382== 
==18382== 242 (96 direct, 146 indirect) bytes in 1 blocks are definitely lost in loss record 346 of 417
==18382==    at 0x4A08F87: operator new(unsigned long) (vg_replace_malloc.c:298)
==18382==    by 0x3E8156B8E3: QLibraryPrivate::findOrCreate(QString const&, QString const&) (qlibrary.cpp:437)
==18382==    by 0x3E8156BEEA: QLibrary::setFileNameAndVersion(QString const&, QString const&) (qlibrary.cpp:1110)
==18382==    by 0x3E8156BF5B: QLibrary::QLibrary(QString const&, QString const&, QObject*) (qlibrary.cpp:1005)
==18382==    by 0x3E814DB196: qt_initIcu(QString const&) (qlocale_icu.cpp:84)
==18382==    by 0x3E814A041E: QLocalePrivate::updateSystemPrivate() (qlocale.cpp:529)
==18382==    by 0x3E814A064A: systemPrivate() (qlocale.cpp:540)
==18382==    by 0x3E814A067C: defaultPrivate() (qlocale.cpp:551)
==18382==    by 0x3E814A07E9: QLocale::QLocale() (qlocale.cpp:673)
==18382==    by 0x3E8152C85C: QResourceFileEngine::QResourceFileEngine(QString const&) (qresource.cpp:1200)
==18382==    by 0x3E8155519E: _q_resolveEntryAndCreateLegacyEngine_recursive(QFileSystemEntry&, QFileSystemMetaData&, QAbstractFileEngine*&, bool) (qfilesystemengine.cpp:162)
==18382==    by 0x3E815552FC: QFileSystemEngine::resolveEntryAndCreateLegacyEngine(QFileSystemEntry&, QFileSystemMetaData&) (qfilesystemengine.cpp:208)
==18382== 
==18382== 292 (52 direct, 240 indirect) bytes in 1 blocks are definitely lost in loss record 349 of 417
==18382==    at 0x4A0955B: malloc (vg_replace_malloc.c:270)
==18382==    by 0x32FCAFA502: nss_parse_service_list (nsswitch.c:596)
==18382==    by 0x32FCAFA9F5: __nss_database_lookup (nsswitch.c:145)
==18382==    by 0x7F115DF: ???
==18382==    by 0x7F130A4: ???
==18382==    by 0x32FCAB7B2C: getpwuid_r@@GLIBC_2.2.5 (getXXbyYY_r.c:256)
==18382==    by 0x32FCAB73D6: getpwuid (getXXbyYY.c:117)
==18382==    by 0x3308C020BB: gamin_get_socket_path (gam_api.c:121)
==18382==    by 0x3308C024FD: FAMOpen (gam_api.c:974)
==18382==    by 0x3B5D932AA9: KDirWatchPrivate::KDirWatchPrivate() (kdirwatch.cpp:186)
==18382==    by 0x3B5D9339D4: KDirWatch::KDirWatch(QObject*) (kdirwatch.cpp:83)
==18382==    by 0x3B5D933A2F: KDirWatch::self() (kdirwatch.cpp:1728)
==18382== 
==18382== 320 bytes in 1 blocks are possibly lost in loss record 354 of 417
==18382==    at 0x4A073B2: calloc (vg_replace_malloc.c:593)
==18382==    by 0x32FB210D99: allocate_dtv (dl-tls.c:297)
==18382==    by 0x32FB21149D: _dl_allocate_tls (dl-tls.c:461)
==18382==    by 0x32FD608837: pthread_create@@GLIBC_2.2.5 (allocatestack.c:572)
==18382==    by 0x3E8147FDFB: QThread::start(QThread::Priority) (qthread_unix.cpp:609)
==18382==    by 0x3E8155DCAE: QProcessPrivate::startProcess() (qprocess_unix.cpp:541)
==18382==    by 0x3E8151A74E: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (qprocess.cpp:1977)
==18382==    by 0x3B5D93FC79: KProcess::start() (kprocess.cpp:344)
==18382==    by 0x7AF9532: Nepomuk2::Indexer::start() (nepomukindexer.cpp:61)
==18382==    by 0x7AEB50E: Nepomuk2::IndexScheduler::analyzeDir(QString const&, QFlags<Nepomuk2::IndexScheduler::UpdateDirFlag>) (indexscheduler.cpp:397)
==18382==    by 0x7AECDCB: Nepomuk2::IndexScheduler::doIndexing() (indexscheduler.cpp:339)
==18382==    by 0x7AED44C: Nepomuk2::IndexScheduler::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.35] (indexscheduler.moc:107)
==18382== 
==18382== 448 (96 direct, 352 indirect) bytes in 1 blocks are definitely lost in loss record 363 of 417
==18382==    at 0x4A08F87: operator new(unsigned long) (vg_replace_malloc.c:298)
==18382==    by 0x3E8156B8E3: QLibraryPrivate::findOrCreate(QString const&, QString const&) (qlibrary.cpp:437)
==18382==    by 0x3E815664A7: QFactoryLoader::updateDir(QString const&, QSettings&) (qfactoryloader.cpp:145)
==18382==    by 0x3E8156870C: QFactoryLoader::update() (qfactoryloader.cpp:233)
==18382==    by 0x3E81568A28: QFactoryLoader::QFactoryLoader(char const*, QString const&, Qt::CaseSensitivity) (qfactoryloader.cpp:121)
==18382==    by 0x3B5CADD9B4: loader() (qstylefactory.cpp:85)
==18382==    by 0x3B5CADDBE9: QStyleFactory::create(QString const&) (qstylefactory.cpp:192)
==18382==    by 0x3B5C7DB440: QApplication::style() (qapplication.cpp:1462)
==18382==    by 0x3B5C84A703: qt_set_x11_resources(char const*, char const*, char const*, char const*) (qapplication_x11.cpp:1289)
==18382==    by 0x3B5C8508C9: qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) (qapplication_x11.cpp:2397)
==18382==    by 0x3B5C7DE1C8: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (qapplication.cpp:839)
==18382==    by 0x3B5C7DEAB3: QApplication::QApplication(int&, char**, int) (qapplication.cpp:738)
==18382== 
==18382== 472 (96 direct, 376 indirect) bytes in 1 blocks are definitely lost in loss record 364 of 417
==18382==    at 0x4A08F87: operator new(unsigned long) (vg_replace_malloc.c:298)
==18382==    by 0x3E8156B8E3: QLibraryPrivate::findOrCreate(QString const&, QString const&) (qlibrary.cpp:437)
==18382==    by 0x3E815664A7: QFactoryLoader::updateDir(QString const&, QSettings&) (qfactoryloader.cpp:145)
==18382==    by 0x3E8156870C: QFactoryLoader::update() (qfactoryloader.cpp:233)
==18382==    by 0x3E81568A28: QFactoryLoader::QFactoryLoader(char const*, QString const&, Qt::CaseSensitivity) (qfactoryloader.cpp:121)
==18382==    by 0x3B5C840CB9: qt_guiPlatformPlugin() (qguiplatformplugin.cpp:101)
==18382==    by 0x3B5C84936C: QApplicationPrivate::x11_apply_settings() (qapplication_x11.cpp:959)
==18382==    by 0x3B5C84C052: qt_set_x11_resources(char const*, char const*, char const*, char const*) (qapplication_x11.cpp:1136)
==18382==    by 0x3B5C8508C9: qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) (qapplication_x11.cpp:2397)
==18382==    by 0x3B5C7DE1C8: QApplicationPrivate::construct(_XDisplay*, unsigned long, unsigned long) (qapplication.cpp:839)
==18382==    by 0x3B5C7DEAB3: QApplication::QApplication(int&, char**, int) (qapplication.cpp:738)
==18382==    by 0x403EE5: main (main.cpp:107)
==18382== 
==18382== 720 bytes in 3 blocks are possibly lost in loss record 379 of 417
==18382==    at 0x4A07030: memalign (vg_replace_malloc.c:727)
==18382==    by 0x4A07127: posix_memalign (vg_replace_malloc.c:876)
==18382==    by 0x3E8101CCB8: slab_allocator_alloc_chunk (gslice.c:1381)
==18382==    by 0x3E81069F77: g_slice_alloc (gslice.c:724)
==18382==    by 0x3E8106A93D: g_slist_prepend (gslist.c:265)
==18382==    by 0x3E81072BE4: g_once_init_enter (gthread.c:682)
==18382==    by 0x3E8104BA9A: g_main_context_new (gmain.c:520)
==18382==    by 0x3E8104BAFC: g_main_context_default (gmain.c:589)
==18382==    by 0x3E815B0C14: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:309)
==18382==    by 0x3B5C87C86E: QGuiEventDispatcherGlibPrivate::QGuiEventDispatcherGlibPrivate() (qguieventdispatcher_glib.cpp:171)
==18382==    by 0x3B5C87C93D: QGuiEventDispatcherGlib::QGuiEventDispatcherGlib(QObject*) (qguieventdispatcher_glib.cpp:186)
==18382==    by 0x3B5C843597: QApplicationPrivate::createEventDispatcher() (qapplication_x11.cpp:629)
==18382== 
==18382== 808 (96 direct, 712 indirect) bytes in 1 blocks are definitely lost in loss record 381 of 417
==18382==    at 0x4A08F87: operator new(unsigned long) (vg_replace_malloc.c:298)
==18382==    by 0x3E8156B8E3: QLibraryPrivate::findOrCreate(QString const&, QString const&) (qlibrary.cpp:437)
==18382==    by 0x3E81564CF8: QPluginLoader::setFileName(QString const&) (qpluginloader.cpp:340)
==18382==    by 0x3E81564E30: QPluginLoader::QPluginLoader(QString const&, QObject*) (qpluginloader.cpp:162)
==18382==    by 0x3B5DA68DE2: KPluginLoader::KPluginLoader(KService const&, KComponentData const&, QObject*) (kpluginloader.cpp:151)
==18382==    by 0x40539E: Nepomuk2::ServiceControl::start() (kservice.h:556)
==18382==    by 0x405A3C: Nepomuk2::ServiceControl::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.12] (servicecontrol.moc:62)
==18382==    by 0x3E81596965: QObject::event(QEvent*) (qobject.cpp:1195)
==18382==    by 0x3B5C7D73E3: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4551)
==18382==    by 0x3B5C7DBEBE: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4412)
==18382==    by 0x3E81581CDA: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:915)
==18382==    by 0x3E815852A6: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:231)
==18382== 
==18382== 960 bytes in 4 blocks are possibly lost in loss record 385 of 417
==18382==    at 0x4A07030: memalign (vg_replace_malloc.c:727)
==18382==    by 0x4A07127: posix_memalign (vg_replace_malloc.c:876)
==18382==    by 0x3E8101CCB8: slab_allocator_alloc_chunk (gslice.c:1381)
==18382==    by 0x3E81069F77: g_slice_alloc (gslice.c:724)
==18382==    by 0x3E8108F287: g_wakeup_new (gwakeup.c:143)
==18382==    by 0x3E8104B9A6: g_main_context_new (gmain.c:553)
==18382==    by 0x3E815B0BF0: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312)
==18382==    by 0x3E815B0CEF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:359)
==18382==    by 0x3E8147F121: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:268)
==18382==    by 0x3E8147F79B: QThreadPrivate::start(void*) (qthread_unix.cpp:302)
==18382==    by 0x32FD607D95: start_thread (pthread_create.c:305)
==18382==    by 0x32FCAEAA1C: clone (clone.S:115)
==18382== 
==18382== 1,488 bytes in 3 blocks are possibly lost in loss record 392 of 417
==18382==    at 0x4A07030: memalign (vg_replace_malloc.c:727)
==18382==    by 0x4A07127: posix_memalign (vg_replace_malloc.c:876)
==18382==    by 0x3E8101CCB8: slab_allocator_alloc_chunk (gslice.c:1381)
==18382==    by 0x3E81069F77: g_slice_alloc (gslice.c:724)
==18382==    by 0x3E8106A065: g_slice_alloc0 (gslice.c:1029)
==18382==    by 0x3E81073099: g_thread_self (gthread.c:1004)
==18382==    by 0x3E8104CE7A: g_main_context_acquire (gmain.c:2619)
==18382==    by 0x3E8104CF2C: g_main_context_push_thread_default (gmain.c:660)
==18382==    by 0x3E815B09D4: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:317)
==18382==    by 0x3B5C87C86E: QGuiEventDispatcherGlibPrivate::QGuiEventDispatcherGlibPrivate() (qguieventdispatcher_glib.cpp:171)
==18382==    by 0x3B5C87C93D: QGuiEventDispatcherGlib::QGuiEventDispatcherGlib(QObject*) (qguieventdispatcher_glib.cpp:186)
==18382==    by 0x3B5C843597: QApplicationPrivate::createEventDispatcher() (qapplication_x11.cpp:629)
==18382== 
==18382== 1,688 (136 direct, 1,552 indirect) bytes in 1 blocks are definitely lost in loss record 393 of 417
==18382==    at 0x4A09772: realloc (vg_replace_malloc.c:662)
==18382==    by 0x32FE65D2B4: load_generic (lcGeneric.c:186)
==18382==    by 0x32FE65EEC0: initialize (lcGeneric.c:1013)
==18382==    by 0x32FE65F6C5: _XlcCreateLC (lcPubWrap.c:90)
==18382==    by 0x32FE682FBF: _XlcUtf8Loader (lcUTF8Load.c:47)
==18382==    by 0x32FE666F45: _XOpenLC (lcWrap.c:294)
==18382==    by 0x32FE66716A: _XrmInitParseInfo (lcWrap.c:369)
==18382==    by 0x32FE6508E7: XrmGetStringDatabase (Xrm.c:502)
==18382==    by 0x32FE629C10: InitDefaults (GetDflt.c:171)
==18382==    by 0x32FE629E87: XGetDefault (GetDflt.c:243)
==18382==    by 0x3B5C842B65: getXDefault(char const*, char const*, int*) [clone .clone.97] (qapplication_x11.cpp:1584)
==18382==    by 0x3B5C85041B: qt_init(QApplicationPrivate*, int, _XDisplay*, unsigned long, unsigned long) (qapplication_x11.cpp:2188)
==18382== 
==18382== 3,472 bytes in 7 blocks are possibly lost in loss record 403 of 417
==18382==    at 0x4A07030: memalign (vg_replace_malloc.c:727)
==18382==    by 0x4A07127: posix_memalign (vg_replace_malloc.c:876)
==18382==    by 0x3E8101CCB8: slab_allocator_alloc_chunk (gslice.c:1381)
==18382==    by 0x3E81069F77: g_slice_alloc (gslice.c:724)
==18382==    by 0x3E81020651: g_ptr_array_sized_new (garray.c:884)
==18382==    by 0x3E8104B993: g_main_context_new (gmain.c:549)
==18382==    by 0x3E815B0BF0: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:312)
==18382==    by 0x3E815B0CEF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:359)
==18382==    by 0x3E8147F121: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:268)
==18382==    by 0x3E8147F79B: QThreadPrivate::start(void*) (qthread_unix.cpp:302)
==18382==    by 0x32FD607D95: start_thread (pthread_create.c:305)
==18382==    by 0x32FCAEAA1C: clone (clone.S:115)
==18382== 
==18382== 3,968 bytes in 8 blocks are possibly lost in loss record 406 of 417
==18382==    at 0x4A07030: memalign (vg_replace_malloc.c:727)
==18382==    by 0x4A07127: posix_memalign (vg_replace_malloc.c:876)
==18382==    by 0x3E8101CCB8: slab_allocator_alloc_chunk (gslice.c:1381)
==18382==    by 0x3E81069F77: g_slice_alloc (gslice.c:724)
==18382==    by 0x3E8106A065: g_slice_alloc0 (gslice.c:1029)
==18382==    by 0x3E81073099: g_thread_self (gthread.c:1004)
==18382==    by 0x3E8104CE7A: g_main_context_acquire (gmain.c:2619)
==18382==    by 0x3E8104CF2C: g_main_context_push_thread_default (gmain.c:660)
==18382==    by 0x3E815B09D4: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) (qeventdispatcher_glib.cpp:317)
==18382==    by 0x3E815B0CEF: QEventDispatcherGlib::QEventDispatcherGlib(QObject*) (qeventdispatcher_glib.cpp:359)
==18382==    by 0x3E8147F121: QThreadPrivate::createEventDispatcher(QThreadData*) (qthread_unix.cpp:268)
==18382==    by 0x3E8147F79B: QThreadPrivate::start(void*) (qthread_unix.cpp:302)
==18382== 
==18382== LEAK SUMMARY:
==18382==    definitely lost: 668 bytes in 7 blocks
==18382==    indirectly lost: 3,516 bytes in 61 blocks
==18382==      possibly lost: 11,168 bytes in 27 blocks
==18382==    still reachable: 162,714 bytes in 1,729 blocks
==18382==         suppressed: 0 bytes in 0 blocks
==18382== Reachable blocks (those to which a pointer was found) are not shown.
==18382== To see them, rerun with: --leak-check=full --show-reachable=yes
==18382== 
==18382== For counts of detected and suppressed errors, rerun with: -v
==18382== ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 2 from 2)


Maybe it is something else than fileindexing?
Comment 3 Stephan Menzel 2012-08-21 18:03:10 UTC
could this be a duplicate of bug 304476 ?
Comment 4 Stephan Menzel 2013-02-09 17:45:00 UTC
I have tested this for every upgrade since I filed the bug and it appears like it disappeared with the upgrade to 4.10.
I'm doing some more testing to confirm.
Comment 5 Simeon Bird 2013-02-24 02:14:03 UTC
Marking fixed - re-open if it happens again