Analysis of broken systemtap example scripts
William Cohen
wcohen@redhat.com
Wed Oct 10 15:50:00 GMT 2018
Hi,
I am going through the systemtap example scripts and see what things
are still broken and what needs to be done to fix them.
The tapset update due to the changes in the kernel changes in syscall
mechanisms has affected a number of scripts. socket-events.stp used
internal __syscall.send.return and __syscall.sendmsg.return (marking
those with 'I'). Also a number of scripts assume that the dwarf based
kprobe/kretprobe were being used and had @entry() available for target
variables (marking those with 'E'). Target variable availablility is
questionable since the tapsets often fall to using the non-dwarf
variant which don't provide target variables ('T') or guru mode
changing of varialble ('G')
FAIL: systemtap.examples/general/socket-events build (IE)
FAIL: systemtap.examples/io/iotime build (E)
FAIL: systemtap.examples/process/futexes build (E)
FAIL: systemtap.examples/process/futexes2 build (E)
FAIL: systemtap.examples/process/mutex-contention build (E)
FAIL: systemtap.examples/io/eatmydata build (TG)
FAIL: systemtap.examples/process/noptrace build (TG)
Is there some way to make the dwarf-based probes work on newer 4.18
kernel? If that was the case the tests above would just work.
For scripts that expect the entry target variable it is possible to
rewrite them to eliminate the @entry() uses. Attached is a patch that
does that for futexes.stp futexes2.stp, and mutex-contention.stp. The
main downside is there is more contention for the global associative
array and a lot more skipped probes.
The following test failed because a target variable was no longer
available or couldn't be found. Some of this is because the function
is now being inline and the parameter just doesn't exist.
FAIL: systemtap.examples/general/varwatch build (inlined function)
FAIL: systemtap.examples/io/capture_ssl_master_secrets build
FAIL: systemtap.examples/network/tcp_trace build (inlined function)
Changes in the kernel internals caused the following tests to fail:
FAIL: systemtap.examples/profiling/periodic build
FAIL: systemtap.examples/process/pfiles build
Perf counters not available on guest vm:
FAIL: systemtap.examples/profiling/perf run
Not sure what is happening with the following test:
FAIL: systemtap.examples/general/badname run
-Will
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mutex_sans_kretprobes.diff
Type: text/x-patch
Size: 3492 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/systemtap/attachments/20181010/1b976774/attachment.bin>
More information about the Systemtap
mailing list