[asterisk-commits] rmudgett: branch 1.8 r350127 - /branches/1.8/contrib/scripts/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jan 9 12:40:37 CST 2012


Author: rmudgett
Date: Mon Jan  9 12:40:33 2012
New Revision: 350127

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=350127
Log:
Update contrib script live_ast to invoke Asterisk with valgrind and suppression file.

* Added valgrind_compare script to compare two valgrind log files for
differences.

(issue ASTERISK-17339)
Reported by: Tzafrir Cohen
Patches:
      valgrind_compare (license #5035) script uploaded by Tzafrir Cohen
      live_ast_valgrind.diff (license #5035) patch uploaded by Tzafrir Cohen
      live_ast_valgrind_v2.diff (license #5185) patch uploaded by Paul Belanger

Added:
    branches/1.8/contrib/scripts/valgrind_compare   (with props)
Modified:
    branches/1.8/contrib/scripts/live_ast

Modified: branches/1.8/contrib/scripts/live_ast
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/contrib/scripts/live_ast?view=diff&rev=350127&r1=350126&r2=350127
==============================================================================
--- branches/1.8/contrib/scripts/live_ast (original)
+++ branches/1.8/contrib/scripts/live_ast Mon Jan  9 12:40:33 2012
@@ -98,6 +98,10 @@
 # live_ast will edit makeopts to use that second copy after ./configure
 # is run.
 #LIVE_AST_BRISTUFFED_LIBPRI=yes
+#
+# LIVE_AST_VALGRIND_ARGS
+# Extra parameters to be passed to valgrind in the 'valgrind' subcommand.
+#LIVE_AST_VALGRIND_ARGS="-v --leak-check=full --suppressions=$PWD/contrib/valgrind.supp"
 #
 # LIVE_AST_FOR_SYSTEM
 # When generating asterisk.conf, use most components from the installed 
@@ -235,6 +239,10 @@
   set_ld_env
   $AST_BIN -C $AST_CONF "$@"
   ;;
+valgrind)
+  set_ld_env
+  valgrind $LIVE_AST_VALGRIND_ARGS --log-fd=9 -- $AST_BIN -C $AST_CONF "$@" 9>$PWD/live/valgrind.txt
+  ;;
 rsync)
   remote_host="$1"
   remote_dir="$2"
@@ -261,6 +269,7 @@
   echo "$0 install              make install"
   echo "$0 samples              make samples"
   echo "$0 run [params]         asterisk [params]"
+  echo "$0 valgrind [params]    valgrind -- asterisk [params]"
   echo "$0 gdb                  gdb asterisk"
   echo "$0 rsync [user@]host dir  copy files over to [user@]host:dir"
   echo "$0 gen-live-asterisk    regenerate the wrapper ./live/asterisk"

Added: branches/1.8/contrib/scripts/valgrind_compare
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/contrib/scripts/valgrind_compare?view=auto&rev=350127
==============================================================================
--- branches/1.8/contrib/scripts/valgrind_compare (added)
+++ branches/1.8/contrib/scripts/valgrind_compare Mon Jan  9 12:40:33 2012
@@ -1,0 +1,21 @@
+#!/bin/bash
+
+# compare_valgrind: diff two valgrinf memory usage logs. Masks out PIDs,
+# addresses and such that should normally be different.
+#
+# Usage: ./compare_valgrind file1.log file2.log | less
+#
+# (Requires /bin/bash due to usage of '<()' )
+
+log1="$1"
+log2="$2"
+
+pipe_log() {
+	sed \
+		-e 's/^--[0-9]\+-- //' -e 's/^==[0-9]\+== //' "$1" \
+		-e 's/ record [0-9]\+ of [0-9]\+$/ <snipped>/' \
+		-e 's/^ Address 0x[0-9a-f]\+/ Address 0x<snipped>/' \
+
+}
+
+diff -u -L "$log1" <(pipe_log "$log1") -L "$log2" <(pipe_log "$log2")

Propchange: branches/1.8/contrib/scripts/valgrind_compare
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: branches/1.8/contrib/scripts/valgrind_compare
------------------------------------------------------------------------------
    svn:executable = *

Propchange: branches/1.8/contrib/scripts/valgrind_compare
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: branches/1.8/contrib/scripts/valgrind_compare
------------------------------------------------------------------------------
    svn:mime-type = text/plain




More information about the asterisk-commits mailing list