How does nginx know about FastCGI's stderr?

nginx’s error.log says:
2010/03/15 11:13:15 [error] 10978#0: *10642 FastCGI sent in stderr:
"PHP Deprecated: Function ereg() is deprecated in
/usr/local/cacti/lib/rrd.php on line 734
PHP Deprecated: Function ereg() is deprecated in
/usr/local/cacti/lib/rrd.php on line 1020

etc. But I don’t know how nginx knows about FastCGI’s stderr?


Ren Xiaolei

Hello!

On Mon, Mar 15, 2010 at 11:15:36AM +0800, 任晓磊 wrote:

nginx’s error.log says:
2010/03/15 11:13:15 [error] 10978#0: *10642 FastCGI sent in stderr:
"PHP Deprecated: Function ereg() is deprecated in
/usr/local/cacti/lib/rrd.php on line 734
PHP Deprecated: Function ereg() is deprecated in
/usr/local/cacti/lib/rrd.php on line 1020

etc. But I don’t know how nginx knows about FastCGI’s stderr?

http://www.fastcgi.com/devkit/doc/fcgi-spec.html

Maxim D.

On Mon, Mar 15, 2010 at 5:49 PM, Maxim D. [email protected]
wrote:

http://www.fastcgi.com/devkit/doc/fcgi-spec.html
Thank you, Maxim. The document above tells me the detail. I thought
the protocol is a couple of stdio pipes before read this.

So, could you tell me why I see 502 when something in FastCGI’s
stderr? Does texts from FastCGI’s stderr lead to 502 ? But the specs
says they’re just application-level errors.


Ren Xiaolei

Hello!

On Mon, Mar 15, 2010 at 08:56:11PM +0800, 任晓磊 wrote:

On Mon, Mar 15, 2010 at 5:49 PM, Maxim D. [email protected] wrote:

http://www.fastcgi.com/devkit/doc/fcgi-spec.html
Thank you, Maxim. The document above tells me the detail. I thought
the protocol is a couple of stdio pipes before read this.

So, could you tell me why I see 502 when something in FastCGI’s
stderr? Does texts from FastCGI’s stderr lead to 502 ? But the specs
says they’re just application-level errors.

Writing to stderr shouldn’t lead to 502 from nginx. This may
happen in two cases:

  1. Application actually dies (or aborts request) after writing to
    stderr.

  2. Bug in nginx. There is one known bug with fastcgi_cache and
    large stderr from fastcgi apps which may lead to 502 returned
    unexpectedly. It’s mostly fixed in 0.8.34, though fix may lead to
    segfaults in nginx worker when fastcgi_cache isn’t used, patch is
    here:

http://nginx.org/pipermail/nginx-ru/2010-March/032836.html

Maxim D.

On Mon, Mar 15, 2010 at 9:15 PM, Maxim D. [email protected]
wrote:

  1. Bug in nginx. Â There is one known bug with fastcgi_cache and
    large stderr from fastcgi apps which may lead to 502 returned
    unexpectedly. Â It’s mostly fixed in 0.8.34, though fix may lead to
    segfaults in nginx worker when fastcgi_cache isn’t used, patch is
    here:

nginx 0.8.34 segmentation fault

Mostly like to be this.
OK, I’ll wait for next version in 0.7 series, and try. Sorry to not
helping because of my poor programming skill.

Ren Xiaolei