Core dump only on Solatris 8 not 9

Matthias Andree matthias.andree at gmx.de
Tue Aug 23 10:45:27 CEST 2005


On Mon, 22 Aug 2005, The Ha wrote:

> (gdb) backtrace full
> #0  0xfef40da4 in iconv () from /usr/lib/libc.so.1
> No symbol table info available.
> #1  0x2b434 in base64_validate ()
> No symbol table info available.
> #2  0x2b688 in iconvert ()
> No symbol table info available.
> #3  0x1bf7c in format_log_update ()
> No symbol table info available.

That is interesting and you got it right, but I am sorry to say it
doesn't make sense - which isn't your fault though.

It looks as though base64_validate had called iconv, which contradicts
the source code. And the function calls are somewhat apart, so I don't
think I'm looking at the results of tail recursion elimination (a
compiler optimization) either.

Do you recall the compiler flags, CFLAGS? They are recorded in
config.log. If they contained -O2, -O3 or higher (configure defaults to
using -O2 -g for GCC), please try compiling bogofilter with just -O (the
letter capital Oh), like this:

make distclean
./configure CFLAGS="-O -ggdb"    (append your other configure options if desired)
make
make install

If it still doesn't work, please retry with CFLAGS="-O0 -ggdb" (that's Oh
zero) and send the backtrace again. This all assumes you're using GCC.
For Sun's Forté compiler I believe the options are -xO2, -xO1 and -xO0
rather than -O1 and -O0 (the default for -O in my version 6 is -xO3).

Do you know which compiler version was used to compile bogofilter? It's
either in the config.log, or if it's gcc, "gcc --version" will tell you.

If using "-O" fixes your problem, try updating your compiler before
using -O2 or higher optimization levels on any software again - older
GCC versions sometimes had some optimizer bugs that led to
miscompilations, particularly on RISC platforms such as Alpha or SPARC.

I have just compiled 0.96 and ran "make check"; which went fine. I've
been using gcc (GCC) 3.4.4 from blastwave.org with just "-ggdb -O", and
again the same compiler also with "-O3 -mcpu=v8 -mtune=v9".

If this all doesn't help, I hope to be able to figure more from the
backtrace with less optimized code.

-- 
Matthias Andree



More information about the Bogofilter mailing list