Hi everyone,

We have Apache 2.2.21 running on Windows Server 2003, serving requests to a few 
Apache Tomcat servers running in other machines, using AJP.

When the system is started, all is well, and we see a new child created every 
15 minutes. At a certain point in time, the child process is not replaced 
anymore. Following this, about an hour or so later, Error messages regarding 
AJP start.

In the logs, it looks like this:

[Sun Feb 12 09:58:18 2012] [notice] Child 10508: Process exiting because it 
reached MaxRequestsPerChild. Signaling the parent to restart a new child 
process.
[Sun Feb 12 09:58:18 2012] [notice] Parent: Received restart signal -- 
Restarting the server.
[Sun Feb 12 09:58:18 2012] [notice] Digest: generating secret for digest 
authentication ...
[Sun Feb 12 09:58:18 2012] [notice] Digest: done
[Sun Feb 12 09:58:18 2012] [notice] Apache/2.2.21 (Win32) mod_ssl/2.2.21 
OpenSSL/0.9.8r configured -- resuming normal operations
[Sun Feb 12 09:58:18 2012] [notice] Server built: Sep  9 2011 10:26:10
[Sun Feb 12 09:58:18 2012] [notice] Parent: Created child process 8816
[Sun Feb 12 09:58:19 2012] [notice] Digest: generating secret for digest 
authentication ...
[Sun Feb 12 09:58:19 2012] [notice] Digest: done
[Sun Feb 12 09:58:19 2012] [notice] Child 10508: Released the start mutex
[Sun Feb 12 09:58:19 2012] [notice] Child 8816: Child process is running
[Sun Feb 12 09:58:19 2012] [notice] Child 8816: Acquired the start mutex.
[Sun Feb 12 09:58:19 2012] [notice] Child 8816: Starting 500 worker threads.
[Sun Feb 12 09:58:19 2012] [notice] Child 8816: Starting thread to listen on 
port 443.
[Sun Feb 12 09:58:19 2012] [notice] Child 8816: Starting thread to listen on 
port 80.
[Sun Feb 12 09:58:52 2012] [notice] Child 10508: Waiting 270 more seconds for 2 
worker threads to finish.
[Sun Feb 12 09:59:25 2012] [notice] Child 10508: Waiting 240 more seconds for 2 
worker threads to finish.
[Sun Feb 12 09:59:58 2012] [notice] Child 10508: Waiting 210 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:00:31 2012] [notice] Child 10508: Waiting 180 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:01:04 2012] [notice] Child 10508: Waiting 150 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:01:36 2012] [notice] Child 10508: Waiting 120 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:02:09 2012] [notice] Child 10508: Waiting 90 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:02:42 2012] [notice] Child 10508: Waiting 60 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:03:15 2012] [notice] Child 10508: Waiting 30 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:03:48 2012] [notice] Child 10508: Waiting 0 more seconds for 2 
worker threads to finish.
[Sun Feb 12 10:03:48 2012] [notice] Child 10508: Terminating 2 threads that 
failed to exit.
[Sun Feb 12 10:03:48 2012] [notice] Child 10508: All worker threads have exited.
[Sun Feb 12 10:03:48 2012] [notice] Child 10508: Child process is exiting
[Sun Feb 12 11:18:43 2012] [error] [client 76.21.221.29] error parsing URL //: 
Invalid host/port
[Sun Feb 12 11:30:02 2012] [error] (OS 10054)An existing connection was 
forcibly closed by the remote host.  : ajp_ilink_receive() can't receive header
[Sun Feb 12 11:30:02 2012] [error] ajp_read_header: ajp_ilink_receive failed
[Sun Feb 12 11:30:02 2012] [error] (120006)APR does not understand this error 
code: proxy: read response failed from 192.168.248.10:8009
[Sun Feb 12 11:33:23 2012] [error] (OS 10054)An existing connection was 
forcibly closed by the remote host.  : ajp_ilink_receive() can't receive header
[Sun Feb 12 11:33:23 2012] [error] ajp_read_header: ajp_ilink_receive failed
[Sun Feb 12 11:33:23 2012] [error] (120006)APR does not understand this error 
code: proxy: read response failed from 192.168.248.10:8009
[Sun Feb 12 11:33:42 2012] [error] (OS 10054)An existing connection was 
forcibly closed by the remote host.  : ajp_ilink_receive() can't receive header
[Sun Feb 12 11:33:42 2012] [error] ajp_read_header: ajp_ilink_receive failed
[Sun Feb 12 11:33:42 2012] [error] (120006)APR does not understand this error 
code: proxy: read response failed from 192.168.248.10:8009
[Sun Feb 12 12:13:18 2012] [error] (OS 10054)An existing connection was 
forcibly closed by the remote host.  : ajp_ilink_receive() can't receive header

I suspect that for some reason, the fact that the older child is waiting for 
threads to finish and eventually terminates threads, may cause it - I saw 3 
instances of this problem, all with the termination of threads. There are other 
replacements that wait for threads to finish, but without having to terminate a 
thread, and then the problem does not occur.

Our relevant configuration is:

ThreadLimit 500
ThreadsPerChild 500
MaxRequestsPerChild 500
KeepAlive On
MaxKeepAliveRequests 500
KeepAliveTimeout 60

Can anyone help?

Thanks,
Moshe Ben Shoham
Perfecto Mobile


The information contained in this message is proprietary to the sender, 
protected from disclosure, and may be privileged. The information is intended 
to be conveyed only to the designated recipient(s) of the message. If the 
reader of this message is not the intended recipient, you are hereby notified 
that any dissemination, use, distribution or copying of this communication is 
strictly prohibited and may be unlawful. If you have received this 
communication in error, please notify us immediately by replying to the message 
and deleting it from your computer. Thank you.


Reply via email to