backtrace [was: Core dump only on Solatris 8 not 9]
David Relson
relson at osagesoftware.com
Tue Aug 23 05:27:40 CEST 2005
On Mon, 22 Aug 2005 19:28:03 -0700 (PDT)
The Ha wrote:
> Hi Matthias
>
> Here is the gdb output
> Solaris8:~/tmp>gdb /home/tha/bin/bogofilter core
> GNU gdb 5.0
> Copyright 2000 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "sparc-sun-solaris2.8"...(no debugging symbols found)...
> Core was generated by `bogofilter -s'.
> Program terminated with signal 10, Bus Error.
> Reading symbols from /usr/local/lib/libdb-4.3.so...(no debugging symbols found)...done.
> Loaded symbols for /usr/local/lib/libdb-4.3.so
> Reading symbols from /usr/local/lib/libgsl.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/local/lib/libgsl.so.0
> Reading symbols from /usr/local/lib/libgslcblas.so.0...(no debugging symbols found)...done.
> Loaded symbols for /usr/local/lib/libgslcblas.so.0
> Reading symbols from /usr/lib/libm.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libm.so.1
> Reading symbols from /usr/lib/libc.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libc.so.1
> Reading symbols from /usr/lib/librt.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/librt.so.1
> Reading symbols from /usr/lib/libdl.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libdl.so.1
> Reading symbols from /usr/lib/libaio.so.1...(no debugging symbols found)...done.
> Loaded symbols for /usr/lib/libaio.so.1
> Reading symbols from /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1...
> (no debugging symbols found)...done.
> Loaded symbols for /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
> #0 0xfef40da4 in iconv () from /usr/lib/libc.so.1
> (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.
> #4 0x1c1f8 in yyinput ()
> No symbol table info available.
> #5 0x1daec in yylex ()
> No symbol table info available.
> #6 0x1d7a0 in yylex ()
> No symbol table info available.
> #7 0x24114 in get_token ()
> No symbol table info available.
> #8 0x18e60 in collect_words ()
> No symbol table info available.
> #9 0x15060 in bogofilter ()
> No symbol table info available.
> #10 0x17390 in bogomain ()
> No symbol table info available.
> #11 0x15320 in main ()
> No symbol table info available.
> (gdb) quit
>
> The Ha
Interesting! and not as expected :->
In the code, I can see where:
11 - main() calls bogomain()
10 - bogomain() calls bogofilter()
9 - bogofilter() calls collect_words()
8 - collect_words() calls get_token()
7 - get_token() calls yylex()
6 - yylex() calls yyinput()
However, there's no place where yyinput() calls format_log_update().
The only place format_log_update() is called is from register_words()
in register.c. Possibly it's an optimization issue.
You might try modifying CFLAGS in src/Makefile to remove optimization,
e.g. "-O2" (or whatever is set for your machine). Then run:
gdb bogofilter
set args -s < _your_file_
b format_log_update
r
where
With more debugging info (and less optimization) the results will be
more useful.
When I run "bogofilter -s" with a breakpoint at format_log_update, my
backtrace is:
(gdb) where
#0 format_log_update (buff=0x80754c0 "", size=256, _reg=0x806d0dc "",
_unreg=0x806d113 "s", _wrd=227, _msg=1) at format.c:440
#1 0x08055e48 in register_words (_run_type=REG_SPAM, h=0x807a390, msgcount=1)
at register.c:60
#2 0x0804a2d5 in bogofilter (argc=0, argv=0xbffff720) at bogofilter.c:154
#3 0x0804bea4 in bogomain (argc=7, argv=0xbffff704) at bogomain.c:65
#4 0x0804a34b in main (argc=7, argv=0xbffff704) at main.c:30
HTH,
David
More information about the Bogofilter
mailing list