Re: How to translate an oops

Guest section DW (dwguest@win.tue.nl)
Sat, 17 Oct 1998 15:19:00 +0200 (MET DST)


From: Stephen Landamore <stephenl@arcam.co.uk>

Ivan Passos wrote:

> How do you do this translation ??? This is something I've always
> wanted to know but I never knew how to ask ... :)
>
> If you can clarify this issue to me, I would really appreciate it.

Read the linux-kernel FAQ... http://www.tux.org/lkml/faq.html

Hmm. Interesting advice. However, the linux-kernel FAQ does not say
anything at all about decoding an Oops. It only points at other
places where one might search for info. The main sentence is

: Don't post your oops report before you have checked
: linux/Documentation/oops-tracing.txt, the
: relevant paragraphs in linux/README, the ksymoops.cc
: C++ program in linux/scripts ...

The program you want is called 'ksymoops'... you'll find it in the
scripts/ directory of your favourite kernel distribution.

Also read Documentation/oops-tracing.txt

In fact, the program ksymoops found in linux/scripts is worthless junk.

First of all, it is in C++. On many machines it does not compile.
Secondly, it is not robust at all. It will only work when given the
precise Oops output (and sometimes it even dumps core on an actual Oops).
It does not work with Oops output that someone copied down by hand.
Look at the stupid code:

: oops_column = strstr(buffer, "EIP:");
: if (sscanf(oops_column+13, "[<%x>]", &eip_addr) != 1) {
: cout << "Cannot read eip address from EIP: line." << endl;
: exit(1);
: }

A good tool would not have this built-in 13 and so on. It would accept
fragments of Oops information, like just a stack trace, copied down by hand.
It would not be written in C++.

Maybe someone with a little spare time can write a real ksymoops.c.
[Or perhaps it has been written, and only linux/scripts/ksymoops.cc has to
be replaced?]
And a ksymoops.8 wouldnt harm either.

Andries

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/