Re: 2.6.17-rc5-mm1

From: Ingo Molnar
Date: Wed May 31 2006 - 19:13:52 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> Martin, is the box still somewhat operational after such a crash? If
> yes then we could use my crash-tracer to see the kernel function call
> history leading up to the crash:
>
> http://redhat.com/~mingo/lockdep-patches/latency-tracing-lockdep.patch
>
> just apply the patch, accept the offered Kconfig defaults and it will
> be configured to do the trace-crashes thing. Reproduce the crash and
> save /proc/latency_trace - it contains the execution history leading
> up to the crash. (on the CPU that crashes) Should work on i386 and
> x86_64.
>
> the trace is saved upon the first crash or lockdep assert that occurs
> on the box. (but you'll have lockdep disabled, so it's the crash that
> matters)

i just provoked a NULL pointer dereference with the tracer applied, and
/proc/latency_trace contained the proper trace, leading up to the crash:

gettimeo-2333 0D... 2210us : trace_hardirqs_on (restore_nocheck)
gettimeo-2333 0.... 2210us > sys_gettimeofday (00000000 00000000 0000007b)
gettimeo-2333 0.... 2210us : sys_gettimeofday (sysenter_past_esp)
gettimeo-2333 0D... 2211us : do_page_fault (error_code)
gettimeo-2333 0D... 2211us : do_page_fault (c0123238 0 2)
gettimeo-2333 0D... 2211us : do_page_fault (10202 202 7b)
gettimeo-2333 0D... 2211us : trace_hardirqs_on (do_page_fault)
gettimeo-2333 0.... 2211us : lockdep_acquire (do_page_fault)

for best trace output you should have KALLSYMS and KALLSYMS_ALL enabled.

of course it could happen that tracing makes your crash go away ...

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