httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Meyers" <>
Subject [users@httpd] Weird problem with Apache hanging on semop
Date Tue, 12 Apr 2005 18:08:13 GMT
I'm having a problem with Apache, and I'd like some help with debugging it, if possible.  It
happens about once every day or two on a fairly well-used server.  We're running Apache 1.3.33
with PHP 4.3.11 and mod_ssl.  This only started happening after upgrading to PHP 4.3.11, but
the symptoms I've noticed seem to suggest that PHP is not to blame.

We tried doing an strace on each Apache process after it hung.  Every single process (except
the master, of course) is waiting on an identical semop() call, like this:

semop(1507328, 0x83ab414, 1

When we check the semaphore value using "ipcs -s -i 1507328", it tells us that the current
value is 0.  So everybody's waiting for the semaphore, but nobody wants to increment it.

My understanding of how the Apache children work is this:

1. Wait for semaphore
2. Listen (and wait) for incoming connection
3. Increment semaphore
4. Process connection
5. Close connection
6. Start all over again

That's why I can't see why any modules I've compiled in could possibly affect the semaphore
status.  The problem appears to be between steps 1 and 3, before the request is even processed.

Another intersting tidbit: this only happens on our two SSL-enabled servers.  It doesn't happen
at all on our non-SSL web servers.  However, they also handle different types of requests,
so that could be unrelated.  Also, there are no errors in the error log right before it hung,
other this (a fairly typical error log message):

[Tue Apr 12 09:27:46 2005] [error] [client] Request content-length of 1802806
is larger than the configured limit of 1000000

I know that I don't have enough information for someone to tell me exactly what the problem
is.  What I'm hoping for is some help in knowing what to do next in debugging the problem,
and perhaps some ideas on how to reproduce it.  If we can reliably reproduce it, then we can
start removing modules, etc to narrow it down.

The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:> for more info.
To unsubscribe, e-mail:
   "   from the digest:
For additional commands, e-mail:

View raw message