]> sourceware.org Git - systemtap.git/log
systemtap.git
13 years agoFix 'version-control-internal-file' rpmlint errors in the testsuite.
David Smith [Fri, 20 May 2011 21:35:26 +0000 (16:35 -0500)]
Fix 'version-control-internal-file' rpmlint errors in the testsuite.

* systemtap.spec: Remove all '.gitignore' files from the testsuite
  directory.

13 years agoFix 'version-control-internal-file' rpmlint error by removing .cvsignore files.
David Smith [Fri, 20 May 2011 18:12:41 +0000 (13:12 -0500)]
Fix 'version-control-internal-file' rpmlint error by removing .cvsignore files.

* man/.cvsignore: Remove old cvs file.
* testsuite/.cvsignore: Ditto.
* testsuite/systemtap.syscall/.cvsignore: Ditto.

13 years agoFix 'spurious-executable-perm' rpmlint warning.
David Smith [Fri, 20 May 2011 18:02:48 +0000 (13:02 -0500)]
Fix 'spurious-executable-perm' rpmlint warning.

* testsuite/systemtap.examples/io/inodewatch.meta: Make non-executable.
* testsuite/systemtap.examples/io/inodewatch2.meta: Ditto.

13 years agoFix 'invalid-license' rpmlint error on sdt-devel subpackage.
David Smith [Fri, 20 May 2011 17:48:39 +0000 (12:48 -0500)]
Fix 'invalid-license' rpmlint error on sdt-devel subpackage.

* systemtap.spec: Fixed multiple license text on sdt-devel subpackage.

13 years agospec/initscripts: fix some rpmlint (fedora autoqa) warnings
Frank Ch. Eigler [Fri, 20 May 2011 17:44:54 +0000 (13:44 -0400)]
spec/initscripts: fix some rpmlint (fedora autoqa) warnings

* initscript/stap-server.in, systemtap.in: Add some LSB comments.
  Standardize spellings, specify description.
* systemtap.spec: Add (noreplace) to /var/log/stap-server/log.

13 years agoFix 'incorrect-fsf-address' rpmlint errors.
David Smith [Fri, 20 May 2011 14:10:14 +0000 (09:10 -0500)]
Fix 'incorrect-fsf-address' rpmlint errors.

* COPYING: Updated to latest FSF version with updated address.
* doc/SystemTap_Beginners_Guide/en-US/Legal_Notice.xml: Updated FSF
  address.
* doc/SystemTap_Tapset_Reference/tapsets.tmpl: Ditto.
* doc/Tapset_Reference_Guide/en-US/Legal_Notice.xml: Ditto.
* doc/Tapset_Reference_Guide/publicanize.sh: Ditto.
* aclocal.m4: Instead of using the FSF's address, just reference
  <http://www.gnu.org/licenses/> (which is the FSF's latest
  recommendation).
* config.guess: Ditto.
* config.sub: Ditto.
* hash.cxx: Ditto.
* mdfour.c: Ditto.
* mdfour.h: Ditto.
* nsscommon.cxx: Ditto.
* pcp/GNUmakefile.in: Ditto.
* pcp/config.guess: Ditto.
* pcp/config.sub: Ditto.
* pcp/install-sh: Ditto.
* pcp/src/GNUmakefile.in: Ditto.
* pcp/src/include/builddefs.in: Ditto.
* pcp/src/pmdas/logger/GNUmakefile.in: Ditto.
* pcp/src/pmdas/logger/Install: Ditto.
* pcp/src/pmdas/logger/Remove: Ditto.
* pcp/src/pmdas/logger/event.c: Ditto.
* pcp/src/pmdas/logger/event.h: Ditto.
* pcp/src/pmdas/logger/help: Ditto.
* pcp/src/pmdas/logger/logger.c: Ditto.
* pcp/src/pmdas/logger/pmns: Ditto.
* pcp/src/pmdas/logger/util.c: Ditto.
* pcp/src/pmdas/logger/util.h: Ditto.
* runtime/staprun/aclocal.m4: Ditto.
* runtime/staprun/modverify.c: Ditto.
* runtime/staprun/stap_merge.c: Ditto.
* runtime/staprun/stap_merge.tcl: Ditto.
* runtime/staprun/stapio.c: Ditto.
* runtime/staprun/staprun.c: Ditto.
* runtime/transport/relay_v2.c: Ditto.
* runtime/uprobes/uprobes.c: Ditto.
* runtime/uprobes/uprobes.h: Ditto.
* runtime/uprobes/uprobes_i386.c: Ditto.
* runtime/uprobes/uprobes_i386.h: Ditto.
* runtime/uprobes/uprobes_ppc.c: Ditto.
* runtime/uprobes/uprobes_ppc.h: Ditto.
* runtime/uprobes/uprobes_s390.c: Ditto.
* runtime/uprobes/uprobes_s390.h: Ditto.
* runtime/uprobes/uprobes_x86.c: Ditto.
* runtime/uprobes/uprobes_x86.h: Ditto.
* runtime/uprobes/uprobes_x86_64.c: Ditto.
* runtime/uprobes/uprobes_x86_64.h: Ditto.
* runtime/uprobes2/uprobes.c: Ditto.
* runtime/uprobes2/uprobes.h: Ditto.
* runtime/uprobes2/uprobes_x86.c: Ditto.
* runtime/uprobes2/uprobes_x86.h: Ditto.
* stap-authorize-cert.cxx: Ditto.
* stap-gen-cert.cxx: Ditto.
* stap-serverd.cxx: Ditto.
* stap-sign-module.cxx: Ditto.
* staplog.c: Ditto.
* testsuite/systemtap.examples/io/iotime.stp: Ditto.
* testsuite/systemtap.examples/locks/bkl.stp: Ditto.
* testsuite/systemtap.examples/locks/bkl_stats.stp: Ditto.
* testsuite/systemtap.examples/process/sleeptime.stp: Ditto.
* testsuite/systemtap.examples/process/wait4time.stp: Ditto.
* testsuite/systemtap.printf/stap_merge.tcl: Ditto.
* util.cxx: Ditto.

13 years agoFix PR12781 by speeding up __stp_utrace_task_finder_target_syscall_entry().
David Smith [Thu, 19 May 2011 22:06:02 +0000 (17:06 -0500)]
Fix PR12781 by speeding up __stp_utrace_task_finder_target_syscall_entry().

* runtime/task_finder.c (__stp_utrace_task_finder_target_syscall_entry):
  Only call the {MMAP,MMAP2,MPROTECT,MUNMAP}_SYSCALL_NO() macros once.

13 years agoFix PR12785 by allowing init/systemd (pid 1) to be traced.
David Smith [Thu, 19 May 2011 21:58:16 +0000 (16:58 -0500)]
Fix PR12785 by allowing init/systemd (pid 1) to be traced.

* runtime/task_finder.c (stap_utrace_detach): Allow init (pid 1) to be
  traced.
  (__stp_utrace_attach): Ditto.
  (__stp_utrace_attach_match_tsk): Ditto.
  (__stp_utrace_task_finder_report_exec): Ditto.

13 years agoRHBZ706185: port softirq.* probe points back to rhel5 tracepoints
Bryn Reeves [Thu, 19 May 2011 17:56:05 +0000 (13:56 -0400)]
RHBZ706185: port softirq.* probe points back to rhel5 tracepoints

13 years agoFix pipe paths in the logger PMDA.
David Smith [Wed, 18 May 2011 15:32:56 +0000 (10:32 -0500)]
Fix pipe paths in the logger PMDA.

* pcp/src/pmdas/logger/event.c (event_create): Handle non-blocking reads.
* pcp/src/pmdas/logger/util.c (start_cmd): Close the correct side of the
  pipe in the parent process.

13 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
David Smith [Wed, 18 May 2011 15:27:47 +0000 (10:27 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

13 years agoMerge remote-tracking branch 'nathans/master'
David Smith [Wed, 18 May 2011 15:23:02 +0000 (10:23 -0500)]
Merge remote-tracking branch 'nathans/master'

13 years agoMake sure that sigaction always starts zeroed
Josh Stone [Tue, 17 May 2011 20:38:49 +0000 (13:38 -0700)]
Make sure that sigaction always starts zeroed

On some systems, stapsh's child process was getting automatically
reaped, which caused an error when we tried to waitpid().  This was
because we weren't fully zeroing the sigaction, so sa_flags was
uninitialized (and happened to contain SA_NOCLDWAIT).

This patch sprinkles memset-0 on sigactions throughout.

13 years agoEnsure client-side certificate database files are readable by all.
Dave Brolley [Tue, 17 May 2011 17:57:26 +0000 (13:57 -0400)]
Ensure client-side certificate database files are readable by all.

13 years agoPR12211: fix badname demo with read-only mounts
Frank Ch. Eigler [Tue, 17 May 2011 13:31:43 +0000 (09:31 -0400)]
PR12211: fix badname demo with read-only mounts

* testsuite/systemtap.examples/general/badname.meta: Use a /tmp file again.

13 years agoPR12211: rework testsuite with failed-subtask tolerance
Frank Ch. Eigler [Tue, 17 May 2011 10:53:34 +0000 (06:53 -0400)]
PR12211: rework testsuite with failed-subtask tolerance

After PR12211, a "stap -c CMD" run where the CMD fails (rc != 0)
now results in an overall stap failure.  This is undesirable with
some of the example scripts that use failed CMDs.

* systemtap.examples/general/para-callgraph-verbose.meta (test_installcheck):
  Add a "|| true" to the sh -c command string to ensure CMD is deemed to
  succeed.
* systemtap.examples/general/para-callgraph.meta: Ditto.
* systemtap.examples/process/noptrace.meta: Ditto.

13 years agoexample: make badname demo work with euid=0
Frank Ch. Eigler [Tue, 17 May 2011 10:50:45 +0000 (06:50 -0400)]
example: make badname demo work with euid=0

The stap testsuite may be run under euid=0, so make sure the
test triggers the name filtering.

* sysadmin.examples/general/badname.stp: Drop euid()==0 filtering.
  Use a more specific file name substring, to prevent accidental
  interference with host system during testsuite.
* sysadmin.examples/general/badname.meta: Adjust accordingly.

13 years agoSTP_USE_RING_BUFFER: #include <asm/local.h>
Frank Ch. Eigler [Tue, 17 May 2011 10:37:20 +0000 (06:37 -0400)]
STP_USE_RING_BUFFER: #include <asm/local.h>

At some point, this became necessary on modern kernels to
build the transport/ring_buffer.c code.  Tested on 2.6.34 f13.

* runtime/transport/ring_buffer.c: #include <asm/local.h>

13 years agoGuard avahi in stap_serverd_LDADD with HAVE_AVAHI
Josh Stone [Sat, 14 May 2011 17:37:46 +0000 (10:37 -0700)]
Guard avahi in stap_serverd_LDADD with HAVE_AVAHI

Don't include avahi libs in the stap_serverd link line if we're not
actually building with avahi.  Also, autoreconf everything with F14.

13 years agoPR12729: make childprocess spawning/waitpid both -vv verbose
Frank Ch. Eigler [Sat, 14 May 2011 15:26:17 +0000 (11:26 -0400)]
PR12729: make childprocess spawning/waitpid both -vv verbose

With recent code, -vv was enough to get a "Running ...." message for
child processes of the translator, but not their "Spawn waitpid ..."
return codes.  That required -vvv.  Make them consistent.

* util.cxx (stap_waitpid): Report at verbosity > 1.

13 years ago--ldd: turn bad-interpreter findings into warnings
Frank Ch. Eigler [Sat, 14 May 2011 14:50:54 +0000 (10:50 -0400)]
--ldd: turn bad-interpreter findings into warnings

A semantic_error is too heavy.  We can just skip the --ldd processing
for these binaries and move on.

* dwflpp.cxx (iterate_over_libraries): Print (suppressible) warning
  instead of throwing a semantic_error if the module interpreter is
  not in our whitelist.

13 years ago--ldd: improve error handling
Frank Ch. Eigler [Sat, 14 May 2011 14:49:43 +0000 (10:49 -0400)]
--ldd: improve error handling

* translate.cxx (add_unwindsym_ldd): Use delete, not free() on c++ object.
  (prepare_translate_pss): Add an exception catch around prepare_symbol_data()

13 years agoshutdown hangs: offer option -DSTAP_OVERRIDE_STUCK_CONTEXT
Frank Ch. Eigler [Fri, 13 May 2011 17:17:02 +0000 (13:17 -0400)]
shutdown hangs: offer option -DSTAP_OVERRIDE_STUCK_CONTEXT

Sometimes stuff happens to probe handlers, and they refuse to clean up
cleanly (resetting their contexts to non-busy state).  This can cause
module shutdowns to hang with a busy-waiting stapio.  This patch lets
a user override the infinite loop with -DSTAP_OVERRIDE_STUCK_CONTEXT
to let the module be cleaned up.  Without that set, at least the
infinite loop is made to spin less tightly.

* translate.cxx (c_unparser::emit_module_exit): Hang looser
  upon stuck contexts.

13 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Stan Cox [Fri, 13 May 2011 15:03:54 +0000 (11:03 -0400)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

13 years agodwflpp::translate_final_fetch_or_store enumeration_types are always scalar.
Mark Wielaard [Fri, 13 May 2011 14:59:08 +0000 (16:59 +0200)]
dwflpp::translate_final_fetch_or_store enumeration_types are always scalar.

No need to check DW_AT_encoding for DW_TAG_enumeration_type
(they don't have any).

13 years agoBuild PPC Postgres sdt with 'nr' constraint
Stan Cox [Fri, 13 May 2011 14:58:23 +0000 (10:58 -0400)]
Build PPC Postgres sdt with 'nr' constraint

* postgres.exp (stap-postgres.sh):  Add -DSTAP_SDT_ARG_CONSTRAINT=nr

13 years agoPPC requires prepare_section_rejection mod parameter.
Stan Cox [Fri, 13 May 2011 13:40:19 +0000 (09:40 -0400)]
PPC requires prepare_section_rejection mod parameter.

* tapsets.cxx (symbol_table::read_from_text_file): Keep mod but mark it unused.

13 years agoRevert "pmwebapi: prototype pcp web api daemon"
Frank Ch. Eigler [Fri, 13 May 2011 11:36:33 +0000 (07:36 -0400)]
Revert "pmwebapi: prototype pcp web api daemon"

Removing the pmwebapi prototype from stap git; it's moved to
git://oss.sgi.com/fche/pcp.git

13 years agoruntime/autoconf: gcc 4.6 fix false -Werror positives
Frank Ch. Eigler [Thu, 12 May 2011 23:53:30 +0000 (19:53 -0400)]
runtime/autoconf: gcc 4.6 fix false -Werror positives

gcc 4.6 generates more warnings, which made some runtime/autoconf
tests falsely fail.  The worst example of this was a crash in the
context.exp test case (due to false negative STAPCONF_WALK_STACK).
This patch adds some dummy code to the tests to make the warnings
go away, and thus let the tests pass even with -Werror.

13 years agoSilence stap's signal handler
Josh Stone [Thu, 12 May 2011 21:40:08 +0000 (14:40 -0700)]
Silence stap's signal handler

It might be nice to print a signal diagnostic in more verbose modes, but
we don't know the session's verbose flag at that point.  So, keep quiet.

* main.cxx (handle_interrupt): Don't brag about signals.

13 years agoInclude the date & time in all compile server log messages.
Dave Brolley [Thu, 12 May 2011 20:39:02 +0000 (16:39 -0400)]
Include the date & time in all compile server log messages.

13 years agoBump product number for beginners guide.
William Cohen [Thu, 12 May 2011 20:15:41 +0000 (16:15 -0400)]
Bump product number for beginners guide.

13 years agoUnwanted message when initializing non-existent client-side cert database.
Dave Brolley [Thu, 12 May 2011 20:04:48 +0000 (16:04 -0400)]
Unwanted message when initializing non-existent client-side cert database.

13 years agoHandle resource limit violations of stap when called by stap-serverd more elegantly.
Dave Brolley [Thu, 12 May 2011 19:50:14 +0000 (15:50 -0400)]
Handle resource limit violations of stap when called by stap-serverd more elegantly.

- Catch SIGXFSZ and SIGXCPU in stap and in stap-serverd.
- Exit gracefully from stap when caught.
- In stap-serverd, compare the current limits against the original limits
  and continue if the current limits are less (i.e. are limits intended for stap).
- Set/restore limits around stap_spawn instead of spawn_and_wait.

13 years agogcc 4.6 -Wextra -Wall fixes
Frank Ch. Eigler [Thu, 12 May 2011 19:37:00 +0000 (15:37 -0400)]
gcc 4.6 -Wextra -Wall fixes

Some unused parameters removed, some extra
initialization here and there.

13 years agoAdd ia64 interpreter to whitelist
Stan Cox [Thu, 12 May 2011 19:15:20 +0000 (15:15 -0400)]
Add ia64 interpreter to whitelist

* dwflpp.cxx (iterate_over_libraries): Add /lib/ld-linux-ia64.so.2 to whitelist.

13 years agoFixed rpm_finder compilation when '!HAVE_LIBRPMIO && HAVE_NSS'.
David Smith [Thu, 12 May 2011 18:26:41 +0000 (13:26 -0500)]
Fixed rpm_finder compilation when '!HAVE_LIBRPMIO && HAVE_NSS'.

* rpm_finder.cxx: Added needed include of nsscommon.h when we don't have
  librpmio but have nss.

13 years agoAdd ppc/s390 interpreter to whitelist.
Stan Cox [Thu, 12 May 2011 17:34:20 +0000 (13:34 -0400)]
Add ppc/s390 interpreter to whitelist.

* dwflpp.cxx (iterate_over_libraries): Add /lib64/ld64.so.1 to whitelist.

13 years agodisable install targets from pcp/ subdir
Frank Ch. Eigler [Thu, 12 May 2011 17:14:59 +0000 (13:14 -0400)]
disable install targets from pcp/ subdir

These don't respect autoconf --prefix, and are not really
desired as part of the installed stap package anyway.

13 years agobump AUTHORS
Frank Ch. Eigler [Thu, 12 May 2011 17:14:40 +0000 (13:14 -0400)]
bump AUTHORS

13 years agoFix build problems with compile-server and client when avahi is not available.
Dave Brolley [Thu, 12 May 2011 15:56:35 +0000 (11:56 -0400)]
Fix build problems with compile-server and client when avahi is not available.

13 years agoNEWS entry for new compile server implementation.
Dave Brolley [Thu, 12 May 2011 15:24:53 +0000 (11:24 -0400)]
NEWS entry for new compile server implementation.

13 years agoMove (back?) to a select-based PMDA with custom main.
Nathan Scott [Thu, 12 May 2011 09:41:01 +0000 (19:41 +1000)]
Move (back?) to a select-based PMDA with custom main.

An observed problem with doing log reads only during the
metric fetch callback, is that we start getting behind in
events once the volume starts ramping up from small files
to the point that the PMDA is overwhelmed.  Caused by two
issues:
- only reading new events based solely on client fetch
  intervals means for relatively long intervals (say once
  every few minutes) the consumption doesn't keep up with
  the event generation.
- only reading once (i.e. one read(2) call) per fetch,
  which made the above even more severe and noticable.

We address these issues by using a custom PMDA loop which
is awoken on either readable file descriptors or expiry of
a timer (iow server side driven event reading, not client).
Whenever we wake, we consume all available events at that
time for each file descriptor.

13 years agoi18n: po rebuild after CVE fixes
Frank Ch. Eigler [Wed, 11 May 2011 23:33:19 +0000 (19:33 -0400)]
i18n: po rebuild after CVE fixes

13 years agoCVE-2011-1781, CVE-2011-1769: correct DW_OP_{mod,div} division-by-zero bug
Mark Wielaard [Wed, 11 May 2011 19:27:48 +0000 (15:27 -0400)]
CVE-2011-1781, CVE-2011-1769: correct DW_OP_{mod,div} division-by-zero bug

    Probing a process with corrupted DWARF information, it has been
    possible to create a kernel-side divison-by-zero.  This fixes.

    Handle DW_OP_div/mod divide by zero. DW_OP_mod should work unsigned.

    * loc2c.c (translate): Use helper functions div_op and mod_op for
      DW_OP_div and DW_OP_mod operands. Set used_deref = true.
    * translate.cxx (translate_runtime): Emit STAP_MSG_LOC2C_03 define.
    * runtime/loc2c-runtime.h: Define dwarf_div_op and dwarf_mod_op macros.
    * runtime/unwind.c (compute_expr): Check for zero before executing
      DW_OP_mod or DW_OP_div.

13 years agoCorrect some rlimit settings for the translator when called by the server.
Dave Brolley [Wed, 11 May 2011 21:41:31 +0000 (17:41 -0400)]
Correct some rlimit settings for the translator when called by the server.

Some settings should have been specified in kilobytes.

13 years agonss-tools is no longer required by our RPMs.
Dave Brolley [Wed, 11 May 2011 20:33:53 +0000 (16:33 -0400)]
nss-tools is no longer required by our RPMs.

13 years agoPlatform specific build issues:
Dave Brolley [Wed, 11 May 2011 20:32:52 +0000 (16:32 -0400)]
Platform specific build issues:

Missing #includes.
Unused variables.

13 years agoSet resource limits for the translator when called from the compile server.
Dave Brolley [Wed, 11 May 2011 19:35:11 +0000 (15:35 -0400)]
Set resource limits for the translator when called from the compile server.

13 years agoGettext a few lines, update /po and Makefiles
Lukas Berk [Wed, 11 May 2011 19:20:48 +0000 (15:20 -0400)]
Gettext a few lines, update /po and Makefiles

Makefile.am - dont include config.h runtime/staprun/config.h or git_version.h
Makefile.in - likewise
nsscommon.cxx - gettexted a few strings
po/* - regenerated files

13 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
David Smith [Wed, 11 May 2011 19:08:05 +0000 (14:08 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

13 years agoMerge branch 'master' of git://oss.sgi.com/nathans/systemtap
David Smith [Wed, 11 May 2011 17:52:34 +0000 (12:52 -0500)]
Merge branch 'master' of git://oss.sgi.com/nathans/systemtap

* 'master' of git://oss.sgi.com/nathans/systemtap:
  Resolve a couple of issues from missing log file handling code.
  Minor cleanups after writing QA tests.
  Add code to deal with log file rotation.
  Unify separate tables for tracking log files, simpler code.
  Several additional metrics for log file PCP agent.
  Update the domain number comment now that one is reserved.
  Uncomment the seek-to-end-of-log-file code in pmdalogger.
  Remove further shared library remnants in pmdalogger build.

13 years agodtrace python i18n: make work with autoconf wackyness
Frank Ch. Eigler [Wed, 11 May 2011 17:40:53 +0000 (13:40 -0400)]
dtrace python i18n: make work with autoconf wackyness

autoconf likes to expand some @vars@ in terms of shell-script-like
constructs like @LOCALEDIR@ = "${datarootdir}/locale" and
@datarootdir@ = "${prefix}/share".  Since python doesn't interpolate
strings the same way as /bin/sh, this no workie. So we hard-code the
interpolation with a sequence of string.replace calls.

Confirmed working with LANG=fr_FR strace python ./dtrace |& grep /fr

* configure.ac: AC_SUBST a few more values.
* dtrace.in: Specially process ENABLE_NLS and similar values.

13 years agoAdd NULL check to second PR_Close(local_file_fd)
Lukas Berk [Wed, 11 May 2011 17:30:27 +0000 (13:30 -0400)]
Add NULL check to second PR_Close(local_file_fd)

13 years agoAdd NULL check for PR_Close(local_file_fd)
Lukas Berk [Wed, 11 May 2011 17:27:25 +0000 (13:27 -0400)]
Add NULL check for PR_Close(local_file_fd)

13 years agoInitialize local_file_fd to NULL
Lukas Berk [Wed, 11 May 2011 17:18:30 +0000 (13:18 -0400)]
Initialize local_file_fd to NULL

nsscommon.cxx - set to NULL as to ensure no uninitialized use

13 years agoelf_getphdrnum is not in all versions of elfutils
Stan Cox [Wed, 11 May 2011 15:46:28 +0000 (11:46 -0400)]
elf_getphdrnum is not in all versions of elfutils

* dwflpp.cxx (iterate_over_libraries): Use result of gelf_getphdr to
exit loop instead of result of elf_getphdrnum.

13 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Dave Brolley [Wed, 11 May 2011 15:08:18 +0000 (11:08 -0400)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

13 years agoRead-only iteration should use const
Josh Stone [Wed, 11 May 2011 03:36:15 +0000 (20:36 -0700)]
Read-only iteration should use const

* util.cxx (spawned_pids_t::killall): Use const_iterator.

13 years agoremote: Add tests for manually-specified hosts
Josh Stone [Wed, 11 May 2011 03:01:01 +0000 (20:01 -0700)]
remote: Add tests for manually-specified hosts

To run a basic test on hosts foo and bar, use:
  make installcheck RUNTESTFLAGS=remote.exp TESTREMOTES=foo,bar

* testsuite/systemtap.base/remote.exp: New test of --remote hosts.
* testsuite/systemtap.base/remote.stp: New.
* testsuite/Makefile.am: Add TESTREMOTES control of remote.exp.
* testsuite/Makefile.in: Regenerate.

13 years agoCreate a signal-safe type for tracking spawned pids
Josh Stone [Wed, 11 May 2011 00:33:59 +0000 (17:33 -0700)]
Create a signal-safe type for tracking spawned pids

* util.cxx (spawned_pids_t): New type which wraps a set<pid_t>, masking
  signals on each access to ensure consistency in and out of the signal
  handler.  The spawned_pids global is the only instance.
  (stap_waitpid): Use !contains(pid) rather than count(pid)==0.
  (kill_stap_spawn): Use spawned_pids_t::killall().

13 years agoMask signals while removing the tmpdir
Josh Stone [Wed, 11 May 2011 00:30:27 +0000 (17:30 -0700)]
Mask signals while removing the tmpdir

* main.cxx (remove_temp_dir): Rather than ignoring signals while we rm,
  just use stap_sigmasker so we can get missed signals when we're done.

13 years agoConsolidate signal-masking into a utility class
Josh Stone [Wed, 11 May 2011 00:25:47 +0000 (17:25 -0700)]
Consolidate signal-masking into a utility class

* util.h (stap_sigmasker): New, masks our usual signals for the life of
  the stap_sigmasker object.
* remote.cxx (direct_stapsh::direct_stapsh): Use stap_sigmasker while
  spawning the stapsh child process.
  (ssh_remote::connect): Ditto for the ssh process.
  (remote::run): Use stap_sigmasker around the polling loop.

13 years agoremote: Disambiguate the private target names
Josh Stone [Tue, 10 May 2011 23:45:54 +0000 (16:45 -0700)]
remote: Disambiguate the private target names

It's conceivable, however unlikely, that a user may have an actual host
named "direct" or "stapsh", which would conflict with our internal
methods if used as a --remote.  Such a user could say "ssh://direct" to
be explicit, but we can also hide ours a little better.  Those internal
names are now tested as proper URI schemes, e.g. "direct:...", so they
should never conflict with a user's legitimate target.

* remote.cxx (remote::create): Test for "direct" and "stapsh" only as
  the scheme of a decoded URI.
* main.cxx (main): Use "direct:" for non-remote use.
* testsuite/systemtap.base/stapsh.exp: Use "stapsh:" for testing.

13 years agoMake sure remote children are waited for
Josh Stone [Tue, 10 May 2011 23:38:08 +0000 (16:38 -0700)]
Make sure remote children are waited for

* remote.cxx (ssh_remote::~ssh_remote): Call finish on destruction.
  (direct_stapsh::~direct_stapsh): Ditto.
  (direct::~direct): Ditto.

13 years agoPR12749: Replace popen calls with stap_spawn_piped
Josh Stone [Tue, 10 May 2011 22:03:02 +0000 (15:03 -0700)]
PR12749: Replace popen calls with stap_spawn_piped

The new form has the advantages that child processes are managed by
signals to stap, and that arguments are provided in a vector so they
don't need to be escaped.

* dwflpp.cxx (dwflpp::iterate_over_libraries): Convert popen call to
  stap_spawn_piped, followed by fdopen so the same FILE* operations are
  still supported.  Finish with fclose+stap_waitpid instead of pclose.
* tapsets.cxx (symbol_table::read_from_elf_file): Ditto.

13 years agoRemove the unused git_revision()
Josh Stone [Tue, 10 May 2011 22:00:58 +0000 (15:00 -0700)]
Remove the unused git_revision()

The use of this function had been commented out for some time now, and
it contained an unescaped call to popen.  Rather than trying to fix dead
code, just remove it altogether.

13 years agoExplicitly check the interpreter paths.
Stan Cox [Tue, 10 May 2011 21:40:18 +0000 (17:40 -0400)]
Explicitly check the interpreter paths.

dwflpp.cxx (dwflpp::iterate_over_libraries):  Do explicit pathname comparison.

13 years agoMerge branch 'master' of ssh://sourceware.org/git/systemtap
Dave Brolley [Tue, 10 May 2011 18:57:01 +0000 (14:57 -0400)]
Merge branch 'master' of ssh://sourceware.org/git/systemtap

Conflicts:
nsscommon.c
runtime/staprun/Makefile.in

13 years agopmwebapi: prototype pcp web api daemon
Frank Ch. Eigler [Tue, 10 May 2011 18:51:27 +0000 (14:51 -0400)]
pmwebapi: prototype pcp web api daemon

* src/pmwebapi/main.c: New file.

13 years agopcp logger: disable install target, as this doesn't mesh with stap configury
Frank Ch. Eigler [Tue, 10 May 2011 18:50:50 +0000 (14:50 -0400)]
pcp logger: disable install target, as this doesn't mesh with stap configury

13 years agoSystemtap Compile Server Integration (rewrite):
Dave Brolley [Tue, 10 May 2011 18:37:17 +0000 (14:37 -0400)]
Systemtap Compile Server Integration (rewrite):

- Rewrite stap-serverd in C++
- Rewrite related tools (stap-gen-cert, stap-authorize-cert, stap-sign-module)
  in C++. Integrate functionality into stap-serverd.
- Remove stap-server-connect (integrated into stap-serverd).
- Move all common NSS related code into nsscommon.cxx (renamed from nsscommon.c).
- Rename modsign.cxx to stap-sign-module.cxx.
- Update test suite with new expected messages.
- Update man pages.
- Remove obsolete tools (scripts).
- Remove test for certutil from configuation.

13 years agoBump postgres version used for systemtap.apps to 9.0.4
Stan Cox [Mon, 9 May 2011 15:42:09 +0000 (11:42 -0400)]
Bump postgres version used for systemtap.apps to 9.0.4

* stap-postgres.stp (postgresrelease):  Bump it to 9.0.4

13 years agoResolve a couple of issues from missing log file handling code.
Nathan Scott [Sun, 8 May 2011 22:27:47 +0000 (08:27 +1000)]
Resolve a couple of issues from missing log file handling code.

If we do not stat the file on initial opening as well, the first
ino/dev comparison fails and we end up always reopening the file
at least once.

Whenever we have a successful stat call on logfile, keep latest
output in case we ever want to use last-modified times, etc.

13 years agoMinor cleanups after writing QA tests.
Nathan Scott [Sat, 7 May 2011 03:33:45 +0000 (13:33 +1000)]
Minor cleanups after writing QA tests.

Most interesting change is handling accidental use of a
directory name as a log file name, doesn't spam the log.

13 years agouprobes: impedance match insn tables with test_bit()
Josh Stone [Fri, 6 May 2011 23:31:08 +0000 (16:31 -0700)]
uprobes: impedance match insn tables with test_bit()

The kernel's test_bit expects its bitmap to be const volatile, but we
had ours as simply const.  On Fedora 15 with gcc 4.6, compiling uprobes
gave a few warnings like this:

    arch/x86/include/asm/bitops.h:319:2: warning: use of memory input
    without lvalue in asm operand 1 is deprecated [enabled by default]

That line is the asm statement in variable_test_bit().

The symptom noticed was that handle_riprel_insn was reading need_modrm:0
for opcode 0x89, when our table says it should be 1.  Who knows what
other havok ensued...

When our instruction tables are set const volatile to match test_bit(),
the warning goes away, and need_modrm is now computed correctly.

13 years agouprobes: remove #undef DEBUG_UPROBES_RIP, to make it controllable
Frank Ch. Eigler [Fri, 6 May 2011 20:56:30 +0000 (16:56 -0400)]
uprobes: remove #undef DEBUG_UPROBES_RIP, to make it controllable

13 years agoUse iterate_over_libraries for --ldd instead of invoking ldd
Stan Cox [Fri, 6 May 2011 20:00:11 +0000 (16:00 -0400)]
Use iterate_over_libraries for --ldd instead of invoking ldd

* dwflpp.cxx (iterate_over_modules): Make data an opaque type.
(iterate_over_libraries): Likewise.
* dwflpp.h: Likewise.
* translate.cxx (add_unwindsym_iol_callback): New.
(query_module): New.
(add_unwindsym_ldd): Use them to iterate_over_libraries instead of ldd.
* library.exp:  Add --ldd test.

13 years agodtrace: Remove unused open_file function
Josh Stone [Fri, 6 May 2011 08:03:34 +0000 (01:03 -0700)]
dtrace: Remove unused open_file function

13 years agodtrace: Push main logic into an actual main()
Josh Stone [Fri, 6 May 2011 07:18:06 +0000 (00:18 -0700)]
dtrace: Push main logic into an actual main()

* dtrace.in (main): New, invoked using Python's __name__ idiom.
  (_provider.__typedef_append): Take add_typedefs as a parameter rather
  than pulling from the formerly global scope.
  (_provider.generate): Adjust __typedef_append calls.

13 years agodtrace: Fix tabbed indentation with 4 spaces
Josh Stone [Fri, 6 May 2011 07:07:19 +0000 (00:07 -0700)]
dtrace: Fix tabbed indentation with 4 spaces

13 years agodtrace: Use dict.get() for conditional environment values
Josh Stone [Fri, 6 May 2011 06:56:11 +0000 (23:56 -0700)]
dtrace: Use dict.get() for conditional environment values

13 years agoAdd code to deal with log file rotation.
Nathan Scott [Fri, 6 May 2011 03:45:46 +0000 (13:45 +1000)]
Add code to deal with log file rotation.

Depending on how the log file is rotated, it will often end up backed
by a new inode (new log file) as the previous one is renamed (usually
with yesterdays log timestamp).  When this happens, we'll stop getting
events ... unfortunate.

So, make use of the stat data queried at start of fetch now to ensure
we detect this scenario, close the old file and switch to the new one
seamlessly.  In the process, we need to make sure we handle the case
where the file doesn't exist.

13 years agoUnify separate tables for tracking log files, simpler code.
Nathan Scott [Thu, 5 May 2011 23:28:24 +0000 (09:28 +1000)]
Unify separate tables for tracking log files, simpler code.

Simplify the code a little, unifying the two separate tables
for tracking open log files.

Also added support for comments (#-prefixed) in the config file.

13 years agoDtrace script should honor $CPP, $CC, $CFLAGS
Stan Cox [Thu, 5 May 2011 12:36:23 +0000 (08:36 -0400)]
Dtrace script should honor $CPP, $CC, $CFLAGS

* dtrace (main):  Use $CPP, $CC, $CFLAGS if available
* dtrace.exp:  Add CFLAGS= CC= test

13 years agoregen examples index
Frank Ch. Eigler [Thu, 5 May 2011 02:06:04 +0000 (22:06 -0400)]
regen examples index

13 years agoBetter cleanup in insert_module().
David Smith [Wed, 4 May 2011 15:52:26 +0000 (10:52 -0500)]
Better cleanup in insert_module().

* runtime/staprun/staprun_funcs.c (insert_module): Better cleanup on error
  exit.

13 years agoeventcounter: more output tweaks
Frank Ch. Eigler [Wed, 4 May 2011 14:10:50 +0000 (10:10 -0400)]
eventcounter: more output tweaks

13 years agoeventcount: improve output layout some more
Frank Ch. Eigler [Wed, 4 May 2011 12:20:48 +0000 (08:20 -0400)]
eventcount: improve output layout some more

13 years agoeventcount script: improve startup message
Frank Ch. Eigler [Wed, 4 May 2011 12:06:37 +0000 (08:06 -0400)]
eventcount script: improve startup message

13 years agoperf: document default perf.*.sample(XX) value/behavior
Frank Ch. Eigler [Wed, 4 May 2011 12:02:27 +0000 (08:02 -0400)]
perf: document default perf.*.sample(XX) value/behavior

13 years agoeventcount: extend script with more info and prettier formatting
Frank Ch. Eigler [Wed, 4 May 2011 11:53:14 +0000 (07:53 -0400)]
eventcount: extend script with more info and prettier formatting

13 years agoPR12508 Changed eventcount.stp to use target_set tapset
Lukas Berk [Tue, 3 May 2011 21:40:19 +0000 (17:40 -0400)]
PR12508 Changed eventcount.stp to use target_set tapset

This change avoids cases where the target program runs several layers
away.

13 years agoPR12508 eventcounting script
Lukas Berk [Tue, 3 May 2011 19:21:10 +0000 (15:21 -0400)]
PR12508 eventcounting script

An eventcount.stp script has now been added which allows for event
counting in the format of 'stap eventcount.stp syscall.* process.end ...'
with a printout of tid's event and count.

NEWS - news blurb
testsuite/systemtap.examples/general/eventcount.meta - meta file
testsuite/systemtap.examples/general/eventcount.stp - script itself

13 years agoSeveral additional metrics for log file PCP agent.
Nathan Scott [Tue, 3 May 2011 11:28:06 +0000 (21:28 +1000)]
Several additional metrics for log file PCP agent.

Add in counts of bytes and events seen per logfile, and the
current log file size for each.  This will aid debugging and
day-to-day monitoring of more complex, hierarchical (r)syslog
deployments, for example.

Added a fetch callback so initial code to check status of the
monitored log files could be added - will need to extend this
though, to deal with the common case of logfile rotation.

Minor cleanups - pmid_string field is not a string, rename;
do not explicitly initialise global variables to zero, as the
compiler will happily do that; metric semantics for a couple
of metrics not-quite-right (discrete vs instant).

13 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
Lukas Berk [Mon, 2 May 2011 21:55:11 +0000 (17:55 -0400)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

13 years agoFix typo in tapset documentation
Lukas Berk [Mon, 2 May 2011 21:54:17 +0000 (17:54 -0400)]
Fix typo in tapset documentation

tapset/context.stp - target not 'targer'

13 years agoGenerate better file name for Tapset html
William Cohen [Mon, 2 May 2011 21:39:07 +0000 (17:39 -0400)]
Generate better file name for Tapset html

As a default xmlto uses reXXXX.html for file names for the generated html files.
This has two drawbacks: it is not meaningful to humans and is likely to change
between builds of the tapset reference manual. The added XMLTOHTMLPARAMS
option generate more nmemonic names for the files and generates files that
are less likely to change between builds.

13 years agoUpdate the domain number comment now that one is reserved.
Nathan Scott [Mon, 2 May 2011 07:28:00 +0000 (17:28 +1000)]
Update the domain number comment now that one is reserved.

13 years agoUncomment the seek-to-end-of-log-file code in pmdalogger.
Nathan Scott [Mon, 2 May 2011 07:27:17 +0000 (17:27 +1000)]
Uncomment the seek-to-end-of-log-file code in pmdalogger.

For real world uses, we need to do this so that even moderately
sized log files are not read from start to end whenever the PMDA
starts up - wastes CPU cycles and (re)generates events that may
have happened long ago.

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