I have been getting some strange error on my system lately, so I took the time to completely upgrade my server last night to see of I could fix the problem with new updates. First thing this morning the errors re-surfaced.

The error I'm getting is

:Apache2 IO flush: (103) Software caused connection abort at /pathtosite/admin.sd line 1136,

Admin.sd is mine and is a mod_perl file. It uses some basic modules

   use CGI qw/:standard/;
   use CGI::Cookie;
   use CGI::Compress::Gzip;
   use Time::Local;
   use MIME::Lite;
   use CGI::Lite;

I have added use Apache::DBI; to my startup.pl file so that mod_perl maintains the persistent connection to my database. I have a single database on the server. My website with all it's mod_perl files create approx. 20 connections to the MySql Server.

I currently have the following installed.

Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7a PHP/5.0.4 mod_perl/2.0.1 Perl/v5.8.7

My website also runs under an https connection. It's mandatory to connect to the site.

Now, about the error, at line 1136 of admin.sd is this line.

print $html;

And that's it. All the files creating the error say the problem line in the file is a line which prints the output of the cgi.

My cgi's do a lot of mysql queries, open a template, build a page, and output the page in a single print command. print $html;

My os is "Fedora Core release 2 (Tettnang)"

This is all the info I can think of to provide context for my errors.

If anyone has any ideas, I'll try them.

One more thing, the errors happen at a low ratio to successful requests. So much so, I've only gotten one of my testers to produce the error. I have never been able to do it. And the tester said nothing appeared wrong on the screen. No internal server error, just appears as a normal successful page request.

Everytime I see the errors come in, I call my clients and ask if they've seen any errors. I normally get a no to that question, and twice I've heard white pages being returned. Could have been many other things though. I think the errors on behind the scenes.

The only reason I know about them is because if this

   ErrorDocument 400 /error.osn
  ErrorDocument 401 /error.osn
  ErrorDocument 403 /error.osn
  ErrorDocument 404 /error.osn
  ErrorDocument 405 /error.osn
  ErrorDocument 408 /error.osn
  ErrorDocument 410 /error.osn
  ErrorDocument 411 /error.osn
  ErrorDocument 412 /error.osn
  ErrorDocument 413 /error.osn
  ErrorDocument 414 /error.osn
  ErrorDocument 415 /error.osn
  ErrorDocument 500 /error.osn
  ErrorDocument 501 /error.osn
  ErrorDocument 502 /error.osn
  ErrorDocument 503 /error.osn
  ErrorDocument 506 /error.osn

The osn file is a standard perl file which emails me the %ENV values. So I can quickly take care of the error.

The problem is, the :Apache2 IO flush: error is getting reported, but the user see's no error. error.osn should present an html page stating the error was reported and will be taken care of. Instead the page successfully renders and send me an error. Sending an email when no error is presented to the user also slows that request.

Can anyone help? If not, I'm going to open a bug report to Apache.

Thanks,
Tony

Reply via email to