Bug 290847 - Crash in QFSFileEngineIterator::next
Summary: Crash in QFSFileEngineIterator::next
Status: RESOLVED FIXED
Alias: None
Product: nepomuk
Classification: Miscellaneous
Component: fileindexer (show other bugs)
Version: 4.6
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Sebastian Trueg
URL:
Keywords:
: 291083 291451 294176 295908 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-01-07 06:45 UTC by Petr Chocholous
Modified: 2012-12-03 07:28 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (7.42 KB, text/plain)
2012-01-07 06:58 UTC, Petr Chocholous
Details
New crash information added by DrKonqi (6.42 KB, text/plain)
2012-01-07 07:03 UTC, Petr Chocholous
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Chocholous 2012-01-07 06:45:58 UTC
Application: nepomukservicestub (0.2)
KDE Platform Version: 4.6.5 (4.6.5)
Qt Version: 4.7.3
Operating System: Linux 3.1.0-1-amd64 x86_64
Distribution: Debian GNU/Linux testing (wheezy)

-- Information about the crash:
- What I was doing when the application crashed:
I was downloading avi files from http://www.hellspy.com from Chromium browser. However this crash happens during every avi file download from the internet.

The crash can be reproduced every time.

-- Backtrace:
Application: Nepomuk Service Stub (nepomukservicestub), signal: Aborted
__lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
[Current thread is 1 (Thread 0x7ff82b891760 (LWP 5490))]

Thread 3 (Thread 0x7ff81a566700 (LWP 5492)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ff82b28a09b in wait (time=18446744073709551615, this=0x19cac00) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x19cbb80, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007ff81ab9ab01 in Nepomuk::IndexFeeder::run (this=0x19cbb60) at ../../../../nepomuk/services/strigi/nepomukindexfeeder.cpp:188
#4  0x00007ff82b289c05 in QThreadPrivate::start (arg=0x19cbb60) at thread/qthread_unix.cpp:320
#5  0x00007ff828bd2b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#6  0x00007ff828ebd3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ff80e035700 (LWP 5493)):
[KCrash Handler]
#6  0x00007ff828e1a405 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007ff828e1d680 in *__GI_abort () at abort.c:92
#8  0x00007ff828e50e0b in __libc_message (do_abort=<optimized out>, fmt=<optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#9  0x00007ff828e5a656 in malloc_printerr (action=3, str=0x7ff828f2e337 "invalid fastbin entry (free)", ptr=<optimized out>) at malloc.c:6283
#10 0x00007ff828e5f38c in *__GI___libc_free (mem=<optimized out>) at malloc.c:3738
#11 0x00007ff82b34d796 in ~QByteArray (this=0x7ff80e0349c0, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qbytearray.h:383
#12 QFSFileEngineIterator::advance (this=0x7ff808001b10) at io/qfsfileengine_iterator_unix.cpp:73
#13 0x00007ff82b345890 in QFSFileEngineIterator::next (this=0x7ff808001b10) at io/qfsfileengine_iterator.cpp:65
#14 0x00007ff82b3049d4 in QDirIteratorPrivate::advance (this=0x7ff808104e80) at io/qdiriterator.cpp:217
#15 0x00007ff82b304bbd in QDirIterator::next (this=0x7ff80e034ba0) at io/qdiriterator.cpp:457
#16 0x00007ff81ab8f2da in Nepomuk::IndexScheduler::analyzeDir (this=0x199bb70, dir_=<optimized out>, flags=...) at ../../../../nepomuk/services/strigi/indexscheduler.cpp:391
#17 0x00007ff81ab9178c in Nepomuk::IndexScheduler::run (this=0x199bb70) at ../../../../nepomuk/services/strigi/indexscheduler.cpp:338
#18 0x00007ff82b289c05 in QThreadPrivate::start (arg=0x199bb70) at thread/qthread_unix.cpp:320
#19 0x00007ff828bd2b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#20 0x00007ff828ebd3bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#21 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff82b891760 (LWP 5490)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007ff828e611e2 in _L_lock_11440 () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ff828e60524 in *__GI___libc_realloc (oldmem=0x7ff829167e60, bytes=120) at malloc.c:3813
#3  0x00007ff82b2b5d3a in QRegExpMatchState::prepareForMatch (this=0x1a82dd0, eng=0x1a82e80) at tools/qregexp.cpp:1379
#4  0x00007ff82b2c2c11 in prepareEngineForMatch (priv=0x1a82da0, str=...) at tools/qregexp.cpp:3727
#5  0x00007ff82b2c2e54 in QRegExp::exactMatch (this=0x1aa0bc8, str=...) at tools/qregexp.cpp:4068
#6  0x00007ff81a97b7af in RegExpCache::exactMatch (this=<optimized out>, s=...) at ../../../nepomuk/common/regexpcache.cpp:40
#7  0x00007ff81ab92a9d in Nepomuk::StrigiServiceConfig::shouldFileBeIndexed (this=<optimized out>, fileName=<optimized out>) at ../../../../nepomuk/services/strigi/strigiserviceconfig.cpp:177
#8  0x00007ff81ab92c14 in shouldFolderBeIndexed (path=..., this=0x7ff814081760) at ../../../../nepomuk/services/strigi/strigiserviceconfig.cpp:166
#9  Nepomuk::StrigiServiceConfig::shouldFolderBeIndexed (this=0x7ff814081760, path=...) at ../../../../nepomuk/services/strigi/strigiserviceconfig.cpp:148
#10 0x00007ff81ab8b8e0 in Nepomuk::StrigiService::updateFolder (this=0x19940b0, path=..., recursive=false, forced=false) at ../../../../nepomuk/services/strigi/strigiservice.cpp:231
#11 0x00007ff81ab9decd in StrigiAdaptor::qt_metacall (this=0x1aab580, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x7fff84500910) at strigiadaptor.moc:157
#12 0x00007ff82afa7971 in QDBusConnectionPrivate::deliverCall (this=0x18fb810, object=0x1aab580, msg=..., metaTypes=..., slotIdx=19) at qdbusintegrator.cpp:941
#13 0x00007ff82afa8abd in QDBusConnectionPrivate::activateCall (this=0x18fb810, object=0x1aab580, flags=337, msg=...) at qdbusintegrator.cpp:851
#14 0x00007ff82afa9392 in QDBusConnectionPrivate::activateObject (this=0x18fb810, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1409
#15 0x00007ff82afa9468 in QDBusActivateObjectEvent::placeMetaCall (this=0x7ff808106650) at qdbusintegrator.cpp:1523
#16 0x00007ff82b3866ca in QObject::event (this=0x19940b0, e=<optimized out>) at kernel/qobject.cpp:1217
#17 0x00007ff82967a9f4 in notify_helper (e=0x7ff808106650, receiver=0x19940b0, this=0x1848fd0) at kernel/qapplication.cpp:4467
#18 QApplicationPrivate::notify_helper (this=0x1848fd0, receiver=0x19940b0, e=0x7ff808106650) at kernel/qapplication.cpp:4439
#19 0x00007ff82967f881 in QApplication::notify (this=0x7fff845017e0, receiver=0x19940b0, e=0x7ff808106650) at kernel/qapplication.cpp:4346
#20 0x00007ff82a67cb96 in KApplication::notify (this=0x7fff845017e0, receiver=0x19940b0, event=0x7ff808106650) at ../../kdeui/kernel/kapplication.cpp:311
#21 0x00007ff82b36ffbc in QCoreApplication::notifyInternal (this=0x7fff845017e0, receiver=0x19940b0, event=0x7ff808106650) at kernel/qcoreapplication.cpp:731
#22 0x00007ff82b373378 in sendEvent (event=0x7ff808106650, receiver=0x19940b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x182b5d0) at kernel/qcoreapplication.cpp:1372
#24 0x00007ff82b39a663 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#25 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#26 0x00007ff8280f40cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007ff8280f48c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ff8280f4a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ff82b39aabf in QEventDispatcherGlib::processEvents (this=0x182cc90, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#30 0x00007ff82971e9ce in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#31 0x00007ff82b36f1c2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#32 0x00007ff82b36f3bf in QEventLoop::exec (this=0x7fff84501650, flags=...) at kernel/qeventloop.cpp:201
#33 0x00007ff82b373567 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#34 0x0000000000403c1f in main (argc=2, argv=0x7fff84501c78) at ../../../nepomuk/servicestub/main.cpp:167

Possible duplicates by query: bug 289200, bug 287040, bug 284091, bug 283870, bug 283814.

Reported using DrKonqi
Comment 1 Petr Chocholous 2012-01-07 06:58:47 UTC
Created attachment 67529 [details]
New crash information added by DrKonqi

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

- What I was doing when the application crashed:
Downloading avi files from http://www.hellspy.com.

-- Backtrace (Reduced):
#6  _int_free (av=0x7fa400564e60, p=0xffffffff) at malloc.c:4892
[...]
#8  0x00007fa4026ca9fc in QString::free (d=0x255f330) at tools/qstring.cpp:1185
#9  0x00007fa40270741e in ~QString (this=<optimized out>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qstring.h:883
#10 ~QFileInfoPrivate (this=<optimized out>, __in_chrg=<optimized out>) at io/qfileinfo_p.h:64
#11 ~QSharedDataPointer (this=<optimized out>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qshareddata.h:90
Comment 2 Petr Chocholous 2012-01-07 07:03:23 UTC
Created attachment 67530 [details]
New crash information added by DrKonqi

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

Downloading avi files from web.

-- Backtrace (Reduced):
#8  0x00007fb20f1efe0b in __libc_message (do_abort=<optimized out>, fmt=<optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#9  0x00007fb20f1f9656 in malloc_printerr (action=3, str=0x7fb20f2cd337 "invalid fastbin entry (free)", ptr=<optimized out>) at malloc.c:6283
[...]
#11 0x00007fb211346b68 in QDBusConnectionPrivate::deliverCall (this=0x1b08780, object=0x1d54c20, msg=..., metaTypes=..., slotIdx=19) at qdbusintegrator.cpp:954
#12 0x00007fb211347abd in QDBusConnectionPrivate::activateCall (this=0x1b08780, object=0x1d54c20, flags=337, msg=...) at qdbusintegrator.cpp:851
#13 0x00007fb211348392 in QDBusConnectionPrivate::activateObject (this=0x1b08780, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1409
Comment 3 Jekyll Wu 2012-07-06 17:02:58 UTC
*** Bug 295908 has been marked as a duplicate of this bug. ***
Comment 4 Jekyll Wu 2012-07-06 18:04:09 UTC
*** Bug 291451 has been marked as a duplicate of this bug. ***
Comment 5 Vishesh Handa 2012-07-10 20:36:22 UTC
*** Bug 291083 has been marked as a duplicate of this bug. ***
Comment 6 Vishesh Handa 2012-07-24 02:15:26 UTC
*** Bug 294176 has been marked as a duplicate of this bug. ***
Comment 7 Vishesh Handa 2012-07-24 11:20:06 UTC
In 4.6.5 - The StrigiServiceConfig was not thread safe, so one possible cause is the dbusCall which would have accessed the config variables, which the indexScheduler was.

Not sure though.
Comment 8 Vishesh Handa 2012-12-03 07:28:53 UTC
Marking this bug as FIXED.

The code has now significantly changed. This backtrace is no longer relevant. Additionally, this bug has not been reported after KDE 4.6. It must have been that threading issue.