Re: boot failure, "DWARF2 unwinder stuck at 0xc0100199"

From: Jan Beulich
Date: Tue Aug 22 2006 - 04:15:53 EST


>> Has anyone even tried to reproduce Bruce's crash?
>
>I looked at it a bit, but it puzzles me. The chaining for the interrupt stacks
>on i386 -- which is what seems to be corrupted here -- shouldn't have changed at all
>by the unwinder changes.

Not necessarily:

if (UNW_SP(&info))
stack = (void *)UNW_SP(&info);

is rather fragile - the minimum extra protection here should be to only use
UNW_SP() for the continuation stack pointer if it actually points into kernel
space (as is being done in one of the 2.6.19 patches), ...

>I suspect it would crash without unwinder too. Bruce, do you get the
>same crash when you boot with "call_trace=old" ?

... but of course I continue to agree that doing things like

addr = *stack++;

in the legacy stack trace code cannot be good, given that this code
generally is expected to run when things are already bad in some way.

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