[FASTCGI] Fastcgi and perl : How to recover from an error?

Richard Dumoulin dumoulin at e-summum.com
Wed Feb 10 18:51:13 EST 2010


Hi!

 

This morning one of my fastcgi / perl script running on Linux / Apache2 ran
into an error :

 

[Wed Feb 10 08:43:50 2010] [error] [client X.Y.Z.194] FastCGI: server
"xxxxxxxx/index.fcgi" stderr: Can't use an undefined value as a HASH
reference at xxxxxxxx/index.fcgi line 153., referer:
http://xxxxxxxx/index.fcgi?demande=rech&str=rivi%E8re

[Wed Feb 10 08:43:56 2010] [error] [client X.Y.Z.194] FastCGI: server
"xxxxxxxx/index.fcgi" stderr: Can't use an undefined value as a HASH
reference at xxxxxxxx/index.fcgi line 153., referer:
http://xxxxxxxx/index.fcgi?demande=rech&str=riviere

[Wed Feb 10 08:44:21 2010] [error] [client X.Y.Z.194] FastCGI: server
"xxxxxxxx/index.fcgi" stderr: Can't use an undefined value as a HASH
reference at xxxxxxxx/index.fcgi line 153., referer:
http://xxxxxxxx/index.fcgi?demande=rech&str=rivi%E8re

 

I found the problem (type cast from a session variable and the variable was
undefined because of an error in the session state).  

 

That's ok and fixed. What bothers me is that the visitors did try several
queries that all ended in error.  The fastcgi process went in a strange
error state and it was no longer responding to normal queries from different
users.  After the initial errors, I got these errors (lots of them):

.

[Wed Feb 10 08:45:02 2010] [error] [client X.Y.Z.194] FastCGI: incomplete
headers (0 bytes) received from server "xxxxxxxx/index.fcgi", referer:
http://www.xxxxxxxx/index.fcgi?demande=rech&page=2

[Wed Feb 10 08:45:04 2010] [error] [client X.Y.Z.194] FastCGI: comm with
(dynamic) server "xxxxxxxx/index.fcgi" aborted: (first read) idle timeout
(30 sec), referer: http://www.xxxxxxxx/?demande=rech&str=singe

[Wed Feb 10 08:45:04 2010] [error] [client X.Y.Z.194] FastCGI: incomplete
headers (0 bytes) received from server "xxxxxxxx/index.fcgi", referer:
http://www.xxxxxxxx/?demande=rech&str=singe

[Wed Feb 10 08:45:05 2010] [error] [client X.Y.Z.194] FastCGI: comm with
(dynamic) server "xxxxxxxx/index.fcgi" aborted: (first read) idle timeout
(30 sec), referer: http://www.xxxxxxxx/index.fcgi?demande=rech&str=rivi%E8re

[Wed Feb 10 08:45:05 2010] [error] [client X.Y.Z.194] FastCGI: incomplete
headers (0 bytes) received from server "xxxxxxxx/index.fcgi", referer:
http://www.xxxxxxxx/index.fcgi?demande=rech&str=rivi%E8re

[Wed Feb 10 08:45:05 2010] [error] [client X.Y.Z.194] FastCGI: comm with
(dynamic) server "xxxxxxxx/index.fcgi" aborted: (first read) idle timeout
(30 sec), referer: http://xxxxxxxx/index.fcgi?demande=consulter&id=581

[Wed Feb 10 08:45:05 2010] [error] [client X.Y.Z.194] FastCGI: incomplete
headers (0 bytes) received from server "xxxxxxxx/index.fcgi", referer:
http://xxxxxxxxxx/index.fcgi?demande=consulter&id=581

[Wed Feb 10 08:45:08 2010] [error] [client X.Y.Z.194] FastCGI: comm with
(dynamic) server "xxxxxxxx/index.fcgi" aborted: (first read) idle timeout
(30 sec), referer: http://www.xxxxxxxx/?demande=rech&str=singe

[Wed Feb 10 08:45:08 2010] [error] [client X.Y.Z.194] FastCGI: incomplete
headers (0 bytes) received from server "xxxxxxxx/index.fcgi", referer:
http://www.xxxxxxxx/?demande=rech&str=singe

[Wed Feb 10 08:45:09 2010] [error] [client X.Y.Z.194] FastCGI: comm with
(dynamic) server "xxxxxxxx/index.fcgi" aborted: (first read) idle timeout
(30 sec), referer: http://www.xxxxxxxx/index.fcgi?demande=rech&str=rivi%E8re

[Wed Feb 10 08:45:09 2010] [error] [client X.Y.Z.194] FastCGI: incomplete
headers (0 bytes) received from server "xxxxxxxx/index.fcgi", referer:
http://www.xxxxxxxx/index.fcgi?demande=rech&str=rivi%E8re

[Wed Feb 10 08:45:09 2010] [error] [client X.Y.Z.194] FastCGI: comm with
(dynamic) server "xxxxxxxx/index.fcgi" aborted: (first read) idle timeout
(30 sec), referer: http://xxxxxxxx/index.fcgi?demande=consulter&id=581

[Wed Feb 10 08:45:09 2010] [error] [client X.Y.Z.194] FastCGI: incomplete
headers (0 bytes) received from server "xxxxxxxx/index.fcgi", referer:
http://xxxxxxxxxxxx/index.fcgi?demande=consulter&id=581

 

and it went like that for 30 minutes until Apache was restarted.

 

Is there  a config to add in Apache to fix this?  I found the following in
the doc : 

 

-restart (none) 

Causes the process manager to restart dynamic applications upon failure
(similar to static applications). 

 

Is this the good way to solve this?

 

Any help will be really appreciated!

 

Thanks in advance!

 

Richard 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.pins.net/mailman/private.cgi/fastcgi-developers/attachments/20100210/a0d93199/attachment.html>


More information about the FastCGI-developers mailing list