Archive for 'Apache'

Apache: restart != graceful

While chatting with a friend last week, he mentioned that he uses the apachectl restart option to get Apache to reread configuration files. This works, but it forcefully terminates all children (even ones processing requests), and can lead to user sessions getting blotched. As of Apache 1.3, you can now use the apachectl graceful option [...]

Watching hook processing order

While perusing through the Apache source code, I came across this nifty little nugget of code in config.c: if (getenv(“SHOW_HOOKS”)) { printf(“Registering hooks for %s\n”, m->name); apr_hook_debug_enabled = 1; } The getenv() call will check for an environment variable names SHOW_HOOKS. If the variable is set, Apache will display the hook processing order on stdout: [...]

Apache logging options

If you use Apache version 2.X, I would recon you are using mod_log_config to log request information to the access_log (if you are not using mod_log_config, I assume you are a busy site that has disable logging to boost performance). This is a nifty module, and after reading the source (the source for mod_log_config is [...]

Root causing a bug in the Solaris display_stack_info() function

I recently came across the Apache backtrace module, and thought it would be fun to get the module working with Solaris since it only supported Linux and FreeBSD. Since Solaris provides the printstack() function to view stack frames up to a specific point in time, I thought I would be able to add the following [...]

Getting Apache backtraces with mod-backtrace

While perusing the web last week I came across Jeff Trawick’s mod-backtrace module. This module can be used to print a stack backtrace each time Apache receives a critical signal (e.g., SIGSEGV, SIGBUS, etc.), and can be an invaluable resource for locating modules that are misbehaving. Since the module only worked with Linux and FreeBSD, [...]

I attached myself to myself

I came across my new favorite error message last night while debugging some issues with the Solaris printstack() function: $ gdb -q /var/tmp/apache2/bin/httpd (gdb) shell ps -ef | grep gdb matty 9216 8963 1 20:30:34 pts/1 0:00 gdb -q /var/tmp/apache2/bin/httpd matty 9217 9216 0 20:30:41 pts/1 0:00 bash -c ps -ef | grep gdb (gdb) [...]

« Older Entries   Recent Entries »