You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "HISEY, JAMES" <jh...@att.com> on 2019/08/21 15:58:03 UTC

[users@httpd] Apache/2.4.26 (Unix) undocumented error AH02651

Running Apache 2.4.26 on RHEL7, I'm receiving an error in my apache error log of AH02651: Error writing request body to script...<perl script here>.  I am unable to locate a meaningful description of AH02651 anywhere as all error lists I can find stop in the lower 2000's. It appears to happen when the POSTDATA is large.  A 9k POST works fine but a 25k POST does not and this is repeatable.  My perl CGI has no limit configured for POSTDATA size so I don't know if it's a size issue or possibly characters within the POSTDATA.  Could someone please help me out with what could cause an AH02651? Thank you.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


[users@httpd] RE: Apache/2.4.26 (Unix) undocumented error AH02651

Posted by "HISEY, JAMES" <jh...@att.com>.
Thank you for the reply.  I was going to grab the entire log line and right before I exited my view of the dumpost_log, I just happened to spot an odd character sequence in the corner of my eye.  Did some poking around and it turns out that the script was dying because it was assuming the input POSTDATA was utf-8 encoded and occasionally, it wasn't.  I had just never seen this AH02651 error before and I let the fact that all of the 10k or less POSTDATA sizes worked fine and all of the bigger ones failed push me in the wrong problem determination direction.

Thank you for the information and I apologize for needlessly engaging the mail list.

Jim

-----Original Message-----
From: Christophe JAILLET
Subject: Re: Apache/2.4.26 (Unix) undocumented error AH02651

Le 21/08/2019 à 17:58, HISEY, JAMES a écrit :
> Running Apache 2.4.26 on RHEL7, I'm receiving an error in my apache error log of AH02651: Error writing request body to script...<perl script here>.  I am unable to locate a meaningful description of AH02651 anywhere as all error lists I can find stop in the lower 2000's. It appears to happen when the POSTDATA is large.  A 9k POST works fine but a 25k POST does not and this is repeatable.  My perl CGI has no limit configured for POSTDATA size so I don't know if it's a size issue or possibly characters within the POSTDATA.  Could someone please help me out with what could cause an AH02651? Thank you.

Hi,

AFAIK, there is no listing of all error codes that can be logged. The 
error message itself should be helpful enough.

However, these error codes are really useful in order to spot which part 
of the C source code is involved.
If you are familiar with C, search for '02651' or 'APLOGNO(02651)'.

In this particular case, the code that triggers this error message is: 
(code taken from trunk)

             /* Keep writing data to the child until done or too much time
              * elapses with no progress or an error occurs.
              */
             rv = apr_file_write_full(tempsock, data, len, NULL);

             if (rv != APR_SUCCESS) {
                 /* silly script stopped reading, soak up remaining 
message */
                 child_stopped_reading = 1;
                 ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(02651)
                               "Error writing request body to script %s",
                               r->filename);

             }

Could you post the complete log entry? It should contain the value of 
'rv' which can be helpful in order to understand what went wrong.

CJ



[users@httpd] Re: Apache/2.4.26 (Unix) undocumented error AH02651

Posted by Christophe JAILLET <ch...@wanadoo.fr>.
Le 21/08/2019 à 17:58, HISEY, JAMES a écrit :
> Running Apache 2.4.26 on RHEL7, I'm receiving an error in my apache error log of AH02651: Error writing request body to script...<perl script here>.  I am unable to locate a meaningful description of AH02651 anywhere as all error lists I can find stop in the lower 2000's. It appears to happen when the POSTDATA is large.  A 9k POST works fine but a 25k POST does not and this is repeatable.  My perl CGI has no limit configured for POSTDATA size so I don't know if it's a size issue or possibly characters within the POSTDATA.  Could someone please help me out with what could cause an AH02651? Thank you.

Hi,

AFAIK, there is no listing of all error codes that can be logged. The 
error message itself should be helpful enough.

However, these error codes are really useful in order to spot which part 
of the C source code is involved.
If you are familiar with C, search for '02651' or 'APLOGNO(02651)'.

In this particular case, the code that triggers this error message is: 
(code taken from trunk)

             /* Keep writing data to the child until done or too much time
              * elapses with no progress or an error occurs.
              */
             rv = apr_file_write_full(tempsock, data, len, NULL);

             if (rv != APR_SUCCESS) {
                 /* silly script stopped reading, soak up remaining 
message */
                 child_stopped_reading = 1;
                 ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(02651)
                               "Error writing request body to script %s",
                               r->filename);

             }

Could you post the complete log entry? It should contain the value of 
'rv' which can be helpful in order to understand what went wrong.

CJ



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org