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]

Skipped Probes for userspace constructors, Why?


Hello,

I have a simple script written to try and understand when the
constructor is called for the classes in an application. I generated the
probes from a list of known classes I already have (70 classes total)
and the script looks like this:

probe process("a.out").function("FooConstructor")
{
	printf ("%s\n", " FooConstructor ")
}

probe process("a.out").function("FooerConstructor ")
{
	printf ("%s\n", " FooerConstructor ")
}

Etc ....

I'm trying to do something a little smarter than just printing out
method names, but this is the simplest script that gives me the same
error I'm coming up against. Whenever I try to run stap I get the
following:

$ sudo stap foo.stp -c a.out
WARNING: Number of errors: 0, skipped probes: 195

And only 2 of the probes are actually printed to the console, the rest
are skipped. Why? From the reading I've done I understand that this
happens if probes try to use a common global and they're running in
different threads (which was my original problem). But in this case all
I'm doing is outputting the method name. So I don't understand what's
happening.

I also tried running the probes individually and not as a set, and some
of them probe fine, others show me a "skipped probes" warning and don't
output the print statement.

So I need to better understand why probes can be skipped. Is there a
reason why constructor probes in the userspace would be skipped? Can I
find out which probes were skipped and why?

Thanks!
Hassan


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