summaryrefslogtreecommitdiffstats
path: root/debian/README.backtrace
blob: 30822cb3bb684735a57180349816ca1e7962af67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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