10

LKML: Linus Torvalds: Re: [RFC 0/5] kernel: backtrace unwind support

 3 years ago
source link: https://lkml.org/lkml/2012/2/10/356
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
backtrace unwind support  
Messages in this thread
FromLinus Torvalds <>DateFri, 10 Feb 2012 10:59:51 -0800SubjectRe: [RFC 0/5] kernel: backtrace unwind support
On Fri, Feb 10, 2012 at 9:43 AM, Peter Zijlstra <[email protected]> wrote:
>
> So I CC'ed Linus who has a strong here, jejb since he's the one that
> told me several time there's a number of literate dwarfs already in the
> kernel and Jan because I think it was him that tried last on x86.

I never *ever* want to see this code ever again.

Sorry, but last time was too f*cking painful. The whole (and *only*)
point of unwinders is to make debugging easy when a bug occurs. But
the f*cking dwarf unwinder had bugs itself, or our dwarf information
had bugs, and in either case it actually turned several "trivial" bugs
into a total undebuggable hell.

It was made doubly painful by the developers involved then several
times ignoring the problem, and claiming the code was bug-free when it
clearly wasn't, or trying to claim that the problem was that we set up
some random dwarf information wrong, when THAT GOES WITHOUT SAYING
(since dwarf is a complex mess that never gets any actual testing
except when things go wrong - at which point the code had better work
regardless of whether the dwarf info was correct or not).

So no. An unwinder that is several hundred lines long is simply not
even *remotely* interesting to me.

If you can mathematically prove that the unwinder is correct - even in
the presence of bogus and actively incorrect unwinding information -
and never ever follows a bad pointer, I'll reconsider.

In the absence of that, just follow the damn chain on the stack
*without* the "smarts" of an inevitably buggy piece of crap.

Linus



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK