This is the mail archive of the
systemtap-cvs@sourceware.org
mailing list for the systemtap project.
[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.4-184-gd4fd885
- From: jistone at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 19 Mar 2011 01:35:13 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.4-184-gd4fd885
- Reply-to: systemtap at sourceware dot org
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".
The branch, master has been updated
via d4fd885f9a0c9552e9f559f01ecefe3243010b6e (commit)
via f3f6443c32343790cd70da8c10c7a8dd47ae30dc (commit)
via e4ff50572988ed51a131dfd87fd83bde7bc2a45a (commit)
via 69916904a9910a922a8683ff147da57be4acca88 (commit)
via 32bcc3c72d10dae791318dd16ebaf834a273eadc (commit)
via 88e08f53b9fcac201fe6faf7e79a91ead3dd978b (commit)
via 4f747a64c781f34e2c6f5c5bbb0f427dc426ac08 (commit)
via eff14db3b9ead0438307325fb4ee83452b8db754 (commit)
via 2e46c01a3e6053a0cfd05645ebe0c118a0d828af (commit)
via 35df6b43e3b8e28af8a12302110784df1c571956 (commit)
via c76b4180fd8e0c58a66b8d28527ff05b0391a10c (commit)
via 7185074b5c2f159b00f903bead9118e4a897ae8f (commit)
via 599c80df69591b8c3fb10ab4f817d58f17bce904 (commit)
via 3fe776ae575e0b936431f8f38565795ce2930cc9 (commit)
via bf9c0b2809b0d2bc2c28ac83e5006795749cd9dc (commit)
via e96f22574ba6b053ea43b2549ae8d658f923fb10 (commit)
from 7e456f65f622fd0487cc04e1f2d6d6b80b067141 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d4fd885f9a0c9552e9f559f01ecefe3243010b6e
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 18 18:30:01 2011 -0700
autoreconf with f14
commit f3f6443c32343790cd70da8c10c7a8dd47ae30dc
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 18 18:27:22 2011 -0700
Add gettext wrappers on new remote strings, update-po
commit e4ff50572988ed51a131dfd87fd83bde7bc2a45a
Merge: 6991690 7e456f6
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 18 16:50:55 2011 -0700
Merge remote-tracking branch 'origin/master' into stapsh
commit 69916904a9910a922a8683ff147da57be4acca88
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 18 16:46:42 2011 -0700
Add a testcase for stapsh remotes
We can't generally test true remotes in the testsuite without previously
setting up ssh access on a machine. But we can still check that the
stapsh mechanism works in general. This runs with --remote=stapsh, and
checks that stapsh exists in the process hierarchy and a signal to stap
only is propagated through stapsh.
* testsuite/systemtap.base/stapsh.*: New.
commit 32bcc3c72d10dae791318dd16ebaf834a273eadc
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 18 16:45:25 2011 -0700
stapsh: dbug-print on received signals
* runtime/staprun/stapsh.c (handle_signal): Add dbug.
commit 88e08f53b9fcac201fe6faf7e79a91ead3dd978b
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 18 16:43:28 2011 -0700
remote: Block signals in direct_stapsh's child
We want direct_stapsh to simulate the ssh_remote signaling as much as
possible, so we must ensure that the manual stapsh child process doesn't
get signals directly.
* remote.cxx (direct_stapsh::direct_stapsh): Block signals while
spawning the stapsh process.
commit 4f747a64c781f34e2c6f5c5bbb0f427dc426ac08
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 18 15:38:29 2011 -0700
PR12592: Allow -r /path/to/kernel for stap-servers
Previously, stap-serverd would parse the release string from a kernel
path, but now it also passes that full path on for stap to use.
* stap-serverd (process_r): Keep the full -r path for stap_options.
* stap-server (process_r): Ditto.
* session.cxx (systemtap_session::setup_kernel_release): Skip repeated
kernel strings, for the case when a server -r /path/to/kernel is
followed by a client's matching -r kernel.
commit eff14db3b9ead0438307325fb4ee83452b8db754
Author: Josh Stone <jistone@redhat.com>
Date: Thu Mar 17 19:51:11 2011 -0700
Cache compile_server_info attached to sessions, not static
The various vector<compile_server_info> caches in csclient have
information that's specific to the systemtap_session in question, so
they need to be saved with the session rather than kept static. This
matters for the brave new world of having multiple unique remote targets
within a single stap execution.
* session.h (systemtap_session::server_cache): New, opaque pointer for
a struct containing csclient's cached data.
* session.cxx (systemtap_session::systemtap_session): NULL it.
* csclient.cxx (struct compile_server_cache): Define a container for all
the caching vectors that will be stored in the session.
(cscache): Get the cache from the session, allocate it if needed.
(get_default_server_info): Use a cache vector instead of a static.
(get_specific_server_info): Ditto.
(get_or_keep_trusted_server_info): Ditto.
(get_or_keep_signing_server_info): Ditto.
(get_or_keep_online_server_info): Ditto.
commit 2e46c01a3e6053a0cfd05645ebe0c118a0d828af
Author: Josh Stone <jistone@redhat.com>
Date: Thu Mar 17 19:45:57 2011 -0700
Clear the SSL session cache after using a server
If the cache is not cleared, then the NSS_Shutdown fails, and then
future connections (as with multi-remote) can't be initialized.
* csclient.cxx (compile_server_client::compile_using_server):
Call SSL_ClearSessionCache before NSS_Shutdown.
commit 35df6b43e3b8e28af8a12302110784df1c571956
Author: Josh Stone <jistone@redhat.com>
Date: Mon Mar 14 15:14:58 2011 -0700
stapsh: Add OK/ERROR replies to file and run commands
* runtime/staprun/stapsh.c (reply): Print a reply (and dbug it too).
(do_hello): Send uname info using reply().
(do_file, do_run): Add OK reply, or ERROR from former stderr chatter.
(qpdecode): Convert stderr chatter to dbug.
* remote.cxx (stapsh::get_reply): Read a one-line reply from the remote.
(stapsh::send_file): Look for an OK reply after sending the file.
(stapsh::start): Look for an OK reply after telling it to run.
(stapsh::set_child_fds): Use get_reply to read the uname back.
commit c76b4180fd8e0c58a66b8d28527ff05b0391a10c
Author: Josh Stone <jistone@redhat.com>
Date: Mon Mar 14 14:15:21 2011 -0700
stapsh: Add debugging macros
* runtime/staprun/stapsh.c (dbug, vdbug, die): New debugging macros.
(usage, parse_args): New, just dealing with -v for now.
(main): Parse arguments, and start printing debugging information.
* remote.cxx (ssh_remote::init): Set stapsh verbosity according to p5.
(direct_stapsh::direct_stapsh): Ditto.
(remote::run): Make sure subsession->verbose is updated for pass-5.
commit 7185074b5c2f159b00f903bead9118e4a897ae8f
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 11 15:54:43 2011 -0800
stapsh: Remove the signal command, just call it quit
As PrzemysÅ?aw pointed out, signal numbers are not 100% portable across
different architectures, and we should allow for the possibility of
cross-compilation in --remote execution. Since the only point of the
signal command was to trigger an exit, let's just replace it with a
"quit" command.
* runtime/staprun/stapsh.c (do_signal -> do_quit): Forget about parsing
signal numbers -- just call cleanup (which sends SIGHUP anyway).
(cleanup): Mask signals, so if called from non-signal context, we
won't get a reentry (especially for SIGCHLD).
* remote.cxx (stapsh::handle_poll): Send a quit instead of signal.
commit 599c80df69591b8c3fb10ab4f817d58f17bce904
Author: Josh Stone <jistone@redhat.com>
Date: Thu Mar 10 18:50:35 2011 -0800
stapsh: Upload module signatures and uprobes too
* remote.cxx (stapsh::prepare): Upload any uprobes and signature files
to the remote, so remote-unprivileged could work too.
commit 3fe776ae575e0b936431f8f38565795ce2930cc9
Author: Josh Stone <jistone@redhat.com>
Date: Thu Mar 10 16:43:53 2011 -0800
remote: Split preparation from the actual start
* remote.h (remote::prepare): New, get ready to run.
* remote.cxx (stapsh::start, stapsh::prepare): Split the file-upload into
the prepare step, so we're ready to go sooner.
(remote::run): Let remotes prepare first, so they can all start as
close together as possible.
commit bf9c0b2809b0d2bc2c28ac83e5006795749cd9dc
Author: Josh Stone <jistone@redhat.com>
Date: Thu Mar 10 16:35:42 2011 -0800
stapsh: Use quoted-printable args in the run command
Per Frank's suggestion, discard the separate "arg" command and just add
arguments directly in the run command. The quoted-printable encoding is
used for whitespace and characters that aren't printable ASCII.
* runtime/staprun/stapsh.c (do_arg): Remove.
(qpdecode): New, decode quoted-printable.
(do_run): Read and QP-decode arguments for staprun.
* remote.cxx (stapsh::send_arg): Remove.
(stapsh::qpencode): New, encode a string with QP escapes.
(stapsh::start): Build the run command with QP-encoded arguments.
commit e96f22574ba6b053ea43b2549ae8d658f923fb10
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 9 10:24:12 2011 -0800
stapsh: A systemtap "shell" to aid remote execution
This stapsh agent is a wrapper meant to be automatically invoked through
an ssh connection to transfer systemtap modules to remotes hosts and
invoke staprun on them. The primary motivation of stapsh is make sure
all the exit cases can happen cleanly, especially with sending signals
to the remote and cleaning up the processes and temporary files.
This is meant to replace the code based on multiple connections with an
ssh ControlMaster. For now, that code has only been #if'ed out in
case we still want it for talking with "legacy" remotes.
* runtime/staprun/stapsh.c: New, a basic command shell for uploading and
remotely launching systemtap scripts.
* runtime/staprun/Makefile.am: Add stapsh.
* runtime/staprun/Makefile.in: Regen.
* systemtap.spec: Package stapsh in systemtap-runtime.
* remote.cxx (class stapsh): New, handle communication with a stapsh
remote via any given file descriptors.
(class direct_stapsh): New, launch a direct stapsh instance to run
through. This way we can add stapsh to the testsuite without
requiring any remote access configuration.
(class ssh_remote): Block out the old implementation, and rewrite
as an inheritor of stapsh.
(remote::create): Create direct_stapsh for "--remote stapsh".
(remote::run): Add a polling loop during runtime, where each remote
can add fds to watch and then respond.
* util.cxx (stap_spawn_piped): Allow piped stdin too.
(stap_system_read): Update call to stap_spawn_piped.
-----------------------------------------------------------------------
Summary of changes:
Makefile.in | 2 +
aclocal.m4 | 40 +-
configure | 451 +++++++++++----------
csclient.cxx | 53 ++-
doc/Makefile.in | 2 +
doc/SystemTap_Tapset_Reference/Makefile.in | 2 +
doc/beginners/Makefile.in | 2 +
grapher/Makefile.in | 2 +
po/POTFILES.in | 1 +
po/en.gmo | Bin 17989 -> 17989 bytes
po/en.po | 588 +++++++++++++++-------------
po/fr.gmo | Bin 58978 -> 58978 bytes
po/fr.po | 588 +++++++++++++++-------------
po/pl.gmo | Bin 588 -> 588 bytes
po/pl.po | 588 +++++++++++++++-------------
po/systemtap.pot | 588 +++++++++++++++-------------
remote.cxx | 454 +++++++++++++++++++++-
remote.h | 9 +
runtime/staprun/Makefile.am | 7 +-
runtime/staprun/Makefile.in | 36 ++-
runtime/staprun/aclocal.m4 | 40 +-
runtime/staprun/configure | 294 ++++++++-------
runtime/staprun/stapsh.c | 412 +++++++++++++++++++
session.cxx | 7 +
session.h | 2 +
stap-server | 2 +-
stap-serverd | 2 +-
systemtap.spec | 1 +
testsuite/aclocal.m4 | 4 +-
testsuite/configure | 226 ++++++-----
testsuite/systemtap.base/stapsh.exp | 12 +
testsuite/systemtap.base/stapsh.stp | 39 ++
util.cxx | 20 +-
util.h | 2 +-
34 files changed, 2872 insertions(+), 1604 deletions(-)
create mode 100644 runtime/staprun/stapsh.c
create mode 100644 testsuite/systemtap.base/stapsh.exp
create mode 100644 testsuite/systemtap.base/stapsh.stp
hooks/post-receive
--
systemtap: system-wide probe/trace tool