strigidaemon reproducably crashes on my system (gutsy up-to-date) every
time it is run. I managed to reproduce the bug by calling luceneindexer
directly with the following procedure:

(Install strigi-daemon-dbgsym, libstreamanalyzer0-dbgsym from "deb
http://people.ubuntu.com/~pitti/ddebs gutsy main universe" if you want
to start it in gdb)

mkdir idx
mkdir dirtoindex
cp amarok-1.4.3.tar.bz2 dirtoindex/
luceneindexer idx dirtoindex

(amarok-1.4.3.tar.bz2 is copied into the directory to be indexed,
because stringidaemon had an open filedescriptor to it when it crashed)

luceneindexer crashes with the following stack trace:

(gdb) b analyzerconfiguration.cpp:80
(gdb) cond 2 field==0
(gdb) c
Continuing.

Breakpoint 2, Strigi::AnalyzerConfiguration::indexType (this=0xbfbbadb0, 
field=0x0) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/analyzerconfiguration.cpp:82
(gdb) bt
#0  Strigi::AnalyzerConfiguration::indexType (this=0xbfbbadb0, field=0x0) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/analyzerconfiguration.cpp:82
#1  0xb7f604a4 in CLuceneIndexWriter::addValue () from 
/usr/lib/libcluceneindex.so.0
#2  0xb7f61e5f in CLuceneIndexWriter::addValue () from 
/usr/lib/libcluceneindex.so.0
#3  0xb7f104c0 in Strigi::AnalysisResult::addValue (this=0xbfbba9b0, field=0x0, 
value=1) at /build/buildd/strigi-0.5.5/src/streamanalyzer/analysisresult.cpp:269
#4  0xb7f21c43 in M3uLineAnalyzer::endAnalysis (this=0xb7f46928, complete=true) 
at /build/buildd/strigi-0.5.5/src/streamanalyzer/m3ustreamanalyzer.cpp:80
#5  0xb7f21909 in Strigi::LineEventAnalyzer::endAnalysis (this=0x809a698, 
complete=true) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/lineeventanalyzer.cpp:108
#6  0xb7f16b7e in Strigi::EventThroughAnalyzer::handleEnd (this=0x8099668) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/eventthroughanalyzer.cpp:84
#7  0xb7dd05a4 in Strigi::DataEventInputStream::finish () from 
/usr/lib/libstreams.so.0
#8  0xb7dd0b22 in Strigi::DataEventInputStream::read () from 
/usr/lib/libstreams.so.0
#9  0xb7f40895 in TextEndAnalyzer::analyze (this=0x8098db8, [EMAIL PROTECTED], 
in=0x80e26d0) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/endanalyzers/textendanalyzer.cpp:50
#10 0xb7f2e359 in Strigi::StreamAnalyzerPrivate::analyze (this=0x804d530, 
[EMAIL PROTECTED], input=0x80e26d0) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/streamanalyzer.cpp:404
#11 0xb7f2e6b1 in Strigi::StreamAnalyzer::analyze (this=0x804d1c4, [EMAIL 
PROTECTED], input=0x809a798) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/streamanalyzer.cpp:351
#12 0xb7f10cce in Strigi::AnalysisResult::indexChild (this=0xbfbbac1c, [EMAIL 
PROTECTED], mt=1157424160, file=0x809a798) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/analysisresult.cpp:180
#13 0xb7f404da in TarEndAnalyzer::staticAnalyze ([EMAIL PROTECTED], 
in=0xbfbbaa74) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/endanalyzers/tarendanalyzer.cpp:49
#14 0xb7f32fe9 in Bz2EndAnalyzer::analyze (this=0x8062648, [EMAIL PROTECTED], 
in=0x8083528) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/endanalyzers/bz2endanalyzer.cpp:58
#15 0xb7f2e359 in Strigi::StreamAnalyzerPrivate::analyze (this=0x804d530, 
[EMAIL PROTECTED], input=0x8083528) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/streamanalyzer.cpp:404
#16 0xb7f2e6b1 in Strigi::StreamAnalyzer::analyze (this=0x804d1c4, [EMAIL 
PROTECTED], input=0xbfbbabe4) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/streamanalyzer.cpp:351
#17 0xb7f1005d in Strigi::AnalysisResult::index (this=0xbfbbac1c, 
file=0xbfbbabe4) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/analysisresult.cpp:168
#18 0xb7f14ee4 in Strigi::DirAnalyzer::Private::analyze (this=0x804d1b8, 
analyzer=0x804d1c4) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/diranalyzer.cpp:99
#19 0xb7f1522e in Strigi::DirAnalyzer::Private::analyzeDir (this=0x804d1b8, 
[EMAIL PROTECTED], nthreads=2, c=0x0, [EMAIL PROTECTED]) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/diranalyzer.cpp:206
#20 0xb7f1543f in Strigi::DirAnalyzer::analyzeDir (this=0xbfbbadc8, [EMAIL 
PROTECTED], nthreads=2, c=0x0, [EMAIL PROTECTED]) at 
/build/buildd/strigi-0.5.5/src/streamanalyzer/diranalyzer.cpp:161
#21 0x08049705 in main (argc=0, argv=0xbfbbaf04) at 
/build/buildd/strigi-0.5.5/src/luceneindexer/luceneindexer.cpp:70

This is one step before the crash. The field parameter is passed with 0 and 
then dereferenced.
Going up the stack, I could follow the 0 parameter until 
M3uLineAnalyzer::endAnalysis, where factory->tracksField is passed as field, 
but at the time of the analysis, it was no longer 0, maybe another thread has 
changed it.

-- 
strigidaemon crashed with SIGSEGV in Strigi::AnalyzerConfiguration::indexType()
https://bugs.launchpad.net/bugs/137555
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to