Bug 19315 - error 70007 apr_bucket_read() failed
Summary: error 70007 apr_bucket_read() failed
Status: RESOLVED INVALID
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_cgi (show other bugs)
Version: 2.0.45
Hardware: PC Linux
: P3 major with 1 vote (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-04-25 10:57 UTC by Francois Maisonneuve
Modified: 2005-03-24 01:27 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Maisonneuve 2003-04-25 10:57:45 UTC
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.
Comment 1 Jeff Trawick 2003-05-18 15:21:34 UTC
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.
Comment 2 pierre-yves perrin 2004-05-18 06:25:50 UTC
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.
Comment 3 Joe Orton 2004-07-13 19:42:56 UTC
Since this could also be stderr handling issues, please try to reproduce the
problems using 2.0.50.
Comment 4 Mike Heller 2004-10-01 16:42:59 UTC
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
Comment 5 Joe Orton 2004-10-01 18:11:54 UTC
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 ***
Comment 6 Harry Webster 2005-03-24 09:29:58 UTC
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.
Comment 7 Joe Orton 2005-03-24 10:27:50 UTC
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