Subject: | POST_MAX exceeded - and script pegs CPU |
Date: | Tue, 4 Sep 2007 10:50:03 -0400 |
To: | bug-CGI.pm [...] rt.cpan.org |
From: | "B Wooster" <bwooster47 [...] gmail.com> |
This looks like the issue reported in
http://rt.cpan.org/Public/Bug/Display.html?id=19222, but I don't see
that fix/patch in any new release of CGI yet - so not sure if this is
the same problem.
I've created a simple test case - a form that allows a file upload. If
the file size is less than POST_MAX, everything works fine. If it is
greater, then cgi_error() never returns, and after 120 seconds, during
which time the script pegs the CPU at 100%, I get Timeout messages in
the error_log.
Should I be editing the CGI.pm file to exit immediately if POST_MAX is
exceeded? Or is there a newer version of CGI.pm that fixes this issue?
CGI.pm version 2.46 had this code:
die "Client attempted to POST $content_length bytes, but POSTs are
limited to $POST_MAX"
if ($POST_MAX > 0) && ($content_length > $POST_MAX);
and I seem to remember that it worked fine, so the problem may be the
3.15 version changes that attempt to read everything and then
discarding it?
I am using Fedora Core 7
Server version: Apache/2.2.4 (Unix)
Server built: Jun 26 2007 10:00:55
/usr/lib/perl5/5.8.8/CGI.pm:
$CGI::revision = '$Id: CGI.pm,v 1.194 2005/12/06 22:12:56 lstein Exp $';
$CGI::VERSION='3.15';
Message body is not shown because sender requested not to inline it.