summaryrefslogtreecommitdiffstats
path: root/debian/README.backtrace
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/README.backtrace53
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