Log information which can help determine the cause of a web server child process crash and allow the circumstances of different crashes to be quickly compared in order to determine if the crashes need to be investigated individually.
Version 2.00 is a complete rewrite of earlier modules of the same names which provided similar functionality.
The original versions of the modules were written by me and donated to the Apache HTTP Server Project back in 2004, and committed to the Apache HTTP Server 1.3 source tree. Similar modules for Apache HTTP Server 2.x were not accepted into the 2.x tree but instead have been distributed from http://people.apache.org/~trawick/exception_hook.html for many years. They have also been available from other commercial and non-commercial distributions.
In addition there are a number of implementation differences intended to improve various aspects of the software in less user-visible ways.
mod_whatkilledus generates crash reports when a web server thread crashes. The crash reports include:
mod_backtrace can be used in two ways:
Users of older or non-mainstream Unix-like systems may encounter unanticipated build failures. Binaries are provided for Windows, but Windows users who compile the source themselves may also encounter unanticipated build failures based on the level of SDK or compiler in use. Report any build issues.
Defects or different behaviors in the OS-provided code may differ on levels of the OS which I have not tested, and may require modifications to the software to utilize that OS level effectively. A verification procedure is provided for both mod_whatkilledus and mod_backtrace to ensure that they are functioning properly on your system, and I recommend following that procedure if your system differs from the test platforms described below. Report any operational problems.
|OS, level||Hardware environment||Build tools||Apache httpd builds|
|Windows 7||x86_64||Visual Studio 2010||ASF 32-bit builds of Apache httpd 2.2 and Apachelounge 32-bit builds of Apache httpd 2.4|
|Ubuntu Linux 11.10||x86_64||bundled gcc||gcc 64-bit builds of Apache httpd 2.2 and 2.4|
|Ubuntu Linux 10.04||i686||bundled gcc||gcc 32-bit builds of Apache httpd 2.2 and 2.4|
|Mac OS X 10.6.8||x86_64||bundled gcc||gcc 32-bit and 64-bit builds of Apache httpd 2.2 and 2.4|
|Solaris 10 Update 5||x86_64||Sun Studio||Sun Studio 32-bit and 64-bit builds of Apache httpd 2.2 and 2.4|
|FreeBSD 9||x86_64||bundled gcc||gcc 64-bit builds of Apache httpd 2.2 and 2.4|
Please report other successfully tested platforms so that I can list them here.
I'm not. I haven't tested the modules with 2.0.x, though I don't think there would be significant changes required.
This software is free — there is no cost to use or distribute this software either as-is or after modification to suit your purposes. At the same time, the author provides this software as-is, without any warranty. The license for this software is the Apache License, Version 2.0, and the license contains details about your rights and obligations as a user or distributor of this software. In particular, redistributors must comply with certain reasonable obligations described in the license.
Groups wishing to incorporate this software into their product for redistribution should not rely on my advice but instead should work with their legal counsel to make a final determination. In the event that specific questions need to be discussed with the author, use this contact information.
mod_whatkilledus currently contains a small bit of code from mod_log_forensic as well as the contents of test_char.h, both part of Apache HTTP Server.
Here are some possible work items for the future:
If you'd like to sponsor specific enhancements whether or not they are listed above, please let me know.
Reports of problems or success or other inquiries about the software may be sent to the following e-mail address:
Diagnostic modules in the subject of your
e-mail and provide the following information:
This is a free service, so I may not be able to reply individually; however, any information you are able to provide about problems will be used to improve this software in the future.
If you'd like to sponsor specific enhancements or resolution of specific problems, please let me know.