When I run the systemtap.examples/check.exp testcase (which tests all the examples), the functioncallcount.stp example fails about half the time on x86_64. When it fails, I see this in systemtap.log: ==== ERROR: probe overhead exceeded threshold WARNING: Number of errors: 1, skipped probes: 0 WARNING: /usr/local/bin/staprun exited with status: 1 Pass 5: run failed. [man error::pass5] child process exited abnormally RC 1 FAIL: systemtap.examples/profiling/functioncallcount run ==== The guts of functioncallcount.stp look like: ==== probe kernel.function(@1).call { # probe functions listed on commandline called[probefunc()] <<< 1 # add a count efficiently } global called probe end { foreach (fn in called-) # Sort by call count (in decreasing order) # (fn+ in called) # Sort by function name printf("%s %d\n", fn, @count(called[fn])) exit() } ==== Because of bug #13693, probefunc() was rewritten and now has a higher overhead. If we switch to ppfunc(), this example script should work more often. (The use of the new probefunc() may also be contributing to bug #17140)
Fixed in commit 69ee8ac. Changed all the examples to use ppfunc() instead of probefunc().