rel 2.0.45. MPM=prefork.Linux=2.4.18 database request done by using a remote shell (rsh) command. When timeout, due to overload of the database engine, the httpd child exits and leaves the remote shell orphan, keeping open the database session (the remote shell is re- attached on PID 1). on error.log, following entry: (70007) The timeout specified has expired: ap_content_length_filter: apr_bucket_read() failed". possible workaround: increase the KeepAliveTimeOut directive.
This is surely not a bug in apr_bucket_read() and doesn't seem related to keepalive either. You have a CGI that invokes rsh? The CGI generates no output within the timeout specified by ServerTimeout directive and Apache cleans up the request and kills the CGI? You can play with ServerTimeout but perhaps what the CGI needs to do is send data to the client intermittently so that everybody knows the request is still alive. Even if Apache timeouts are manipulated, if the CGI isn't necessarily going to generate output for many minutes, proxy timeouts (if applicable) can fire too. I suspect this is a configuration or CGI programming error, but we'll leave it open for the moment. You need to identify which Apache processing you think is inappropriate.
rel 2.0.48 on a lot off perl cgibin. all work with apache 1.3 and some work or not with 2.0 I test and rewrite perl script but I can find where is the bug.
Since this could also be stderr handling issues, please try to reproduce the problems using 2.0.50.
From what I can tell, this is a stderr issue. I noticed that if I redirect my cgi (perl) script stderr output to stdout, the script runs fine: open (STDERR, ">&STDOUT"); So then, I tried to remove the "use warnings" line so that no stderr messages would output without an actual error, and again, it worked fine. Thus, it seems like the problem os not with stdout, as the script runs just fine. Mike
Let's presume this is bug 22030 then - upgrade to 2.0.52 and it should go away. *** This bug has been marked as a duplicate of 22030 ***
This error has been occurring on one of my servers up to 700 times a day. I'm running Apache 2.0.52 on a FC3 box and after reading this thread I looked through the all the Perl scripts for possible reasons and found nothing, no common links between any of them. On trusty google I found a vague reference to Timeout setting in httpd.conf, so I upped mine from 120 to 600 and it's not happening anymore. However, this is really a work-around and not a fix, do you have any ideas? If you would like any more information, it can be supplied.
Harry it's most likely there is no bug here, just a particular CGI script timing out for you. If you apply the following patch and rebuild, mod_cgi will log a warning message giving the path to the CGI script which times out: http://cvs.apache.org/~jorton/mod_cgi_tout.diff [Thu Mar 24 09:21:13 2005] [info] [client x.x.x.x] timeout waiting for CGI script /.../cgi-bin/slow.sh