public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* probe point "process(PATH).function(*).return" not ready yet?
@ 2013-08-14 12:23 maliubiao
  2013-08-14 13:34 ` David Smith
  2013-08-16 15:34 ` Frank Ch. Eigler
  0 siblings, 2 replies; 3+ messages in thread
From: maliubiao @ 2013-08-14 12:23 UTC (permalink / raw)
  To: systemtap

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   .

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: probe point "process(PATH).function(*).return" not ready yet?
  2013-08-14 12:23 probe point "process(PATH).function(*).return" not ready yet? maliubiao
@ 2013-08-14 13:34 ` David Smith
  2013-08-16 15:34 ` Frank Ch. Eigler
  1 sibling, 0 replies; 3+ messages in thread
From: David Smith @ 2013-08-14 13:34 UTC (permalink / raw)
  To: maliubiao; +Cc: systemtap

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)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: probe point "process(PATH).function(*).return" not ready yet?
  2013-08-14 12:23 probe point "process(PATH).function(*).return" not ready yet? maliubiao
  2013-08-14 13:34 ` David Smith
@ 2013-08-16 15:34 ` Frank Ch. Eigler
  1 sibling, 0 replies; 3+ messages in thread
From: Frank Ch. Eigler @ 2013-08-16 15:34 UTC (permalink / raw)
  To: maliubiao; +Cc: systemtap

maliubiao <maliubiao@gmail.com> writes:

> [...]
> 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]
> [...]

Have you tried running

% man error::inode-uprobes 

this?  Like other error-related man pages, it tries to explain what's
going on.  The gist of it is that your kernel is not old (<= 2.6.32)
or new (>= 3.10) enough.

- FChE

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-08-16 15:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-14 12:23 probe point "process(PATH).function(*).return" not ready yet? maliubiao
2013-08-14 13:34 ` David Smith
2013-08-16 15:34 ` Frank Ch. Eigler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).