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