Hi,

There is production server using 3d party module which implement gate from web to database runtime engine
(Intersystems cache).

There are different implementation

1st using apache module api mod_csp22.so.
2nd using cgi interface nph-CSPcgi

The problem mod_csp22.so usage
ap_get_brigade() returns occasionally status

104 APR_ECONNRESET
70007 APR_TIMEUP
70014 APR_EOF

for the only one url POST /csp/shanscsp/PPS/%25CSP.Broker.cls HTTP/1.1
and https protocol.

these errors result in impossible production site usage.

In order to avoid influence 3dparty module to apache and separate address space apache and 3d party module
I tried cgi version of the module.

mod_csp22.so has similar idiom to read data from apache as mod_cgi.c
beside it reports ap_get_failure() (currenlty it has been modified and it reports error
in special log of module)

mod_cgi.c reports ap_get_brigade() failure with the same sets of error (104, 70007, 70014).

    bb = apr_brigade_create(r->pool, c->bucket_alloc);
    seen_eos = 0;
    child_stopped_reading = 0;
    if (conf->logname) {
        dbuf = apr_palloc(r->pool, conf->bufbytes + 1);
        dbpos = 0;
    }
    do {
        apr_bucket *bucket;

        rv = ap_get_brigade(r->input_filters, bb, AP_MODE_READBYTES,
                            APR_BLOCK_READ, HUGE_STRING_LEN);

        if (rv != APR_SUCCESS) {
            ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
                          "Error reading request entity data");
            return HTTP_INTERNAL_SERVER_ERROR;
        }

url are different, protocol https.

I have one ~400mb error_ssl_log with level LogLevel debug
(it was set during less than one hour at time of low server payload)
and it has messages with ap_status
70007
70014

104 also would appear if apache config would work longer.
it did appear - apache worked longer in cgi config and  log_level was warn.
Generally nph-CSPcgi config was less stable as mod_csp22.so - config was switched to use mod_csp22.so back.


example of incindent
ssl_request_log
93.178.98.180 - - [11/Feb/2010:01:54:11 +0100] "POST /csp/shanscsp/PPS/%25CSP.Broker.cls HTTP/1.1" 500 615 400 "https://XXX/csp/shanscsp/PPS/bukmenu.csp"; "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
error_ssl_log
grep -n '93\.178\.98\.180' error_ssl_log  excerpt
20647:[Thu Feb 11 01:54:11 2010] [info] Connection: Client IP: 93.178.98.180, Protocol: SSLv3, Cipher: RC4-MD5 (128/128 bits) 151685:[Thu Feb 11 02:00:51 2010] [info] [client 93.178.98.180] (70007)The timeout specified has expired: SSL input filter read failed. 151686:[Thu Feb 11 02:00:51 2010] [error] [client 93.178.98.180] (70007)The timeout specified has expired: Error reading request entity data, referer: https://XXX/csp/shanscsp/PPS/bukmenu.csp 151688:[Thu Feb 11 02:00:51 2010] [info] [client 93.178.98.180] Connection closed to child 13 with standard shutdown (server XXX:443)


The problem is reproduced for httpd of rhel5.0  (httpd-2.2.3-31.el5_4.2)
and for 2.2.14 built from the source.

How to deal with issue further?

Is it apache bug or ... real network error.

Thank in advance.

--Nick Zhokhov

Reply via email to