Re: failed to add c++ probe

From: Masami Hiramatsu
Date: Tue Sep 20 2016 - 23:38:17 EST


On Tue, 20 Sep 2016 01:32:04 +0200 (CEST)
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> Masami,
>
> On Tue, 20 Sep 2016, Masami Hiramatsu wrote:
> > Hmm, could you try to find mangled symbol from the library as below?
> >
> > ./perf probe -x /usr/lib64/libstdc++.so.6 -F \*
> >
> > And also try to do adding probe with -v option again?
> >
> > In my case, I could find the mangled symbol, but failed to setup the probe...
>
> ./perf probe -x /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -v _X_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv
> probe-definition(0): _X_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv
> symbol:_X_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv file:(null) line:0 offset:0 return:0 lazy:(null)
> 0 arguments
> symbol:catch file:(null) line:0 offset:0 return:0 lazy:(null)
> symbol:throw file:(null) line:0 offset:0 return:0 lazy:(null)
> symbol:rethrow file:(null) line:0 offset:0 return:0 lazy:(null)
> Open Debuginfo file: /usr/lib/debug/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
> Try to find probe point from debuginfo.
> Symbol _X_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv address found : 8c620
> Matched function: is_open
> found inline addr: 0x8cad0
> Probe point found: is_open+0
> found inline addr: 0x8cac0
> Probe point found: is_open+0
> found inline addr: 0x8cab0
> Probe point found: is_open+0
> Matched function: is_open
> An error occurred in debuginfo analysis (-2).
> Trying to use symbols.
> Opening /sys/kernel/tracing//uprobe_events write=1
> Writing event: p:probe_libstdc++/_X_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22:0x8c620
> Failed to write event: Invalid argument
> Error: Failed to add events. Reason: Invalid argument (Code: -22)
>
> [16568.176464] Failed to allocate trace_uprobe.(-22)
> [16568.176468] Failed to parse address or file.
>
> Aside of that mangled symbols with a @plt suffix do not work at all.

Oh, OK. I could reproduce it. I'll investigate it. :)

Thank you,


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>