additional checking related to issue 17186
[asterisk/asterisk.git] / doc / valgrind.txt
1 If you're having certain types of crashes, such as those associated with
2 memory corruption, a bug marshal may ask you to run Asterisk under valgrind.
3 You should follow these steps, to give the bug marshal the maximum amount
4 of information about the crash.
5
6 1.  Run 'make menuselect' and in the Compiler Options, enable MALLOC_DEBUG
7         and DONT_OPTIMIZE.  A bug marshal may also ask you to enable additional
8         compiler flags, such as DEBUG_THREADS, depending upon the nature of the
9         issue.
10
11 2.  Rebuild and install Asterisk.
12
13 3.  Run Asterisk as follows:
14         valgrind --suppressions=/usr/src/asterisk/contrib/valgrind.supp --log-fd=9 asterisk -vvvvcg 9>valgrind.txt
15         
16         Where /usr/src/asterisk/ is location of asterisk source code.
17
18 4.  Reproduce the issue.  Following the manifestation of the issue (or when
19         the process crashes), upload the valgrind.txt to the issue tracker.
20
21 Please note that even if valgrind prevents Asterisk from crashing, the
22 information logged may STILL be of use to developers, so please upload the
23 resulting log file whether Asterisk crashes or not.
24