mod_proxy_html is filling error_log

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am trying to deploy mod_proxy_html-2.5.2 with a httpd 2.2.3 but it fills my 
error_log with messages like:

[Thu Apr 19 08:42:50 2007] [error] [client 192.168.254.25] Error in bucket 
read

The reason for this message lies in the following part of the code, I think.

    if ( APR_BUCKET_IS_EOS(b) ) {
...
    } else if ( ! APR_BUCKET_IS_METADATA(b) &&
		apr_bucket_read(b, &buf, &bytes, APR_BLOCK_READ)
              == APR_SUCCESS ) {
...
    } else {
      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Error in bucket read") ;
    }

The "else if" fails if APR_BUCKET_IS_METADATA(b) is true or if there was an 
error in bucket read. So, I think there are metadata buckets that cause the 
ap_log_error.

The development version of mod_proxy_html reads a bit different:

    if ( APR_BUCKET_IS_EOS(b) ) {
...
    } else if ( apr_bucket_read(b, &buf, &bytes, APR_BLOCK_READ)
	      == APR_SUCCESS ) {
...
    } else {
      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Error in bucket read") ;
    }

So, what is appropriate for 2.5.2? Is it

a) like 3.0 or rather

b)
    if ( APR_BUCKET_IS_EOS(b) ) {
...
    } else if ( APR_BUCKET_IS_METADATA(b) ) {
      /* do something special for metadata buckets */
    } else if ( apr_bucket_read(b, &buf, &bytes, APR_BLOCK_READ)
              == APR_SUCCESS ) {
...
    } else {
      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Error in bucket read") ;
    }

or is it

c)
    if ( APR_BUCKET_IS_EOS(b) ) {
...
    } else if ( ! APR_BUCKET_IS_METADATA(b) &&
		apr_bucket_read(b, &buf, &bytes, APR_BLOCK_READ)
              == APR_SUCCESS ) {
...
    } else if ( ! APR_BUCKET_IS_METADATA(b) ) {
      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Error in bucket read") ;
    }

In case a) metadata buckets are handled by the same code as normal buckets. In 
case b) they get special treatment and in case c) they are simply lost.

What is right?

If b), what kind of handling is needed?

Thanks,
Torsten Förtsch

Attachment: pgpQoc6TVHZdl.pgp
Description: PGP signature


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux