Listing probe alias resolution failures
patm@pdx.edu
patm@pdx.edu
Tue May 15 22:02:00 GMT 2007
Quoting David Smith <dsmith@redhat.com>:
> patm@pdx.edu wrote:
>> With (version 0.5.14 built 2007-04-30) of systemtap and kernel
>> 2.6.19.7 (i386), there are a lot (~220) of failures in the tapset
>> like the following:
>>
>> semantic error: no match for probe point while resolving probe
>> point vm.write_shared_copy
>>
>> To get a list of all of these, I pulled out some code from the
>> systemtap GUI and made a quick standalone java program
>> "listprobes", it works like the following:
>
> I'm not a java programmer, but it appears like you might be expecting
> every function listed in the tapsets to be resolvable on a particular
> kernel. This isn't the case. Let's take an easy example - the probe
> alias syscall.open (in tapset/syscalls2.stp):
>
> =============
> probe syscall.open =
> kernel.function("sys_open") ?,
> kernel.function("compat_sys_open") ?,
> kernel.function("sys32_open") ?
> {
> ...
> }
> =============
The java program lists all of the probe aliases, not their
corresponding kernel funtion(s). So all of the failures listed are for
the probe alias, which must happen as you described above, after
exhausting all listed kernel.functions and modules mapped to in the
probe definition.
> This probe alias looks for "sys_open" first, then if it doesn't exist
> looks for "compat_sys_open", then looks for "sys32_open". If
> "sys_open" exists in your kernel, it isn't an error that
> "compat_sys_open" and "sys32_open" do not exist.
>
> In actual use, if you've gotten "no match for probe point" errors let
> us know and we'll try to fix them.
>
> --
> David Smith
> dsmith@redhat.com
> Red Hat
> http://www.redhat.com
> 256.217.0141 (direct)
> 256.837.0057 (fax)
More information about the Systemtap
mailing list