Version: (using KDE 4.3.1) Compiler: gcc 4.4.1 OS: Linux Installed from: Unlisted Binary Package Description: ============ The nepomukservicestub which controls the strigi[service] keeps crashing. After a while Nepomuk does not launch any more Strigi file indexers. If I want to continue indexing I have to reactivate Strigi in the Systemsettings KCM. The crash happens in libstreamanalyzer. Unfortunately, I have not been able to find out whether it is a certain file which causes strigi to crash. Versions: ========= KDE 4.3.1 soprano 2.3.1 strigi 0.7.0 nepomuk-playground rev. 1032047 dmesg: ====== [...] nepomukservices[30935]: segfault at 0 ip b5ddf507 sp b3b3743c error 4 in libstreamanalyzer.so.0.7.0[b5dce000+74000] nepomukservices[30966]: segfault at 0 ip b5dd4507 sp b3b2c43c error 4 in libstreamanalyzer.so.0.7.0[b5dc3000+74000] nepomukservices[30973]: segfault at 0 ip b5d0a507 sp b3a6243c error 4 in libstreamanalyzer.so.0.7.0[b5cf9000+74000] nepomukservices[30979]: segfault at 0 ip b5d95507 sp b3aed43c error 4 in libstreamanalyzer.so.0.7.0[b5d84000+74000] nepomukservices[30982]: segfault at 0 ip b5c93507 sp b39eb43c error 4 in libstreamanalyzer.so.0.7.0[b5c82000+74000] nepomukservices[31081]: segfault at 0 ip b5c9f507 sp b39f743c error 4 in libstreamanalyzer.so.0.7.0[b5c8e000+74000] nepomukservices[31086]: segfault at 0 ip b5d11507 sp b3a6943c error 4 in libstreamanalyzer.so.0.7.0[b5d00000+74000] nepomukservices[31093]: segfault at 0 ip b5c71507 sp b39c943c error 4 in libstreamanalyzer.so.0.7.0[b5c60000+74000] nepomukservices[31097]: segfault at 0 ip b5c72507 sp b39ca43c error 4 in libstreamanalyzer.so.0.7.0[b5c61000+74000] nepomukservices[31100]: segfault at 0 ip b5c22507 sp b397a43c error 4 in libstreamanalyzer.so.0.7.0[b5c11000+74000] nepomukservices[31103]: segfault at 0 ip b5bfa507 sp b395243c error 4 in libstreamanalyzer.so.0.7.0[b5be9000+74000] nepomukservices[31109]: segfault at 0 ip b5de1507 sp b3b3943c error 4 in libstreamanalyzer.so.0.7.0[b5dd0000+74000] nepomukservices[31173]: segfault at 0 ip b5d74507 sp b3acc43c error 4 in libstreamanalyzer.so.0.7.0[b5d63000+74000] nepomukservices[31181]: segfault at 0 ip b5cd3507 sp b3a2b43c error 4 in libstreamanalyzer.so.0.7.0[b5cc2000+74000] nepomukservices[31202]: segfault at 0 ip b5d7e507 sp b3ad643c error 4 in libstreamanalyzer.so.0.7.0[b5d6d000+74000] nepomukservices[31208]: segfault at 0 ip b5d56507 sp b3aae43c error 4 in libstreamanalyzer.so.0.7.0[b5d45000+74000] nepomukservices[31216]: segfault at 0 ip b5c7e507 sp b39d643c error 4 in libstreamanalyzer.so.0.7.0[b5c6d000+74000] gdb output: =========== $ gdb nepomukservicestub 31401 [...] (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb3aeab70 (LWP 31403)] 0xb5d91507 in Strigi::AnalysisResult::writerData() const () from /usr/lib/libstreamanalyzer.so.0 (gdb) bt #0 0xb5d91507 in Strigi::AnalysisResult::writerData() const () from /usr/lib/libstreamanalyzer.so.0 #1 0xb5d915bb in Strigi::AnalysisResult::addTriplet(std::string const&, std::string const&, std::string const&) () from /usr/lib/libstreamanalyzer.so.0 #2 0xb5ddaa18 in ID3V2ThroughAnalyzer::connectInputStream(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #3 0xb5db8d5f in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #4 0xb5d92a28 in Strigi::AnalysisResult::indexChild(std::string const&, long, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #5 0xb5dd069e in PdfEndAnalyzer::handle(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #6 0xb5ddfc53 in PdfParser::handleSubStream(Strigi::StreamBase<char>*, std::string const&, int, int) () from /usr/lib/libstreamanalyzer.so.0 #7 0xb5de003a in PdfParser::handleSubStream(Strigi::StreamBase<char>*, std::string const&, int, int, bool, std::string const&) () from /usr/lib/libstreamanalyzer.so.0 #8 0xb5de0845 in PdfParser::parseDictionaryOrStream() () from /usr/lib/libstreamanalyzer.so.0 #9 0xb5ddf92d in PdfParser::parseObjectStreamObject() () from /usr/lib/libstreamanalyzer.so.0 #10 0xb5de10f2 in PdfParser::parseObjectStreamObjectDef() () from /usr/lib/libstreamanalyzer.so.0 #11 0xb5de1291 in PdfParser::parse(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #12 0xb5dd036c in PdfEndAnalyzer::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #13 0xb5db8dc2 in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #14 0xb5d9189d in Strigi::AnalysisResult::index(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #15 0xb60de147 in Nepomuk::IndexScheduler::analyzeFile(QFileInfo const&, Strigi::StreamAnalyzer*) () from /usr/lib/kde4/nepomukstrigiservice.so #16 0xb60df473 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #17 0xb60df695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #18 0xb60df695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #19 0xb60df695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #20 0xb60df695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/kde4/nepomukstrigiservice.so #21 0xb60dfcfd in Nepomuk::IndexScheduler::run() () from /usr/lib/kde4/nepomukstrigiservice.so #22 0xb7e7e902 in ?? () from /usr/lib/libQtCore.so.4 #23 0xb7e2165c in start_thread () from /lib/libpthread.so.0 #24 0xb70131fe in clone () from /lib/libc.so.6 (gdb) continue Continuing. [Thread 0xb3aeab70 (LWP 31403) exited] [Thread 0xb42ebb70 (LWP 31402) exited] Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. (gdb) attach 31410 [...] (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb39c1b70 (LWP 31412)] 0xb5c68507 in Strigi::AnalysisResult::writerData() const () from /usr/lib/libstreamanalyzer.so.0 (gdb) bt #0 0xb5c68507 in Strigi::AnalysisResult::writerData() const () from /usr/lib/libstreamanalyzer.so.0 #1 0xb5c685bb in Strigi::AnalysisResult::addTriplet(std::string const&, std::string const&, std::string const&) () from /usr/lib/libstreamanalyzer.so.0 #2 0xb5cb1a18 in ID3V2ThroughAnalyzer::connectInputStream(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #3 0xb5c8fd5f in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #4 0xb5c69a28 in Strigi::AnalysisResult::indexChild(std::string const&, long, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #5 0xb5ca769e in PdfEndAnalyzer::handle(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #6 0xb5cb6c53 in PdfParser::handleSubStream(Strigi::StreamBase<char>*, std::string const&, int, int) () from /usr/lib/libstreamanalyzer.so.0 #7 0xb5cb703a in PdfParser::handleSubStream(Strigi::StreamBase<char>*, std::string const&, int, int, bool, std::string const&) () from /usr/lib/libstreamanalyzer.so.0 #8 0xb5cb7845 in PdfParser::parseDictionaryOrStream() () from /usr/lib/libstreamanalyzer.so.0 #9 0xb5cb692d in PdfParser::parseObjectStreamObject() () from /usr/lib/libstreamanalyzer.so.0 #10 0xb5cb80f2 in PdfParser::parseObjectStreamObjectDef() () from /usr/lib/libstreamanalyzer.so.0 #11 0xb5cb8291 in PdfParser::parse(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #12 0xb5ca736c in PdfEndAnalyzer::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #13 0xb5c8fdc2 in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #14 0xb5c6889d in Strigi::AnalysisResult::index(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #15 0xb5fb5147 in Nepomuk::IndexScheduler::analyzeFile(QFileInfo const&, Strigi::StreamAnalyzer*) () from /usr/lib/kde4/nepomukstrigiservice.so #16 0xb5fb6473 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #17 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #18 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #19 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #20 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/kde4/nepomukstrigiservice.so #21 0xb5fb6cfd in Nepomuk::IndexScheduler::run() () from /usr/lib/kde4/nepomukstrigiservice.so #22 0xb7d55902 in ?? () from /usr/lib/libQtCore.so.4 #23 0xb7cf865c in start_thread () from /lib/libpthread.so.0 #24 0xb6eea1fe in clone () from /lib/libc.so.6 (gdb) bt #0 0xb5c68507 in Strigi::AnalysisResult::writerData() const () from /usr/lib/libstreamanalyzer.so.0 #1 0xb5c685bb in Strigi::AnalysisResult::addTriplet(std::string const&, std::string const&, std::string const&) () from /usr/lib/libstreamanalyzer.so.0 #2 0xb5cb1a18 in ID3V2ThroughAnalyzer::connectInputStream(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #3 0xb5c8fd5f in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #4 0xb5c69a28 in Strigi::AnalysisResult::indexChild(std::string const&, long, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #5 0xb5ca769e in PdfEndAnalyzer::handle(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #6 0xb5cb6c53 in PdfParser::handleSubStream(Strigi::StreamBase<char>*, std::string const&, int, int) () from /usr/lib/libstreamanalyzer.so.0 #7 0xb5cb703a in PdfParser::handleSubStream(Strigi::StreamBase<char>*, std::string const&, int, int, bool, std::string const&) () from /usr/lib/libstreamanalyzer.so.0 #8 0xb5cb7845 in PdfParser::parseDictionaryOrStream() () from /usr/lib/libstreamanalyzer.so.0 #9 0xb5cb692d in PdfParser::parseObjectStreamObject() () from /usr/lib/libstreamanalyzer.so.0 #10 0xb5cb80f2 in PdfParser::parseObjectStreamObjectDef() () from /usr/lib/libstreamanalyzer.so.0 #11 0xb5cb8291 in PdfParser::parse(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #12 0xb5ca736c in PdfEndAnalyzer::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #13 0xb5c8fdc2 in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #14 0xb5c6889d in Strigi::AnalysisResult::index(Strigi::StreamBase<char>*) () from /usr/lib/libstreamanalyzer.so.0 #15 0xb5fb5147 in Nepomuk::IndexScheduler::analyzeFile(QFileInfo const&, Strigi::StreamAnalyzer*) () from /usr/lib/kde4/nepomukstrigiservice.so #16 0xb5fb6473 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #17 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #18 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #19 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () from /usr/lib/kde4/nepomukstrigiservice.so #20 0xb5fb6695 in Nepomuk::IndexScheduler::updateDir(QString const&, Strigi::StreamAnalyzer*, bool) () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/kde4/nepomukstrigiservice.so #21 0xb5fb6cfd in Nepomuk::IndexScheduler::run() () from /usr/lib/kde4/nepomukstrigiservice.so #22 0xb7d55902 in ?? () from /usr/lib/libQtCore.so.4 #23 0xb7cf865c in start_thread () from /lib/libpthread.so.0 #24 0xb6eea1fe in clone () from /lib/libc.so.6 (gdb) quit A debugging session is active. Inferior 2 [process 31410] will be detached. Quit anyway? (y or n) y Detaching from program: /usr/bin/nepomukservicestub, process 31410 Quitting: ptrace: No such process.
Created attachment 37446 [details] A workaround to not crash This patch applies to kdebase/runtime/nepomuk/strigibackend and ensures that the service does not crash. It does not really solve the problem (since I have no idea yet what the problem is) but works around it. Please see if it helps. Sadly it was not backported to KDE 4.3.2.
Thanks for the patch! I applied the patch and rebuilt kdebase-runtime. Strigi has been running for several hours now and it has not crashed once. :) I will report back if I do encounter any problems.
closing as it works now ( comment #2 ) . Please reopen if any pbs appear back