[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