aboutsummaryrefslogtreecommitdiffstats
path: root/doc/valgrind.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/valgrind.txt')
-rw-r--r--doc/valgrind.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/valgrind.txt b/doc/valgrind.txt
new file mode 100644
index 000000000..b4a69e216
--- /dev/null
+++ b/doc/valgrind.txt
@@ -0,0 +1,30 @@
+If you're having certain types of crashes, such as those associated with
+memory corruption, a bug marshal may ask you to run Asterisk under valgrind.
+You should follow these steps, to give the bug marshal the maximum amount
+of information about the crash.
+
+1. Run 'make menuselect' and in the Compiler Options, enable MALLOC_DEBUG
+ and DONT_OPTIMIZE. A bug marshal may also ask you to enable additional
+ compiler flags, such as DEBUG_THREADS, depending upon the nature of the
+ issue.
+
+2. Rebuild and install Asterisk.
+
+3. Run Asterisk as follows:
+ valgrind --log-file-exactly=valgrind.txt asterisk -vvvvcg 2>malloc_debug.txt
+
+ UPDATE: The newest version of valgrind has eliminated the
+ --log-file-exactly option. If you are running valgrind 3.3.0 or higher,
+ just use the --log-file option, keeping in mind that Valgrind will append
+ a trailing suffix onto valgrind.txt.
+
+4. Reproduce the issue. Following the manifestation of the issue (or when
+ the process crashes), upload the two files, valgrind.txt and
+ malloc_debug.txt to the issue tracker. If you are using the --log-file
+ option, note that valgrind.txt will have a trailing suffix. That's fine,
+ just upload that file.
+
+Please note that even if valgrind prevents Asterisk from crashing, the
+information logged may STILL be of use to developers, so please upload the
+resulting log file whether Asterisk crashes or not.
+