I upgraded to 1.99.08 a couple of days ago and noticed strange behavior 
in my CGI scripts that run under ModPerl::Registry -- in 1.99.07 they 
worked fine.  In 1.99.08, however, every single one of my scripts has this 
appended to its standard output:

 ---------------------------------
 OK

 Internal Server Error ....  <etc>
 ---------------------------------

Seems like even though my scripts execute OK, Registry thinks that bad 
status was returned, and  makes an error page out of it.

Looking at CVS, I tracked down the problem to a commit made by Stas 3 
weeks ago to ModPerl::RegistryCooker.pm (1.23 -> 1.24).

http://cvs.apache.org/viewcvs.cgi/modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm.diff?r1=1.23&r2=1.24

By reversing the patch and restarting Apache, the problem went away.

Most of my scripts end like this:

print $t->output;


It looks like RegistryCooker examines the value of the last statement in 
the script -- changing the snippet above to

print $t->output;
1;

also fixes the problem.  However, I think that ending a script with a 
fall-off is a perfectly valid way to end it.  Another point is that this 
change breaks compatibility with old (1.3) Registry scripts.

What do you people think?

- Dmitri.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to