[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: nepomukstrigiservice segfault (was: KDE Software Compilation 4.6.1 has been uploaded to qt-kde.debian.net)



On Sunday 03 April 2011, Sune Vuorela wrote:
> On 2011-04-02, Michael Schuerig <michael@schuerig.de> wrote:
> > On Saturday 02 April 2011, Sune Vuorela wrote:
> >> On 2011-04-02, Modestas Vainius <modax@debian.org> wrote:
> >> > On Saturday 02 April 2011 23:01:33 Michael Schuerig wrote:
> >> >> Well, I spoke too early. The indexer crashes all the time. I'm
> >> >> trying my luck on the commandline now with
> >> >>
> >> >>=20
> >> >>
> >> >> $ while true; do nepomukservicestub --nocrashhandler
> >> >> nepomukstrigiservice; done
> >> > 
> >> > It's probably strigi which is broken here. It is not part of KDE
> >> > SC.
> >> 
> >> Or a strigi plugin provided by some-package by KDE that is
> >> crashing on parsing a file.
> >> 
> >> If you can find the involved file, and which plugin is crashing,
> >> it could help track it down.
> > 
> > It's definitely inside one of KMail's maildirs. The backtrace I'm
> > getting in gdb is below. It looks like I'm lacking the proper debug
> > symbols, but I don't know which package I'd need to install.
> 
> strigi-dbg

Thanks, I was looking among the KDE packages. This backtrace looks more 
useful.

The cause appears to be the last line (or two, considering wrapping) of 
this snippet

string&
QuotedPrintableDecoder::decodeQuotedPrintable(const char* v, uint32_t 
len) {
    if (decoded.size() < len) {
        decoded.reserve(len);
    }
    decoded.resize(0);
    const char* pos = v;
    const char* end = v + len;
    char c;
    while (v < end) {
        if (*v == '=' && end - v > 2 && isxdigit(v[1]) && 
isxdigit(v[2])) {

That line by itself looks ok, I take it, that the v argument to the 
function is faulty, to begin with.

I'll give it a try tomorrow to debug into it.

Michael


#0  QuotedPrintableDecoder::decodeQuotedPrintable (this=0x19a3df0, 
    v=0x2ec3000 <Address 0x2ec3000 out of bounds>, len=<value optimized 
out>)
    at /build/buildd-strigi_0.7.2-1+b1-amd64-
Xu86fT/strigi-0.7.2/src/streams/mailinputstream.cpp:120
#1  0x00007fffedd88cb3 in HeaderDecoder::decodedHeaderValue 
(this=0x19a3df0, 
    v=<value optimized out>, len=<value optimized out>)
    at /build/buildd-strigi_0.7.2-1+b1-amd64-
Xu86fT/strigi-0.7.2/src/streams/mailinputstream.cpp:178
#2  0x00007fffedd88e94 in 
Strigi::MailInputStream::Private::handleHeaderLine (this=0x19a3d60)
    at /build/buildd-strigi_0.7.2-1+b1-amd64-
Xu86fT/strigi-0.7.2/src/streams/mailinputstream.cpp:493
#3  0x00007fffedd8ab14 in Strigi::MailInputStream::Private::readHeader 
(this=0x19a3d60)
    at /build/buildd-strigi_0.7.2-1+b1-amd64-
Xu86fT/strigi-0.7.2/src/streams/mailinputstream.cpp:440
#4  0x00007fffedd8ae47 in Strigi::MailInputStream::MailInputStream 
(this=0x7fffe2050580, 
    input=<value optimized out>)
    at /build/buildd-strigi_0.7.2-1+b1-amd64-
Xu86fT/strigi-0.7.2/src/streams/mailinputstream.cpp:320
#5  0x00007fffee9256e9 in MailEndAnalyzer::analyze (this=0x934d20, 
idx=..., 
    in=0xffffffffffffff90)
    at /build/buildd-strigi_0.7.2-1+b1-amd64-
Xu86fT/strigi-0.7.2/src/streamanalyzer/endanalyzers/mailendanalyzer.cpp:149
#6  0x00007fffee915e7a in Strigi::StreamAnalyzerPrivate::analyze 
(this=0x7e1c00, idx=..., 
    input=0x1140620)
    at /build/buildd-strigi_0.7.2-1+b1-amd64-
Xu86fT/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
#7  0x00007fffe7a1452e in Nepomuk::Indexer::indexFile (this=<value 
optimized out>, 
    info=<value optimized out>) at 
../../../../nepomuk/services/strigi/nepomukindexer.cpp:135
#8  0x00007fffe7a08ffc in Nepomuk::IndexScheduler::analyzeDir 
(this=0x789ce0, 
    dir_=<value optimized out>, flags=...)
    at ../../../../nepomuk/services/strigi/indexscheduler.cpp:450
#9  0x00007fffe7a0935d in Nepomuk::IndexScheduler::run (this=0x789ce0)
    at ../../../../nepomuk/services/strigi/indexscheduler.cpp:338
#10 0x00007ffff79bf035 in QThreadPrivate::start (arg=0x789ce0) at 
thread/qthread_unix.cpp:320
#11 0x00007ffff531e8ba in start_thread (arg=<value optimized out>) at 
pthread_create.c:300
#12 0x00007ffff56033cd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()


-- 
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/


Reply to: