diff options
Diffstat (limited to 'debian/README.backtrace')
-rw-r--r-- | debian/README.backtrace | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/debian/README.backtrace b/debian/README.backtrace new file mode 100644 index 0000000..30822cb --- /dev/null +++ b/debian/README.backtrace @@ -0,0 +1,53 @@ +If apache crashes or freezes, it is helpful if you include a backtrace in the +bug report. + + + +In case of a crash, do the following: + +1) Install the packages apache2-bin-dbgsym libapr1-dbgsym libaprutil1-dbgsym gdb. + +2) Add "CoreDumpDirectory /var/cache/apache2/core" to your apache configuration. + +3) Execute as root: + mkdir -p /var/cache/apache2/core + chown www-data: /var/cache/apache2/core + /etc/init.d/apache2 stop + ulimit -c unlimited + /etc/init.d/apache2 start + +4) Do whatever it takes to reproduce the crash. There should now be the file +/var/cache/apache2/core . + +5) If you use a forking MPM (e.g. mod_prefork), execute: + + gdb /usr/sbin/apache2 /var/cache/apache2/core/core + (gdb) bt full + ... + (gdb) quit + +If you use a threaded mpm (mod_worker, mod_event), execute: + + gdb /usr/sbin/apache2 /var/cache/apache2/core/core + (gdb) thread apply all bt full + ... + (gdb) quit + +Include the backtrace in the bug report. + +6) Undo the change to your configuration, uninstall the debug packages, remove +/var/cache/apache2/core + + + +In case of a hanging process, you don't need a core dump and you can skip steps 2 and 3. + +4) Reproduce the problem. Get the pid of a hanging process. + +5) Start gdb with + + gdb -p pid + +and continue as described above. It may also be helpful to include the output of + + strace -p pid |