Bug #67583 [Opn]: double fastcgi_end_request on max_children limit
Edit report at https://bugs.php.net/bug.php?id=67583&edit=1
ID: 67583
User updated by: saprykin dot dmitry at gmail dot com
Reported by: saprykin dot dmitry at gmail dot com
Summary: double fastcgi_end_request on max_children limit
Status: Open
Type: Bug
Package: FPM related
-PHP Version: Irrelevant
+PHP Version: 5.5.14
Block user comment: N
Private report: N
New Comment:
Changed PHP Version
Previous Comments:
------------------------------------------------------------------------
[2014-07-07 10:37:59] saprykin dot dmitry at gmail dot com
Description:
------------
Php sends 2 fastcgi FCGI_END_REQUEST records instead of one when fastcgi_finish_request(); called
and fpm param max_requests exceeded.
* one is sent on fastcgi_finish_request(); call
* other is sent in block
fpm_main.c:1951
requests++;
if (max_requests && (requests == max_requests)) {
fcgi_finish_request(&request, 1);
break;
}
I have created pull request for this bug https://github.com/php/php-src/pull/709
It confuses fastcgi client (i.e. nginx) receiving 2 FCGI_END_REQUEST records one after another.
Test script:
---------------
<?php
ignore_user_abort();
fastcgi_finish_request();
sleep(10);
?>
Nginx configuration
upstream fpm
{
server 127.0.0.1:9000;
keepalive 1;
}
server
{
......
fastcgi_keep_conn on;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_pass fpm;
......
}
PHP FPM configuration
max_children = 1
max_requests = 2
Expected result:
----------------
No errors in nginx error log
Actual result:
--------------
Every second request is finished with 502 status
Nginx error.log contains records:
2014/07/07 13:42:58 [error] 11253#0: *1 upstream sent unexpected FastCGI record: 3 while reading
response header from upstream, client: 127.0.0.1, server: localhost, request: "GET
/nginx_test.phtml HTTP/1.1", upstream: "fastcgi://127.0.0.1:8002", host:
"localhost:8081"
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=67583&edit=1
Thread (8 messages)