]> sourceware.org Git - systemtap.git/log
systemtap.git
13 years agoMerge branch 'master' of http://sourceware.org/git/systemtap
Lukas Berk [Tue, 31 May 2011 18:45:42 +0000 (14:45 -0400)]
Merge branch 'master' of http://sourceware.org/git/systemtap

13 years agoMention LANG env variable for remote usage in stap.1 man page
Lukas Berk [Tue, 31 May 2011 18:43:14 +0000 (14:43 -0400)]
Mention LANG env variable for remote usage in stap.1 man page

13 years agoprepare for linux 2.6->3.0 naming evolution
Frank Ch. Eigler [Mon, 30 May 2011 13:30:28 +0000 (09:30 -0400)]
prepare for linux 2.6->3.0 naming evolution

We mention linux 2.6 in a few places, but that's about
to become obsolete.

13 years agovta-test.exp: Check for default, not -default.
Mark Wielaard [Mon, 30 May 2011 10:16:57 +0000 (12:16 +0200)]
vta-test.exp: Check for default, not -default.

13 years agoImprove the chances of using the same port when the compile server is restarted.
Dave Brolley [Fri, 27 May 2011 19:29:26 +0000 (15:29 -0400)]
Improve the chances of using the same port when the compile server is restarted.

1) Keep the socket open when the server takes itself down internally in order
   to regenerate its certificate.
2) Use PR_SocketOpt_reuseaddr so that a specified port can be reused when the
   server is externally halted and restarted.

13 years agoSuppress informational message about empty certificate database unless verbose > 1.
Dave Brolley [Fri, 27 May 2011 15:53:23 +0000 (11:53 -0400)]
Suppress informational message about empty certificate database unless verbose > 1.

13 years agoFix executable path to postgres controller.
Stan Cox [Thu, 26 May 2011 19:06:40 +0000 (15:06 -0400)]
Fix executable path to postgres controller.

* postgres.exp (stap-postgres.sh):  Fix pg_ctl path.

13 years agoComment why timer.profile isn't unprivileged
Josh Stone [Wed, 25 May 2011 22:20:29 +0000 (15:20 -0700)]
Comment why timer.profile isn't unprivileged

13 years agoPR12743 stap -L 'process("PATH").syscall' now reports context variables
Lukas Berk [Wed, 25 May 2011 20:51:17 +0000 (16:51 -0400)]
PR12743 stap -L 'process("PATH").syscall' now reports context variables
NEWS - added news comment
tapset-utrace.cxx - added utrace_derived_probe::getargs to push
                    back the context variables to be listed

13 years agoalso bump version for staprun autoconf
Frank Ch. Eigler [Wed, 25 May 2011 12:56:38 +0000 (08:56 -0400)]
also bump version for staprun autoconf

13 years agoregen example indexes
Frank Ch. Eigler [Tue, 24 May 2011 20:19:43 +0000 (16:19 -0400)]
regen example indexes

13 years agoprepare for sources.redhat.com retirement
Frank Ch. Eigler [Tue, 24 May 2011 20:17:04 +0000 (16:17 -0400)]
prepare for sources.redhat.com retirement

Replace it with sourceware.org throughout docs.

13 years agobump version numbers to 1.6, for future release cycle
Stan Cox [Tue, 24 May 2011 19:49:48 +0000 (15:49 -0400)]
bump version numbers to 1.6, for future release cycle

13 years agostap-serverd: Manage avahi client more gracefully.
Dave Brolley [Fri, 20 May 2011 19:30:11 +0000 (15:30 -0400)]
stap-serverd: Manage avahi client more gracefully.

- Use avahi_threaded_poll instead of our own ahavi thread.
- Easier to start/stop/restart using avahi API functions.

13 years agodocument function::system()
Frank Ch. Eigler [Tue, 24 May 2011 14:55:29 +0000 (10:55 -0400)]
document function::system()

13 years agoMerge branch 'master' of ssh://sources.redhat.com/git/systemtap
David Smith [Mon, 23 May 2011 21:24:59 +0000 (16:24 -0500)]
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap

13 years agoAvoid some bad testsuite fails becase of unhandled child exit status warnings.
David Smith [Mon, 23 May 2011 21:24:17 +0000 (16:24 -0500)]
Avoid some bad testsuite fails becase of unhandled child exit status warnings.

* testsuite/systemtap.base/target_set.exp: Handle warning about child
  process exiting with a bad status.
* testsuite/systemtap.context/uprobe_stmt_num.exp: Ditto.
* testsuite/systemtap.context/uprobe_uaddr.exp: Ditto.
* testsuite/systemtap.context/usymbols.c: Explicitly exit with a status of
  0 (to avoid warnings about bad child exit status).

13 years agoFix typo. release-1.5
Stan Cox [Mon, 23 May 2011 19:21:36 +0000 (15:21 -0400)]
Fix typo.

13 years agodatestamp release
Stan Cox [Mon, 23 May 2011 18:51:31 +0000 (14:51 -0400)]
datestamp release

13 years agoPR12770: In loc2c, discontiguify based on total_bytes
Josh Stone [Sat, 21 May 2011 01:41:39 +0000 (18:41 -0700)]
PR12770: In loc2c, discontiguify based on total_bytes

The total_bytes number is the part that really matters in determining
whether a given dereference is greater than native size.  In particular,
using loc->byte_size from a loc_address was telling us that 4 bytes is
ok (sizeof pointer), even though the pointee was 8 total_bytes.

* loc2c.c (discontiguify::pieces_small_enough): Compare total_bytes to
  the platform word size to decide whether to split into pieces.
  (discontiguify): For loc_constant, we have nothing to do as they're
  always copied byte-wise, but we should truncate the constant block to
  total_bytes.

13 years agoAUTHORS bump
Josh Stone [Fri, 20 May 2011 23:41:17 +0000 (16:41 -0700)]
AUTHORS bump

13 years agoLet the @sum of an empty aggregate be 0
Josh Stone [Fri, 20 May 2011 23:29:21 +0000 (16:29 -0700)]
Let the @sum of an empty aggregate be 0

It's handy to have a defined meaning for the @sum of empty aggregate, so
one doesn't need to check for @count > 0 every time.  For example, now a
pattern like "x += y; ... println(x)" can be more directly converted to
aggregates with "x <<< y; ... println(@sum(x))".

* translate.cxx (c_unparser::visit_stat_op): Let the @sum be read even
  on empty aggregates, but leaving the old behavior for compatibility.
* testsuite/systemtap.maps/absentstats.exp: Check that both @count and
  @sum are allowed by default, and only @count for stap <= 1.4.
* testsuite/systemtap.maps/ix_clear*.stp: Use @min for empty failure.

13 years agoFixed source_context.stp test.
David Smith [Fri, 20 May 2011 22:17:58 +0000 (17:17 -0500)]
Fixed source_context.stp test.

* testsuite/semko/source_context.stp: Moved from parseko, since this is a
  pass 2 test, not a pass 1 test.  It was sucessfully failing before, but
  only because the shell was trying to execute it instead of systemtap.

13 years agoFix 'non-executable-script' and 'script-without-shebang' rpmlint errors.
David Smith [Fri, 20 May 2011 22:12:48 +0000 (17:12 -0500)]
Fix 'non-executable-script' and 'script-without-shebang' rpmlint errors.

* testsuite/systemtap.base/bz5274.exp: Fixed 'script-without-shebang'
  rpmlint error by making the file non-executable.
* testsuite/systemtap.base/foreach_value.stp: Ditto.
* testsuite/systemtap.maps/elision.exp: Ditto.
* testsuite/systemtap.maps/exists.exp: Ditto.
* testsuite/systemtap.maps/foreach_fail.stp: Ditto.
* testsuite/systemtap.maps/foreach_foreach.stp: Ditto.
* testsuite/systemtap.maps/foreach_limit2.stp: Ditto.
* testsuite/systemtap.maps/ii.stp: Ditto.
* testsuite/systemtap.maps/iiiiii.stp: Ditto.
* testsuite/systemtap.maps/is.stp: Ditto.
* testsuite/systemtap.maps/ix.stp: Ditto.
* testsuite/systemtap.maps/ix_clear.stp: Ditto.
* testsuite/systemtap.maps/ix_clear2.stp: Ditto.
* testsuite/systemtap.maps/ix_clear3.stp: Ditto.
* testsuite/systemtap.maps/ix_hist.stp: Ditto.
* testsuite/systemtap.maps/pmap_agg_overflow.stp: Ditto.
* testsuite/systemtap.maps/si.stp: Ditto.
* testsuite/systemtap.maps/ss.stp: Ditto.
* testsuite/systemtap.samples/examples.exp: Ditto.
* testsuite/systemtap.syscall/nd_sys.stp: Ditto.
* testsuite/systemtap.syscall/sys.stp: Ditto.
* testsuite/systemtap.syscall/test.stp: Ditto.
* testsuite/systemtap.apps/stap-tcl.sh: Fix 'non-executable-script'
  rpmlint error by making the script exectuable.
* testsuite/systemtap.base/bz10294.stp: Ditto.
* testsuite/systemtap.base/bz6905.stp: Ditto.
* testsuite/systemtap.base/optionalprobe.stp: Ditto.
* testsuite/systemtap.base/system_func.stp: Ditto.
* testsuite/systemtap.base/x86_gs.stp: Ditto.
* testsuite/systemtap.context/symbols.stp: Ditto.
* testsuite/systemtap.examples/examples-index-gen.pl: Ditto.
* testsuite/systemtap.examples/general/eventcount.stp: Ditto.
* testsuite/systemtap.examples/memory/overcommit.stp: Ditto.
* testsuite/systemtap.examples/memory/vm.tracepoints.stp: Ditto.
* testsuite/systemtap.examples/network/tcp_init_cwnd.stp: Ditto.
* testsuite/systemtap.examples/profiling/graphcall.stp: Ditto.
* testsuite/systemtap.samples/tcptest.stp: Ditto.
* testsuite/systemtap.stress/conversions.stp: Ditto.

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.

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