[Dovecot] Problem with fts lucene, on solaris 10
Pigi
pigi at frumar.it
Mon Apr 8 11:54:47 EEST 2013
I haven't had too much luck with gdb:
0xfec4c554 in ?? ()
(gdb) cont
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0xfebd710c in ?? ()
(gdb) bt full
#0 0xfebd710c in ?? ()
No symbol table info available.
(gdb) quit
The program is running. Quit anyway (and detach it)? (y or n) y
Detaching from program: , process 16400
That's rather strange, as :
root# file /usr/local/dovecot/sbin/dovecot
dovecot: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped
root# file /usr/local/clucene/lib/lib*
/usr/local/clucene/lib/libclucene-core.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not stripped
/usr/local/clucene/lib/libclucene-core.so.1: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not stripped
/usr/local/clucene/lib/libclucene-core.so.2.3.3.4: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not stripped
/usr/local/clucene/lib/libclucene-shared.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not stripped
/usr/local/clucene/lib/libclucene-shared.so.1: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not stripped
/usr/local/clucene/lib/libclucene-shared.so.2.3.3.4: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically linked, not stripped
root #
Thus, every binary, or lib, is not stripped.
If I invoke gdb on those binary I can get every simbol:
root # gdb /usr/local/dovecot/sbin/dovecot
... SNIP ...
(gdb) list
736 "\n", IO_BLOCK_SIZE);
737 }
738
739 int main(int argc, char *argv[])
740 {
741 struct master_settings *set;
742 const char *error, *doveconf_arg = NULL;
743 failure_callback_t *orig_info_callback, *orig_debug_callback;
744 bool foreground = FALSE, ask_key_pass = FALSE;
745 bool doubleopts[argc];
or even
root # gdb /usr/local/clucene/lib/libclucene-core.so
... SNIP ...
(gdb) list
1 /*------------------------------------------------------------------------------
2 * Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
3 *
4 * Distributable under the terms of either the Apache License (Version 2.0) or
5 * the GNU Lesser General Public License, as specified in the COPYING file.
6 ------------------------------------------------------------------------------*/
7 #include "CLucene/_ApiHeader.h"
8 #include "CLucene/util/Misc.h"
9
10 #include "CLucene/search/Sort.h"
(gdb)
Should I compile with -g (and in case, how do I pass this flag to cmake ) ?
Thanks.
Pigi
On Sunday 07 April 2013, Timo Sirainen wrote:
> On 5.4.2013, at 22.59, Pigi <pigi at frumar.it> wrote:
>
> > I'm planning to migrate my courier-imap imap server to dovecot, but I'm experiencing a strange issue
> > with fts-lucene plugin.
> >
> > Basically, every time I start a search, the log starts to write:
> >
> > Apr 05 19:30:53 indexer: Error: Indexer worker disconnected, discarding 1 requests for XXXXXX
> > Apr 05 19:30:53 indexer-worker(XXXXX): Fatal: master: service(indexer-worker): child 809 killed with signal 11 (core not dumped)
> > Apr 05 19:30:53 imap(XXXXXX): Error: indexer failed to index mailbox INBOX
> > Apr 05 19:30:56 indexer-worker(XXXXX): Error: lucene index /home/XXXXX/Maildir/lucene-indexes: IndexWriter() failed (#1): Lock obtain timed out
> >
> > When trussing the indexer-worker pid I can see it ends with:
>
> If you can truss it, you can also gdb it, which is much more helpful:
>
> gdb -p <pid of index-worker>
> cont
> <make it crash>
> bt full
>
> > 527: siginfo: SIGBUS BUS_ADRALN addr=0x005B50BA
> > 527: Received signal #10, SIGBUS [default]
> > 527: siginfo: SIGBUS BUS_ADRALN addr=0x005B50BA
>
> That says it's a SIGBUS, but the Dovecot log said it's a SIGSEGV. Wonder what's the difference, or maybe you're getting both. Anyway I'd guess this is a clucene bug related to CPU alignment with Sparc CPU. gdb would confirm and could help with fixing it.
>
>
More information about the dovecot
mailing list