[Bug tapsets/18143] target_set tapset does not track threads created with clone()
maxvt at bu dot edu
sourceware-bugzilla@sourceware.org
Fri Mar 20 15:18:00 GMT 2015
https://sourceware.org/bugzilla/show_bug.cgi?id=18143
--- Comment #4 from Max Timchenko <maxvt at bu dot edu> ---
Thanks everyone for responses, that was a lot to process. I'll address in
order. New theory as to the source of the problem below.
> ...changed target_set.stp to use process.begin...Does your version of stap 2.6 not have this patch?
David: it has the patch. Checked by looking at the tapset. The exact version is
(version 2.6/0.159, Debian version 2.6-0.2)
> It may be that Max's kernel doesn't have utrace nor satisfy the requirements for stp_utrace.
Josh: looks like uprobe support is there: I'm running
"Linux jessie 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt7-1 (2015-03-01)",
$ grep UPRO /boot/config-3.16.0-4-amd64
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_UPROBES=y
CONFIG_UPROBE_EVENT=y
New theory: the probe process.begin is silently skipped when running in target
thread mode (-x). This might be the reason the target_set tracking probe fails
to run even though the patch is present and uprobe support is there, since I
always point stap at a particular root process of interest.
Evidence:
testfile1.stp
---
probe process.begin {
printf("Process begin, pid=%d\n", pid())
}
probe process.thread.begin {
printf("Thread begin, pid=%d\n", pid())
}
---
$ stap testfile1.stp
Process begin, pid=1
Process begin, pid=560
Process begin, pid=573
...
$ stap -x 609 testfile1.stp
semantic error: while resolving probe point: identifier 'process' at
test.stp:1:7
source: probe process.begin {
^
semantic error: invalid pid
Pass 2: analysis failed. [man error::pass2]
Number of similar error messages suppressed: 1.
Rerun with -v to see them.
Tip: /usr/share/doc/systemtap/README.Debian should help you get started.
testfile2.stp
---
probe process.begin! {
printf("Process begin, pid=%d\n", pid())
}
probe process.thread.begin! {
printf("Thread begin, pid=%d\n", pid())
}
probe syscall.open {
printf("Let's add one working probe")
}
---
$ stap -x 609 testfile2.stp
Makefile:10: *** mixed implicit and normal rules: deprecated syntax
Let's add one working probe
Let's add one working probe
...
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Systemtap
mailing list