Re: 2.2.14pre5: kmem_grow: Called nonatomically from int - size-128

Andi Kleen (ak-uu@muc.de)
19 Nov 1999 02:01:21 +0100


dominik.kubla@uni-mainz.de (Dominik Kubla) writes:

> On Thu, Nov 18, 1999 at 06:09:01PM +0100, Ingo Molnar wrote:
> >
> > if you put a '*(int *)0=0;' instead of the printk into slab.c then we get
> > an oops + stacktrace of the offending code path.
> >
>
> Hmm... nice! Is there a way to get a stacktrace without forcing an oops?

ftp.firstfloor.org:/pub/ak/kbacktrace-0.1.tgz provides that as a module,
or it can be linked into the kernel. You simply have a function backtrace()
then that generates a backtrace, similar to the way the oops handler does
(although it is a bit more reliable because it checks the module list).
The output is similar to an oops so ksymoops should be able to cope with it.

> It might be handy to provide some predefined debugging aids which could
> simply be enabled either at compile time (-D__KERNEL_DEBUG__) or with a
> sysctl (that would come handy for support people!).

SGI's kdb is handy, but it'll probably not be in the standard kernel.
It also has even more reliable symbolic backtracing, but requires compiling
without -fomit-frame-pointer for full functionality.

-Andi

-- 
This is like TV. I don't like TV.

- 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/