forked from trawick/httpd-hook-probes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
44 lines (31 loc) · 2.03 KB
/
README
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
Any questions or problems?
Please e-mail me at [email protected], and include "mod_hook_ar" in the subject
line.
How to build:
1. set (or add to) CPPFLAGS=-I/path/to/this-directory
2. Add these arguments to the httpd configure invocation:
--enable-exception-hook --enable-hook-probes --with-module=debugging:/path/to/mod_hook_ar.c
3. build mod_crashstate with apxs:
/path/to/apxs -ci mod_crashstate.c
With the current implementation, with a 64-bit build you may see a lot of httpd compile
warnings about conversion from int to different-sized pointer and a small number of
warnings about the reverse. This is regrettable to say the least, but no processing
is performed on hooks where this would be a problem. I plan to write a code generation tool
to allow a module to specify which hooks or categories of hooks are interesting, and then
generate typesafe code for that.
How to configure:
1. Logging request failer in access log: add %{RequestFailer}n to access log format
2. Logging active module in error log at time of crash:
Load mod_crashstate with this directive:
LoadModule crashstate_module modules/mod_crashstate.so
(Hopefully a future version of mod_whatkilledus will provide the crash state API so
that mod_crashstate is not needed.)
Examples of error and access log entries:
[Mon Oct 01 08:17:25.824719 2012] [crashstate:notice] [pid 30568:tid 140369329334016] Crash state: mod_crash.c/handler
[Mon Oct 01 08:17:26.674433 2012] [core:notice] [pid 30566:tid 140369606629152] AH00052: child pid 30568 exit signal Segmentation fault (11)
(The second error log entry above is logged automatically when the httpd parent process
finds out that the child process exited.)
192.168.1.208 - - [01/Oct/2012:08:09:27 -0400] "GET /crash/ HTTP/1.1" 403 208 mod_access_compat.c/403/access_checker
192.168.1.208 - - [01/Oct/2012:08:09:27 -0400] "GET /favicon.ico HTTP/1.1" 404 209 core.c/404/handler
127.0.0.1 - - [01/Oct/2012:08:46:25 -0400] "GET /" 200 45 -
(The third error log entry logs "-" for the request failer since no error occurred.)