john z wrote:
in brief, i am trying to find where modperl generates the infamous OK: The server encountered an internal error ....

hopefully there is a decent way to either drop the error message, or at the least turn it into something that does not jar the client trying to use my system.

i wrote a rather large system with perscript, mysql, asp, and several other languages. the user interface with a web browser. all has worked very well. the user queries, perlscript and asp format html packages, and things happen.

except that every 5 to 15 web pages or so, are preambled or appended with an OK, server encountered an internal error. sometimes the preamble has a html snippet of <html><title>200 OK. there are of course several variations to the message. they do not seem to be produced by the same code in modperl.

i have checked the html response page and find them absolutely properl. the database field that were supposed to be populated are populated. any data being sent back in the page is there. all is in order except that the preamble/ appended error message. there are no error messages issued to any of the apache log files. nada. zip.

to date, i have attempted the following to identify the problem or remove the error message.
1. using the Errordocument directive for apache did give me some control for error messages issued by perl\site\lib\apache\asp\error.pm i note that one of the active developers in modperl (stas) did make reference to linking error-notes to the apache table.
2. adding a PerlResponseHandler gave me no influence on the process. the OK error message occurs after the PerlLogHandler phase. this also explains why i do not get any error messages in the log files.
3. adding a PerlOutputFilterHandler in an attempt to automatically strip the OK error message failed. the code was fine but the error message is generated after this process point.
4. a string search for 'server encountered' found no hits under the perl\ tree. 4 hits under apache2\ tree.
- apache2\bin\libhttpd.dll,
- and 3 non effective in apache2\manual and apache2\error
5. i am not an guru on modperl and do not have the skills/ knowledge/ and time to become one. i do client applications. searching the modperl mailing lists did not reveal hints that i could understand on how to suppress this error message (or at least stop jarring clients).


i have also been looking at non standard approaches around this problem. can anyone point me to a place in the modperl code were i can introduce some code to check for the OK preamble/ append to change things. for example, where exactly is the response finally written to the client (including where the content headers, response code, etc are created).

mod_perl doesn't do anything like you've described. It's Apache or something else that appends this response. Instead of trying to hide the error, try to figure out what causes that by eliminating parts of your (apparently very complex) setup until you find the guilty party. Run the server in the single mode (httpd -DONE_PROCESS -DNO_DETACH) in order to reproduce the problem quicker).


Also in the future always send a proper bug report in order to help us to help you better. This is explained in details here:
http://perl.apache.org/bugs/


--
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Reply via email to