This is the mail archive of the
mailing list for the elfutils project.
Re: How to debug broken unwinding?
- From: Mark Wielaard <mark at klomp dot org>
- To: Milian Wolff <mail at milianw dot de>
- Cc: elfutils-devel at sourceware dot org
- Date: Tue, 13 Jun 2017 16:20:25 +0200
- Subject: Re: How to debug broken unwinding?
- Authentication-results: sourceware.org; auth=none
- References: <2244170.M6KXmO4ZXp@agathebauer>
On Thu, 2017-06-01 at 22:57 +0200, Milian Wolff wrote:
> How should I debug this, or how can I report a good bug report for this? I
> guess I could upload a perf archive and document the steps required to build
> perf with libdw as the unwinder, as it allows to easily compare libunwind and
> libdw for unwinding.
I am reading the rest of you messages in this thread now and it seems
you did find the issue already. But the above would still be useful if
you happen to have the instructions already written down. I was actually
looking at perf recently and couldn't immediately figure out how to
build it. It seems it depends on a whole kernel build. But if there is
an easy way to just build perf (with a variant that uses libunwind and
libdw) that would be useful in general I think.
More in general debugging the unwinder is indeed too hard. There are
some failures that are ignored because it isn't immediately clear
whether they are fatal. e.g. you might be unable to recover some
register value that then isn't ever used for a simple backtrace, or you
might not find the CFI for a pc address, but want to use the fallback
unwinder in that case. Maybe we should add a debug mode configuration
that compiles in tracing output of the unwinder operations?