mod_whatkilledus and mod_backtrace

What are they for, briefly?

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.

What's new with version 2.00?

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.

Basic differences with mod_whatkilledus and mod_backtrace v2.00 from the original versions

In addition there are a number of implementation differences intended to improve various aspects of the software in less user-visible ways.

Quick start

Download

mod_whatkilledus v2.00 overview

mod_whatkilledus generates crash reports when a web server thread crashes. The crash reports include:

mod_whatkilledus documentation

mod_backtrace v2.00 overview

mod_backtrace can be used in two ways:

mod_backtrace documentation

General caveats with v2.00

Building from source

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.

Runtime behavior

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.

Test platforms

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.

Special testing notes

Are you still using Apache httpd 2.0.x?

I'm not. I haven't tested the modules with 2.0.x, though I don't think there would be significant changes required.

Cost of use or distribution

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.

Credit

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.

Future plans

Here are some possible work items for the future:

Windows

Unix

General

Desired changes to Apache httpd

If you'd like to sponsor specific enhancements whether or not they are listed above, please let me know.

Contact

Reports of problems or success or other inquiries about the software may be sent to the following e-mail address:

Jeff Trawick
info@emptyhammock.com

Please include 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.