Bug #71508 [Opn]: php-fpm segfaults with ondemand in __accept_nocancel/zend_signal_handler_defer
| From: | bluewind at xinu dot at | Date: | Thu, 04 Feb 2016 22:20:46 +0000 |
| Subject: | Bug #71508 [Opn]: php-fpm segfaults with ondemand in __accept_nocancel/zend_signal_handler_defer | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-199060@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=71508&edit=1
ID: 71508
User updated by: bluewind at xinu dot at
Reported by: bluewind at xinu dot at
Summary: php-fpm segfaults with ondemand in
__accept_nocancel/zend_signal_handler_defer
Status: Open
Type: Bug
Package: Reproducible crash
Operating System: Arch Linux
PHP Version: 7.0.3RC1
Block user comment: N
Private report: N
New Comment:
I also just saw this happen once with the dynamic pm. It seems to be the same backtrace, but
that's hard to tell because that server does not run the debug build so there are lots of
missing values in the trace.
Is there anything missing for this bug to be assigned?
Previous Comments:
------------------------------------------------------------------------
[2016-02-03 12:01:00] bluewind at xinu dot at
Description:
------------
I'm running php 7.0.3 on Arch Linux and I see segfaults of php-fpm when running with the
ondemand pm. I do not see crashes with the dynamic pm.
The crash does not happen instantly and requests seem to be served as expected. Some 10 or 20
seconds after the requests it crashes. I'd guess that's the time when ondemand starts
shutting down unused workers.
I have also seen these with 7.0.2, but not with 5.6.17 or any other version in the 5.x series.
If you need more info or are unable to reproduce please tell me.
This might be related to https://bugs.php.net/bug.php?id=64984
Test script:
---------------
Use php-fpm with an fpm config like this, make a request and wait a bit.
[web-admin]
listen = /var/run/php-fpm/$pool-fpm.sock
listen.owner = http
listen.group = http
listen.mode = 0660
user = $pool
group = web-admin
pm = ondemand
pm.max_children = 50
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 2000
catch_workers_output=yes
php_admin_value[session.save_path] = "/var/lib/php_sessions/$pool"
Expected result:
----------------
No crash
Actual result:
--------------
coredump of php-fpm
#0 0x00007f77404305f8 in raise () from /usr/lib/libc.so.6
#1 0x000000000083df75 in zend_signal_handler (signo=3, siginfo=0x7fff565db9f0,
context=0x7fff565db8c0) at /build/php/src/php-7.0.3/Zend/zend_signal.c:178
#2 0x000000000083db48 in zend_signal_handler_defer (signo=3, siginfo=0x7fff565db9f0,
context=0x7fff565db8c0) at /build/php/src/php-7.0.3/Zend/zend_signal.c:89
#3 <signal handler called>
#4 0x00007f77404e6df0 in __accept_nocancel () from /usr/lib/libc.so.6
#5 0x00000000008cd633 in fcgi_accept_request (req=0x2ab8100) at
/build/php/src/php-7.0.3/main/fastcgi.c:1396
#6 0x00000000008dc99f in main (argc=4, argv=0x7fff565dc4a8) at
/build/php/src/php-7.0.3/sapi/fpm/fpm/fpm_main.c:1872
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=71508&edit=1