On Mon, 9 Apr 2001, Graham Leggett wrote:

> Hi all,
>
> The HTTP proxy uses the HTTP_IN filter to read from the network. The
> proxy code seems to be working fine, however about 10% to 20% of
> requests fail with this error:
>
>   [error] (9)Bad file descriptor: apr_bucket_read
>
> The error occurs part of the way through a read from the remote server,
> and sometimes results in a partially loaded graphic or page, or
> sometimes no graphic or page at all.
>
> The error is generated by this piece of code in ap_http_filter():
>
>   e = APR_BRIGADE_FIRST(ctx->b);
>   if ((rv = apr_bucket_read(e, &ignore, &len, mode)) != APR_SUCCESS) {
>       /* probably APR_IS_EAGAIN(rv); socket state isn't correct;
>         * remove log once we get this squared away */
>       ap_log_error(APLOG_MARK, APLOG_ERR, rv, f->c->base_server,
>                    "apr_bucket_read");
>       return rv;
>   }
>
> The HTTP_IN filter is normally used for reading client requests off of
> the network. In theory, if this error exists in HTTP_IN it means that
> about 10% to 20% of client POST requests are likely to fail.
>
> Does this error ring any bells with anyone?

Sounds like your apr_socket_t is created with the wrong pool.  If you are
dealing with keepalives, then you need to be sure that the socket is
created with the correct pool.

Ryan


_______________________________________________________________________________
Ryan Bloom                              [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------

Reply via email to