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 <p...@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.
> 
> 


Reply via email to