[Catalyst] Apache2::RequestIO::read problem

Chris Dolan chris at chrisdolan.net
Tue Jul 29 06:07:31 BST 2008


This is a long shot, and I have no idea whether it's Catalyst's  
fault...  Does the following problem look familiar to anyone?

Under <httpd-2.2.3-11.el5_1.3, mod_perl-2.0.2-6.3.el5,  
Catalyst::Runtime 5.7014, Apache2::RequestIO 2.000002> I'm seeing  
Apache logged errors like this occasionally (paths obfuscated  
slightly to protect my beta site):

[error] Caught exception in engine "Apache2::RequestIO::read: (104)  
Connection reset by peer at /home/foo/perl/lib/perl5/site_perl/5.8.8/ 
Catalyst/Engine/Apache.pm line 187"
[Mon Jul 28 16:14:36 2008] [error] [client xxx.xxx.xxx.xxx] File does  
not exist: /home/foo/MyApp/root/student, referer: http://example.com/ 
student

I think the "connection reset" part is a client disconnecting  
prematurely, but what disturbs me is the second error.  I have a lib/ 
MyApp/Controller/Student.pm which should be receiving requests to  
http://example.com/student, but instead I see those requests  
redirected to my static folder (.../root/...).  This does not happen  
normally -- plenty of hits are going through to /student as expected.

I'm running under mod_perl like so:

   ...
   DocumentRoot "/home/foo/MyApp/root"
   ...
   <Location />
     SetHandler   perl-script
     PerlHandler  MyApp
   </Location>
   <LocationMatch "/(favicon.ico|css|images|js|docs)">
     SetHandler default-handler
   </LocationMatch>
   ...

so only the requests that match the latter pattern should go to /home/ 
foo/MyApp/root/...  I'm seeing the problem with URLs other than just / 
student too, but all of these problems are infrequent and only after  
reset connections.  I have not been able to reproduce the problem  
with my own web browser.

Chris




More information about the Catalyst mailing list