]> sourceware.org Git - systemtap.git/log
systemtap.git
10 years agoPR16448: adapt stap-prep for el7
Martin Cermak [Wed, 22 Jan 2014 16:01:36 +0000 (17:01 +0100)]
PR16448: adapt stap-prep for el7

* stap-prep: use yum to install needed kernel information RPMs
  should work across all yum-based rhel releases

10 years agoPR16476: adapt to netfilter API changes in linux 3.13
Frank Ch. Eigler [Tue, 21 Jan 2014 18:36:17 +0000 (13:36 -0500)]
PR16476: adapt to netfilter API changes in linux 3.13

* runtime/linux/autoconf-netfilter.c: Whoa, who goes there?

10 years agoPR16476: adapt to netfilter API changes in linux 3.13
Frank Ch. Eigler [Tue, 21 Jan 2014 18:36:17 +0000 (13:36 -0500)]
PR16476: adapt to netfilter API changes in linux 3.13

* buildrun.cxx (STAPCONF_NETFILTER_V313): New autoconf.
* tapset-netfilter.cxx (emit_module_decls): Adjust.
* man/stapprobes.3stap: Note preexisting $hooknum context variable.

10 years agoFix a client.exp tcl error on RHEL5 systems.
David Smith [Tue, 21 Jan 2014 17:45:42 +0000 (11:45 -0600)]
Fix a client.exp tcl error on RHEL5 systems.

* testsuite/systemtap.server/client.exp (array_equal): Make RHEL5's tcl
  happy by explictly using 'expr'.

10 years agoFix PR16471 by fixing the server_concurrency.exp testcase.
David Smith [Mon, 20 Jan 2014 22:56:54 +0000 (16:56 -0600)]
Fix PR16471 by fixing the server_concurrency.exp testcase.

* testsuite/systemtap.server/server_concurrency.exp: Fix timeout logic.
* testsuite/lib/systemtap.exp: When shutting down the server, catch
  errors.
* testsuite/systemtap.server/server_concurrency.exp:
  simplified.
* testsuite/systemtap.server/server_concurrency1.stp: Renamed and
  simplified.
* testsuite/systemtap.server/server_concurrency2.stp: Ditto.
* testsuite/systemtap.server/server_concurrency3.stp: Ditto.

10 years agoAdd java_backtrace testsuite script
Lukas Berk [Mon, 20 Jan 2014 20:54:50 +0000 (15:54 -0500)]
Add java_backtrace testsuite script

*java_backtrace.stp - add script for backtrace from singleparam.short
     method

10 years agoAdd java backtrace test
Lukas Berk [Mon, 20 Jan 2014 20:39:35 +0000 (15:39 -0500)]
Add java backtrace test

*java.exp - delay removal of singleparam.class so backtrace test can use
  it, also add the backtrace testcase
*singleparam.java - have method's call each other in the same order
   instead of having each called directly from main,
   this allows for a better backtrace
*java.stp - renamed to singleparam.stp for consistency with other tests

10 years agoUpdate/correct java testcase string
Lukas Berk [Mon, 20 Jan 2014 20:33:25 +0000 (15:33 -0500)]
Update/correct java testcase string

A remanent of when pn() originally passed the class.method name.  This was
changed before the 2.2.1 release due to the fact byteman can't (yet)
properly pass that, so the unique identifier was changed. We should
update what the testcase is looking for just the parameter that was
passed.

* testsuite/systemtap.apps/java.exp - update search strings in test

10 years agoFix how stapbm passes itself the methodname
Lukas Berk [Mon, 20 Jan 2014 20:30:54 +0000 (15:30 -0500)]
Fix how stapbm passes itself the methodname

*java/stapbm.in - we need to make sure stapbm passes the methodname with
the surrounding quotes in case there are multiple
parameters in the method call (otherwise stambm will
call itself with up to 17 parameters and error out)

10 years agoAdd java backtrace functionality
Lukas Berk [Fri, 17 Jan 2014 23:26:58 +0000 (18:26 -0500)]
Add java backtrace functionality

This commit adds two functions, sprint_java_backtrace() and
print_java_backtrace.  The former returns the java backtrace as one
string (may need to set the -DMAXSTRINGLEN var to read the entire
backtrace), and latter prints the java backtrace one line at a time.

*java/HelperSDT.c - Add METHOD_STAP_BT and _METHOD_BT_DELETE jni
 functions
*java/HelperSDT.h - ditto
*java/..../HelperSDT.java - ditto
*java/stapbm.in - add conditional calls to functions based on backtrace
 flag status
*tapset-method.cxx - add the probe points for METHOD_STAP_BT and
 METHOD_BT_DELETE to be handled
*tapset/java.stp - add sprint_java_backtrace and print_java_backtrace functions

10 years agoImprove avahi string list handling.
David Smith [Fri, 17 Jan 2014 19:21:40 +0000 (13:21 -0600)]
Improve avahi string list handling.

* csclient.cxx (get_value_from_avahi_string_list): Rewrite
  extract_field_from_avahi_txt() to use native avahi string list
  functions.
  (resolve_callback): Call new function.

10 years agoHandle updated server messages in server_[args,concurrency].exp testcases.
David Smith [Fri, 17 Jan 2014 18:11:51 +0000 (12:11 -0600)]
Handle updated server messages in server_[args,concurrency].exp testcases.

* testsuite/systemtap.server/server_args.exp
  (stap_direct_and_with_client): Handle more than one hostname to skip.
* testsuite/systemtap.server/server_concurrency.exp: Handle new network
  port message output.

10 years agoRemember which rpms have been checked in the session
Josh Stone [Fri, 17 Jan 2014 06:10:34 +0000 (22:10 -0800)]
Remember which rpms have been checked in the session

When the kernel or any userspace file is missing debuginfo, we run an
rpm query so packages can be suggested.  If the user tries many such
probes on the same target, it's a waste to repeat the same query.  Now
we remember which targets have already been checked in the session.

This was seen on a simple 'stap -l syscall.*', which took much longer to
run when debuginfo was missing than when present.  With this patch, the
first syscall miss will lead to an rpm query, but each following miss
will know it's already been done.

10 years agoAdd stress package use to testsuite.
Stan Cox [Thu, 16 Jan 2014 19:42:07 +0000 (14:42 -0500)]
Add stress package use to testsuite.

* systemtap.spec (testsuite): Add stress requirement
* stap_run.exp (wait_n_secs): New.  Use stress if available.
* itrace.exp, maxactive.exp, probefunc.exp, proc_, exec.exp,
  timeofday.exp, timers.exp, utrace_p5.exp, probe_by_pid.exp,
  check.exp, functions.exp, current.exp: Use it.

10 years agoPR16460: Fix ia64 compile problem when using 'syscall.umount'.
David Smith [Thu, 16 Jan 2014 17:23:12 +0000 (11:23 -0600)]
PR16460: Fix ia64 compile problem when using 'syscall.umount'.

* runtime/linux/compat_unistd.h: Add '__NR_umount2' for ia64.

10 years agoFix syscall nesting in 'syscall.getpgid' and add a [gs]etpgid testcase.
David Smith [Thu, 16 Jan 2014 16:56:17 +0000 (10:56 -0600)]
Fix syscall nesting in 'syscall.getpgid' and add a [gs]etpgid testcase.

* tapset/linux/syscalls.stp: Fix syscall nesting in 'syscall.getpgid'.
* tapset/linux/nd_syscalls.stp: Ditto.
* testsuite/systemtap.syscall/pgid.c: New syscall.exp testcase.
* runtime/linux/compat_unistd.h: Added '__NR_compat_getpgid'.

10 years agoAdd openat() and unlinkat() syscall testing.
David Smith [Wed, 15 Jan 2014 16:52:51 +0000 (10:52 -0600)]
Add openat() and unlinkat() syscall testing.

* testsuite/systemtap.syscall/openclose.c: Added openat() testing.
* testsuite/systemtap.syscall/unlink.c: Add unlinkat() testing.

10 years agoNEWS: println blurb
Jonathan Lebon [Tue, 14 Jan 2014 23:03:26 +0000 (18:03 -0500)]
NEWS: println blurb

10 years agoparse.cxx: allow println() call with no args
Jonathan Lebon [Tue, 14 Jan 2014 22:24:23 +0000 (17:24 -0500)]
parse.cxx: allow println() call with no args

This patch lifts the restriction on requiring at least one argument when
calling println().

10 years agoelaborate.cxx: clarify comment in mismatch
Jonathan Lebon [Tue, 14 Jan 2014 21:07:06 +0000 (16:07 -0500)]
elaborate.cxx: clarify comment in mismatch

10 years agoNEWS: add tapset and kprocess blurbs
Jonathan Lebon [Tue, 14 Jan 2014 18:49:36 +0000 (13:49 -0500)]
NEWS: add tapset and kprocess blurbs

10 years agoadd procmod_watcher.stp example
Jonathan Lebon [Mon, 13 Jan 2014 15:58:02 +0000 (10:58 -0500)]
add procmod_watcher.stp example

10 years agokprocess.exec: rely on syscall.execve
Jonathan Lebon [Tue, 14 Jan 2014 16:15:17 +0000 (11:15 -0500)]
kprocess.exec: rely on syscall.execve

By relying on syscall.execve, we get the benefits of compatibility
across different kernel versions, as well as access to the arguments.

10 years agotapset/linux: add task_ancestry.stp
Jonathan Lebon [Mon, 13 Jan 2014 21:03:02 +0000 (16:03 -0500)]
tapset/linux: add task_ancestry.stp

10 years agotask_time.stp: add nsecs_to_string and task_start_time
Jonathan Lebon [Mon, 13 Jan 2014 21:02:37 +0000 (16:02 -0500)]
task_time.stp: add nsecs_to_string and task_start_time

10 years agotask_time.stp: fix typo in desc
Jonathan Lebon [Mon, 13 Jan 2014 21:02:08 +0000 (16:02 -0500)]
task_time.stp: fix typo in desc

10 years ago[nd_]syscall.execve: use user_string_quoted
Jonathan Lebon [Fri, 10 Jan 2014 21:22:15 +0000 (16:22 -0500)]
[nd_]syscall.execve: use user_string_quoted

10 years agoMerge branch 'jlebon/boot-time' (PR2035)
Jonathan Lebon [Tue, 14 Jan 2014 20:19:45 +0000 (15:19 -0500)]
Merge branch 'jlebon/boot-time' (PR2035)

10 years agoautoreconf
Jonathan Lebon [Wed, 8 Jan 2014 21:38:57 +0000 (16:38 -0500)]
autoreconf

10 years agoNEWS: add boot-time blurb
Jonathan Lebon [Tue, 14 Jan 2014 17:33:00 +0000 (12:33 -0500)]
NEWS: add boot-time blurb

10 years agosystemtap.spec: add dracut module to initscript pkg
Jonathan Lebon [Wed, 8 Jan 2014 20:54:56 +0000 (15:54 -0500)]
systemtap.spec: add dracut module to initscript pkg

For F19+ and RHEL7+, also deploy the dracut module.

10 years agosystemtap.spec: fix %post/%postun for initscript pkg
Jonathan Lebon [Wed, 8 Jan 2014 20:54:23 +0000 (15:54 -0500)]
systemtap.spec: fix %post/%postun for initscript pkg

In the systemtap-iniscript pkg's %post and %postun, stap-server is
used rather systemtap (copy/pasted from stap-server's section?). Also,
we don't need the call to systemd-tmpfiles since the initscript pkg does
not define any tmpfiles.d config file (may also just have been left-over
from the server section).

Also fix some indentation issues.

10 years agoinitscript: add onboot command to init.d script
Jonathan Lebon [Wed, 8 Jan 2014 20:53:34 +0000 (15:53 -0500)]
initscript: add onboot command to init.d script

The onboot command is the interface through which users insert script
modules into the initramfs.

10 years agoinitscript: add dracut module
Jonathan Lebon [Wed, 8 Jan 2014 20:53:13 +0000 (15:53 -0500)]
initscript: add dracut module

This dracut module will be used to insert SystemTap script modules into
the initramfs image and to inject them during boot-time.

10 years agotapset-utrace.cxx: allow pid 1 probing
Jonathan Lebon [Wed, 27 Nov 2013 16:21:02 +0000 (11:21 -0500)]
tapset-utrace.cxx: allow pid 1 probing

We originally limited the PID of a process(PID) probe to be greater than
1 to be on the safe side. Our latest utrace poses less risk and thus
probing init should be fine.

10 years agoPR16443: fix typos in Beginner's Guide
Martin Cermak [Mon, 13 Jan 2014 17:06:02 +0000 (12:06 -0500)]
PR16443: fix typos in Beginner's Guide

10 years agostapvirt.1: fix sample output in tutorial
Jonathan Lebon [Mon, 23 Dec 2013 17:58:43 +0000 (12:58 -0500)]
stapvirt.1: fix sample output in tutorial

10 years agostap translator: tolerate NULLs coming from some elfutils string lookups
Frank Ch. Eigler [Sat, 11 Jan 2014 00:51:37 +0000 (19:51 -0500)]
stap translator: tolerate NULLs coming from some elfutils string lookups

It was reported on the mailing list, and privately experienced, that
stap pass-2 crashes could occur due to NULL dwarf_diename or
dwarf_decl_file's being propagated rather far within stap.  This
commit adds protections (of the form ?: "foo") to eliminate the
problem in a few spots.  There may be others; we should not store
so many raw char*'s.

10 years agosample: add some docs for new sockaddr decoding tapset
Frank Ch. Eigler [Thu, 9 Jan 2014 21:59:53 +0000 (16:59 -0500)]
sample: add some docs for new sockaddr decoding tapset

10 years agotapset: add decoded sockaddr field vars to socket-related syscalls
Robin Hack [Thu, 9 Jan 2014 21:52:55 +0000 (16:52 -0500)]
tapset: add decoded sockaddr field vars to socket-related syscalls

* tapset/linux/aux_syscalls.stp (_struct_sockaddr_u_impl): New pretty-printer
  with a bitfieldful of options.
* tapset/linux/syscalls.stpm (@_af_inet_info_u): New macro to pull call it.
* tapset/linux/*syscalls*: Lots of calls to it.
* testsuite/systemtap.examples/network/connect_stat.stp: New sample script.

10 years agodoc building: tolerate xvfb-run transient errors during publican run
Frank Ch. Eigler [Thu, 9 Jan 2014 18:32:42 +0000 (13:32 -0500)]
doc building: tolerate xvfb-run transient errors during publican run

10 years agostap.1 man page: clarify %m and %M precision parameter with an example
Frank Ch. Eigler [Thu, 9 Jan 2014 15:10:25 +0000 (10:10 -0500)]
stap.1 man page: clarify %m and %M precision parameter with an example

10 years agoMake sure that AVahi service names are valid before adding the service.
Dave Brolley [Wed, 8 Jan 2014 19:57:01 +0000 (14:57 -0500)]
Make sure that AVahi service names are valid before adding the service.

10 years agoImprove several syscall probe aliases for s390x.
David Smith [Tue, 7 Jan 2014 21:01:33 +0000 (15:01 -0600)]
Improve several syscall probe aliases for s390x.

* tapset/linux/syscalls2.stp: Improve the syscall.open,
  syscall.compat_rt_sigprocmask, syscall.compat_signalfd, and
  syscall.sigprocmask probe aliases.
* tapset/linux/syscalls.stp: Improve the syscall.lseek probe alias.
* tapset/linux/nd_syscalls2.stp: Fixed comment.

10 years agoAdd a ".local" variant to the DNS names on compile-server certificates.
Dave Brolley [Tue, 7 Jan 2014 19:16:53 +0000 (14:16 -0500)]
Add a ".local" variant to the DNS names on compile-server certificates.

This is an attempt to reduce the number of "Host name does not match
the DNS name(s) on the server certificate" warnings, particularly
when auto-discovering servers. Avahi presents the servers as
somehost.local, so having a somehost.local variant on the
server certificate prevents generating a warning for this
harmless situation.

10 years agoRework compile-server discovery.
Dave Brolley [Tue, 7 Jan 2014 19:07:02 +0000 (14:07 -0500)]
Rework compile-server discovery.

Limit unnecessary resolution of specified servers using dns
and Avahi.

- Don't dns-resolve avahi-provided host names.
- Don't query avahi when server address and port are provided directly.
- Allow unresolved host names to match an avahi-provided host name.

10 years agoDon't cast the pointer in STAP_RETVALUE:string
Josh Stone [Mon, 6 Jan 2014 19:55:13 +0000 (11:55 -0800)]
Don't cast the pointer in STAP_RETVALUE:string

If the embedded C author uses the wrong pointer type, the compiler
should rightly complain about it when passed to strlcpy.  In the rare
case a cast is truly needed, it should be manually added.

10 years ago2014 year bump for emitted copyright messages
Frank Ch. Eigler [Sat, 4 Jan 2014 19:18:47 +0000 (14:18 -0500)]
2014 year bump for emitted copyright messages

10 years agoPR10300: demonstrate use of STAP_RETURN() in tapset/string.stp functions
Frank Ch. Eigler [Fri, 3 Jan 2014 19:43:59 +0000 (14:43 -0500)]
PR10300: demonstrate use of STAP_RETURN() in tapset/string.stp functions

10 years agoPR10300: document STAP_RETURN()
Frank Ch. Eigler [Fri, 3 Jan 2014 19:03:19 +0000 (14:03 -0500)]
PR10300: document STAP_RETURN()

10 years agoPR10300: add STAP_RETURN(...) embedded-C macro
Frank Ch. Eigler [Fri, 3 Jan 2014 19:00:29 +0000 (14:00 -0500)]
PR10300: add STAP_RETURN(...) embedded-C macro

* translate.cxx (emit_function): Define a STAP_RETURN(int|string|void)
  for embedded-c functions.

10 years agoPR16207 partial fix: Fix the 'rt_signal' [nd_]syscall.exp tests on rawhide.
David Smith [Thu, 2 Jan 2014 17:58:40 +0000 (11:58 -0600)]
PR16207 partial fix: Fix the 'rt_signal' [nd_]syscall.exp tests on rawhide.

* tapset/linux/syscalls2.stp: Fix syscall nesting in
  'syscall.rt_sigprocmask' and 'syscall.compat_rt_sigprocmask' probes.
* tapset/linux/nd_syscalls.stp: Ditto.
* tapset/linux/aux_syscalls.stp: Added __uint32() function.
* runtime/linux/compat_unistd.h: Added '__NR_compat_rt_sigprocmask' define.

10 years agotutorial: fix poor wording in an exercise question
Frank Ch. Eigler [Fri, 27 Dec 2013 16:53:01 +0000 (11:53 -0500)]
tutorial: fix poor wording in an exercise question

Reported-By: storypku at stackoverflow
10 years agoClient/server related testsuite tweaks.
Dave Brolley [Tue, 24 Dec 2013 19:39:28 +0000 (14:39 -0500)]
Client/server related testsuite tweaks.

- in setup_server, give the server a chance to start before checking
  for it.
- The result of the test "New signing servers matches" was reversed
  in client.exp.

10 years agoadd PR context to previous csclient.cxx patch
Jonathan Lebon [Mon, 23 Dec 2013 16:18:02 +0000 (11:18 -0500)]
add PR context to previous csclient.cxx patch

10 years agoPR16207 partial fix: Fix the 'signalfd' [nd_]syscall.exp tests on rawhide.
David Smith [Mon, 23 Dec 2013 16:16:19 +0000 (10:16 -0600)]
PR16207 partial fix: Fix the 'signalfd' [nd_]syscall.exp tests on rawhide.

* tapset/linux/syscalls2.stp: Fix syscall nesting in 'syscall.signalfd'
  and 'syscall.compat_signalfd'.
* tapset/linux/nd_syscalls2.stp: Ditto.

10 years agocsclient.cxx: improve hostname resolution cache
Jonathan Lebon [Fri, 20 Dec 2013 15:46:52 +0000 (10:46 -0500)]
csclient.cxx: improve hostname resolution cache

Previously, the hostname resolution cache was associated with servers,
rather than addresses and hostnames. This can cause problems since
multiple servers can reside on the same host. This patch decouples
hostname cache from servers, resulting in proper handling of multiple
servers on the same host.

10 years agocsclient.cxx: ignore hostname for server equality
Jonathan Lebon [Wed, 18 Dec 2013 22:46:21 +0000 (17:46 -0500)]
csclient.cxx: ignore hostname for server equality

We previously relied on the hostname when checking whether two
compile_server_info objects referred to the same server. However, there
are situations where Avahi can report a server under a truncated
hostname which it previously reported using its FQDN.

So instead we change the strategy. We now rely on certificates to
determine whether two servers are indeed the same when one of them has a
missing IP address. The hostname is completely disregarded.

10 years agosession.cxx: respect ^C's during long verbose symbol-table listings
Frank Ch. Eigler [Fri, 20 Dec 2013 16:23:31 +0000 (11:23 -0500)]
session.cxx: respect ^C's during long verbose symbol-table listings

10 years agoerror::buildid: note -DSTP_NO_BUILDID_CHECK
Frank Ch. Eigler [Fri, 20 Dec 2013 16:23:14 +0000 (11:23 -0500)]
error::buildid: note -DSTP_NO_BUILDID_CHECK

10 years agoReduce avahi query timeout from 2 seconds to 0.5 seconds.
Dave Brolley [Fri, 20 Dec 2013 15:51:00 +0000 (10:51 -0500)]
Reduce avahi query timeout from 2 seconds to 0.5 seconds.

10 years agoAvahi usage improvements for stap-serverd.
Dave Brolley [Fri, 20 Dec 2013 15:47:03 +0000 (10:47 -0500)]
Avahi usage improvements for stap-serverd.

- Place a limit on service name collision resolution attempts.
- Use hostname(2) in service name instead of pid

10 years agoPR16207 partial fix: Fix the 'trunc' [nd_]syscall.exp tests on rawhide.
David Smith [Thu, 19 Dec 2013 19:57:37 +0000 (13:57 -0600)]
PR16207 partial fix: Fix the 'trunc' [nd_]syscall.exp tests on rawhide.

* tapset/linux/syscalls.stp: Add 'compat_sys_ftruncate" support to
  syscall.ftruncate probe.
* tapset/linux/nd_syscalls.stp: Ditto.
* tapset/linux/syscalls2.stp: Add 'compat_sys_truncate" support to
  syscall.truncate probe.
* tapset/linux/nd_syscalls2.stp: Ditto.

10 years agoPR16207 partial fix: Fix the 'mount' [nd_]syscall.exp tests on rawhide.
David Smith [Thu, 19 Dec 2013 19:55:25 +0000 (13:55 -0600)]
PR16207 partial fix: Fix the 'mount' [nd_]syscall.exp tests on rawhide.

* runtime/linux/compat_unistd.h: Added '__NR_compat_umount2' define.

10 years agoPR16207 partial fix: Fix the 'mount' [nd_]syscall.exp tests on rawhide.
David Smith [Thu, 19 Dec 2013 19:05:15 +0000 (13:05 -0600)]
PR16207 partial fix: Fix the 'mount' [nd_]syscall.exp tests on rawhide.

* tapset/linux/syscalls2.stp: Add 'sys_oldumount' support to the
  syscall.umount probe. Don't allow syscall nesting in syscall.umount.
* tapset/linux/nd_syscalls2.stp: Ditto.

10 years agoconfigury: followup to previous with_java check; m4 ate my "[" !
Frank Ch. Eigler [Thu, 19 Dec 2013 16:59:36 +0000 (11:59 -0500)]
configury: followup to previous with_java check; m4 ate my "[" !

10 years agoconfigury: don't use AC_CHECK_FILE for verifying java directory
Frank Ch. Eigler [Thu, 19 Dec 2013 14:37:42 +0000 (09:37 -0500)]
configury: don't use AC_CHECK_FILE for verifying java directory

It conflicts with cross-compilation.

10 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Dave Brolley [Wed, 18 Dec 2013 16:43:01 +0000 (11:43 -0500)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

Conflicts:
stapsslerr.h

10 years agoCorrect error path where NULL avahi-client service group pointer could be accessed.
Dave Brolley [Wed, 18 Dec 2013 16:39:40 +0000 (11:39 -0500)]
Correct error path where NULL avahi-client service group pointer could be accessed.

10 years agoCorrect the text for NSS error SEC_ERROR_LEGACY_DATABASE.
Dave Brolley [Wed, 18 Dec 2013 16:38:43 +0000 (11:38 -0500)]
Correct the text for NSS error SEC_ERROR_LEGACY_DATABASE.

10 years agolangref.tex: add [english] option to babel setup
Frank Ch. Eigler [Tue, 17 Dec 2013 22:34:43 +0000 (17:34 -0500)]
langref.tex: add [english] option to babel setup

Reported-By: Tony Jones <tjones@suse.de>
10 years agoPR16326: fix client.exp and simplify it
Jonathan Lebon [Fri, 13 Dec 2013 21:37:57 +0000 (16:37 -0500)]
PR16326: fix client.exp and simplify it

The client.exp testcase can now (again) work with other stap-servers
running. This patch also significantly simplifies the code by
introducing a few array utility procedures.

10 years agokernel tracepoints: bring up-to-date for 3.11
Frank Ch. Eigler [Mon, 16 Dec 2013 18:38:39 +0000 (13:38 -0500)]
kernel tracepoints: bring up-to-date for 3.11

Added a whole bunch of other hidey-spots where kernel tracepoint
DEFINE_EVENT's were plopped in recent kernels, along with a few
incomplete-definition type workarounds.

10 years agostapvirt: clarify that power cycling is required
Jonathan Lebon [Thu, 12 Dec 2013 18:47:54 +0000 (13:47 -0500)]
stapvirt: clarify that power cycling is required

Using 'restart' misleads people into thinking the guest OS just needs to
be restarted when really a full powering off of the machine is required.

10 years agostapvirt: document virtio-serial controller requirement
Jonathan Lebon [Thu, 12 Dec 2013 18:44:31 +0000 (13:44 -0500)]
stapvirt: document virtio-serial controller requirement

For a virtio-serial port to be successfully installed, the domain also
requires a virtio-serial controller. When doing 'stapvirt port-add',
this is done automatically by libvirt. However, when using hotplugging,
stapvirt will fail if no controller is installed. Note that
virtio-serial controllers cannot be hotplugged.

Documenting this issue is a first step. Efforts are under way to make
this more transparent to the user.

Also see: https://bugzilla.redhat.com/show_bug.cgi?id=1020500#c34

10 years agoSimplify sendfile.c test program for use on an NFS partition.
David Smith [Thu, 12 Dec 2013 16:47:52 +0000 (10:47 -0600)]
Simplify sendfile.c test program for use on an NFS partition.

* testsuite/systemtap.syscall/sendfile.c: Simplify testcase. Originally
  when compiled 32-bits on a 64-bit system and run on an NFS partition,
  fstat() returns an invalid size of the newly created file. This invalid
  size was verified with strace. Since we know the size of the file
  anyway, just use it directly, which avoids the NFS problem.

10 years agoFixed PR16312 by adding preadv syscall support.
David Smith [Wed, 11 Dec 2013 21:17:51 +0000 (15:17 -0600)]
Fixed PR16312 by adding preadv syscall support.

* tapset/linux/syscalls2.stp: Added preadv() probe support.
* tapset/linux/nd_syscalls2.stp: Ditto.
* testsuite/systemtap.syscall/readwrite.c: Added preadv() test.
* testsuite/buildok/nd_syscalls2-detailed.stp: Added preadv probe test.
* testsuite/buildok/syscalls2-detailed.stp: Ditto.

10 years agoImproved [nd_]syscall.lseek probe support for 32-bit on 64-bit apps.
David Smith [Wed, 11 Dec 2013 21:14:41 +0000 (15:14 -0600)]
Improved [nd_]syscall.lseek probe support for 32-bit on 64-bit apps.

* tapset/linux/syscalls.stp: Added "compat" sys_lseek() support for
  rawhide.
* tapset/linux/nd_syscalls.stp: Ditto.

10 years agoFixed PR16311 by adding/improving pwritev syscall support.
David Smith [Tue, 10 Dec 2013 23:14:51 +0000 (17:14 -0600)]
Fixed PR16311 by adding/improving pwritev syscall support.

* tapset/linux/syscalls2.stp: Improved syscall.pwritev probe support,
  fixed offset calculations.
* tapset/linux/nd_syscalls2.stp: Added 'nd_syscall.pwritev' and
  'nd_syscall.pwritev.return' probes.
* testsuite/buildok/syscalls2-detailed.stp: Added pwritev probe test.
* testsuite/buildok/nd_syscalls2-detailed.stp: Ditto.
* testsuite/systemtap.syscall/readwrite.c: Aded pwritev() test.

10 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
David Smith [Tue, 10 Dec 2013 18:48:13 +0000 (12:48 -0600)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

10 years agoAdded initial syscall.pwritev probe support.
Quentin Barnes [Tue, 10 Dec 2013 18:47:29 +0000 (12:47 -0600)]
Added initial syscall.pwritev probe support.

10 years agoPR16309: spawn stap-serverd with / cwd
Jonathan Lebon [Tue, 10 Dec 2013 16:38:39 +0000 (11:38 -0500)]
PR16309: spawn stap-serverd with / cwd

10 years agoproperly implement stapshd reload
Jonathan Lebon [Fri, 6 Dec 2013 19:50:44 +0000 (14:50 -0500)]
properly implement stapshd reload

We previously did not check the character device properly, which
resulted in all live sessions being killed during a reload. This was
especially an issue in the case of hotplugging under RHEL5/6, in which
udev can call reload multiple times even though only a single port was
hotplugged.

- stapshd.in: fix stapshd reload
- 99-stapsh-init.rules: add clarification comment for RHEL5

10 years agoPreserve sdt_misc test files in case of failure.
Stan Cox [Thu, 5 Dec 2013 21:54:52 +0000 (16:54 -0500)]
Preserve sdt_misc test files in case of failure.

10 years agoruntime: don't require CONFIG_KPROBES for user-space backtraces
Frank Ch. Eigler [Thu, 5 Dec 2013 16:32:24 +0000 (11:32 -0500)]
runtime: don't require CONFIG_KPROBES for user-space backtraces

* runtime/stack.c: Drop an unnecessary #ifdef CONFIG_KPROBES that
  wrapped even pure-userspace stack-unwinding-related code, and
  caused unnecessary -p4 failures.

Reported-By: calcifer_ on irc.freenode.net
10 years agoFixed PR16248 by adding user namespace support to pfiles.stp example.
David Smith [Tue, 3 Dec 2013 16:52:37 +0000 (10:52 -0600)]
Fixed PR16248 by adding user namespace support to pfiles.stp example.

* testsuite/systemtap.examples/process/pfiles.stp: Updated for kernels
  with CONFIG_USER_NS.

10 years agoUse proper set operations for symtab dupe checks
Josh Stone [Mon, 2 Dec 2013 22:34:07 +0000 (14:34 -0800)]
Use proper set operations for symtab dupe checks

In query_symtab_func_info, rather than full set iteration to check an
address in alias_dupes, just use set::insert().second as a test.  This
is what sets are designed to be algorithmically good at.

This also has the benefit of adding to alias_dupes, so duplicates within
the symbol table itself will still only be probed once.  (If we didn't
want that effect, we would just use set::count() to test membership.)

10 years agoSet git-describe --abbrev=12 for consistency and future-proofing
Josh Stone [Mon, 2 Dec 2013 22:15:30 +0000 (14:15 -0800)]
Set git-describe --abbrev=12 for consistency and future-proofing

Git's default abbrev is 7, with smarts to disambiguate the SHA1 for that
given moment.  Torvalds has recommended core.abbrev = 12 for kernel
developers to help avoid future as-yet-unknown collisions.

It becomes an issue to our scripts if this setting is not deterministic.
For instance, "make && sudo make install" will run git_version.sh with
$USER's git config, then root's config, but we don't want git_version.h
to be regenerated just for that difference.

Now our scripts use an explicit git-describe --abbrev=12 to be safe.

10 years agoclarify stap_waitpid return value
Jonathan Lebon [Mon, 2 Dec 2013 21:00:49 +0000 (16:00 -0500)]
clarify stap_waitpid return value

10 years agostap-serverd: remember exact rc from spawned stap
Jonathan Lebon [Mon, 2 Dec 2013 16:17:05 +0000 (11:17 -0500)]
stap-serverd: remember exact rc from spawned stap

Previously, stap-serverd used spawn_and_wait() to run stap and wait for
it to exit. However, the actual return code of stap was lost and never
bundled in the server response.

With this patch, spawn_and_wait() captures the child's exit rc in a
separate variable, so that we can differentiate between failure in
spawning and a nonzero exit code from the child.

So now the response/rc file holds the actual rc with which stap exited.
This makes a difference in the case of stap -l, in which we don't send a
script to the server and thus cannot rely on the presence or absence of
a compiled module in the server response to determine success.

csclient.cxx: don't print the 'via server failed' message if we're in
listing mode

10 years agostapsh.c: fix handling of POLLIN to indicate EOF
Jonathan Lebon [Sat, 30 Nov 2013 16:14:25 +0000 (11:14 -0500)]
stapsh.c: fix handling of POLLIN to indicate EOF

We previously relied on POLLHUP to indicate EOF. However, it is also
possible to receive POLLIN when EOF is reached. With this patch, upon
receiving POLLIN and reading from the associated fd, if EOF is found, we
modify the polling array to indicate we're no longer interested.

10 years agofix suggestion msg for tracepoints
Jonathan Lebon [Sat, 30 Nov 2013 15:43:05 +0000 (10:43 -0500)]
fix suggestion msg for tracepoints

10 years agoFix build error signed/unsigned comparison
Lukas Berk [Sat, 30 Nov 2013 01:36:11 +0000 (20:36 -0500)]
Fix build error signed/unsigned comparison

*buildrun.cxx - change const int severely_limited to const unsigned int

10 years agoPR16276: tolerate low --rlimit=nproc, especially in stap-server context
Frank Ch. Eigler [Fri, 29 Nov 2013 23:45:41 +0000 (18:45 -0500)]
PR16276: tolerate low --rlimit=nproc, especially in stap-server context

10 years agoRemoved (unused) consult_symtab and kernel_symtab_path session variables
Lukas Berk [Fri, 29 Nov 2013 22:03:46 +0000 (17:03 -0500)]
Removed (unused) consult_symtab and kernel_symtab_path session variables

* session.cxx - remove consult_symtab
* session.h   - remove consult_symtab and kernel_symtab_path
* tapsets.cxx - remove consult_symtab

10 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Lukas Berk [Fri, 29 Nov 2013 21:46:05 +0000 (16:46 -0500)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

10 years agoPR10208 Support probing weak symbols
Lukas Berk [Fri, 29 Nov 2013 21:34:11 +0000 (16:34 -0500)]
PR10208 Support probing weak symbols

*tapsets.cxx - Now always query the symtab (unless there is a pending interrupt
       or dwarf callback error) on a function probe.  We need to be careful
       to check probe point's we've already resolved which will already
       have full debug information and to not place another probe there.
       We've removed the case of probing the symbol table on a statement probe,
       as that code was written specifically for the kernel without userspace
       in mind and was resolving the function the statement resided in (causing
       errors in some cases).

*list.exp    - Added testcase for weak symbols
*last_100_frees.stp   - we use @defined($mem) here because on 64 bit systems, the
        wildcard search takes us through both 64 bit and 32 bit libc
        (which doesn't have debuginfo), this means the probe point
        resolved from the 32 bit library has no context info
*mutex-contention.stp - ditto but for @defined($mutex) and @defined($rwlock)

10 years agostap-report: also report running stap processes
Frank Ch. Eigler [Fri, 29 Nov 2013 16:32:50 +0000 (11:32 -0500)]
stap-report: also report running stap processes

10 years agostapdyn: Use plain CLOCK_MONOTONIC for -t timing
Josh Stone [Tue, 26 Nov 2013 19:57:40 +0000 (11:57 -0800)]
stapdyn: Use plain CLOCK_MONOTONIC for -t timing

CLOCK_MONOTONIC_RAW has immunity to adjtime and NTP, but CLOCK_MONOTONIC
is often implemented in vdso.  For simple timing, it's worth trading a
little accuracy for lower overhead.

10 years agostapdyn: Batch _stp_strncpy_from_user reads
Josh Stone [Tue, 26 Nov 2013 18:40:48 +0000 (10:40 -0800)]
stapdyn: Batch _stp_strncpy_from_user reads

In order to reduce the number of syscalls required, this strncpy now
opportunistically reads larger blocks before checking for '\0'.  Reads
are kept within page boundaries to avoid running into invalid memory.

This page took 0.060295 seconds and 5 git commands to generate.