0.11.1 debian failures

Matthias Andree matthias.andree at gmx.de
Mon Mar 10 00:25:28 CET 2003


David Relson <relson at osagesoftware.com> writes:

> My mistake.  I was thinking that S390 had the floating point exception,
> but it was really Alpha that had the problem.  Since I fixed a divide by
> zero problem, I'm willing to bet that the floating point exception has
> been fixed.
>
> That still leaves the segmentation faults in test t.lock2 on S390.  Have
> you any thoughts/theories/ideas on what's causing that?

I'm afraid I don't -- and I don't have ideas other than trying to have
the t.frame look for a core file in `pwd`, $TESTDIR and so on and try to
pull out a backtrace. The traceback features of script languages of Tcl
and Python (not that I fancy introducing Tcl) are most useful in these
cases.

While GNU libc has a feature to generate backtraces, it needs
-fno-omit-frame-pointer and low optimization to be useful -- and the
output isn't exactly useful without the binary, because it doesn't give
line number information, so it's still "gdb" or "objdump" that is
needed:

Obtained 5 stack frames.
/tmp/bt(backtrace_symbols+0xe0) [0x8048440]
/tmp/bt(backtrace_symbols+0x137) [0x8048497]
/tmp/bt(backtrace_symbols+0x14a) [0x80484aa]
/lib/libc.so.6(__libc_start_main+0xa2) [0x400464a2]
/tmp/bt(backtrace_symbols+0x31) [0x8048391]

What I've currently found is that this gives somewhat useful results:

Use this as file "exec":

set height 0
set width 0
backtrace
backtrace full
quit

And run gdb like this:

gdb -nw -batch -n -x exec -silent program core </dev/null

Sample output (more useful):

Core was generated by `/tmp/bt'.
Program terminated with signal 6, Aborted.
#0  0x40057df1 in kill () from /lib/libc.so.6
#0  0x40057df1 in kill () from /lib/libc.so.6
#1  0x40057bd8 in raise () from /lib/libc.so.6
#2  0x400594d9 in abort () from /lib/libc.so.6
#3  0x080484c9 in print_trace () at /tmp/trybacktrace.c:22
#4  0x080484d5 in dummy_function () at /tmp/trybacktrace.c:28
#5  0x080484e8 in main () at /tmp/trybacktrace.c:33
#6  0x400464a2 in __libc_start_main () from /lib/libc.so.6
[...]
#3  0x080484c9 in print_trace () at /tmp/trybacktrace.c:22
        array = {0x8048480, 0x80484d5, 0x80484e8, 0x400464a2, 0x80483d1, 0x0, 0x40046315, 0x40146c90, 0x1, 0x40012a90}
        size = 5
        strings = (char **) 0x8049698
        i = 5
#4  0x080484d5 in dummy_function () at /tmp/trybacktrace.c:28
No locals.
#5  0x080484e8 in main () at /tmp/trybacktrace.c:33
No locals.
#6  0x400464a2 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.


However, I expect one or more obstacles in our way, and it would require
some work of Clint's, to patch the code and a gdb dependency into the
debian package.

Any other gdb output we would want?

-- 
Matthias Andree




More information about the bogofilter-dev mailing list