Re: Broken kretprobe stack traces

From: Daniel Xu
Date: Thu Mar 04 2021 - 14:06:28 EST


On Wed, Mar 3, 2021, at 6:18 PM, Daniel Xu wrote:
> On Wed, Mar 03, 2021 at 03:37:40PM -0500, Steven Rostedt wrote:
> > On Wed, 03 Mar 2021 12:13:08 -0800
> > "Daniel Xu" <dxu@xxxxxxxxx> wrote:
> >
> > > On Wed, Mar 3, 2021, at 11:58 AM, Daniel Xu wrote:
> > > > On Wed, Mar 03, 2021 at 09:26:04AM -0500, Steven Rostedt wrote:
> > > > > On Wed, 3 Mar 2021 13:48:28 +0900
> > > > > Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
> > > > >
> > > > > >
> > > > > > >
> > > > > > > I think (can't prove) this used to work:
> > > > >
> > > > > Would be good to find out if it did.
> > > >
> > > > I'm installing some older kernels now to check. Will report back.
> > >
> > > Yep, works in 4.11. So there was a regression somewhere.
> >
> > Care to bisect? ;-)
>
> Took a while (I'll probably be typing "test_regression.sh" in my sleep
> tonight) but I've bisected it down to f95b23a112f1 ("Merge branch
> 'x86/urgent' into x86/asm, to pick up dependent fixes").
>
> I think I saw the default option for stack unwinder change from frame
> pointers -> ORC so that may be the root cause. Not sure, though. Need to
> look more closely at the commits in the merge commit.
>
> <...>
>
> Daniel
>

Compiling with:

CONFIG_UNWINDER_ORC=n
CONFIG_UNWINDER_FRAME_POINTER=y

fixes the issues and leads me to believe stacktraces on kretprobes
never worked with ORC.

Josh, any chance you have an idea?

Thanks,
Daniel