This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: probe point "process(PATH).function(*).return" not ready yet?


On 08/14/2013 07:23 AM, maliubiao wrote:
> Code:
> probe process("../build/lpg").function("*").reutnr {
> printf("%s\n", probefunc());
> }
> Result:
> semantic error: while resolving probe point: identifier 'process' at
> hello.stp:8:7
>         source: probe process("../build/lpg").function("*").return {
>                       ^
> 
> semantic error: process return probes not available [man error::inode-uprobes]
> Pass 2: analysis failed.  [man error::pass2]
> 
> This probe point is in the systemtap language reference, what's wrong?
> thanks   .
> 

Here is a short history of uprobes (the feature that gives systemtap
user probes):

- original uprobes (with both function entry and return probes): RHEL5
era kernels (needs kernel utrace), in an external kernel module

- uprobes v2 (with both function entry and return probes): RHEL6 era
kernels (needs kernel utrace), in an external kernel module

- inode uprobes (with function entry probes): current kernels, doesn't
need kernel utrace, built into the kernel

Your kernel has inode uprobes, which doesn't support function return
probes yet. There have been some work in this area, but I don't believe
that functionality has quite made it into the kernel yet.

In the meantime, you might be able to switch to the dyninst runtime
(--runtime=dyninst or --dyninst). This is a new, somewhat experimental
runtime, that does probing purely in userspace. You won't be able to use
dyninst if your script uses any kernel probing features (like
'kernel.function').

-- 
David Smith
dsmith@redhat.com
Red Hat
http://www.redhat.com
256.217.0141 (direct)
256.837.0057 (fax)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]