Bug #78764 [Opn->Csd]: Opcache corruption with php-fpm
| From: | vkhramtsov at gmail dot com | Date: | Thu, 12 Dec 2019 10:48:40 +0000 |
| Subject: | Bug #78764 [Opn->Csd]: Opcache corruption with php-fpm | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-224228@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78764&edit=1
ID: 78764
User updated by: vkhramtsov at gmail dot com
Reported by: vkhramtsov at gmail dot com
Summary: Opcache corruption with php-fpm
-Status: Open
+Status: Closed
Type: Bug
Package: opcache
Operating System: Ubuntu 16.04.6 LTS
PHP Version: 7.3.11
Block user comment: N
Private report: N
New Comment:
Fixed in 7.3.12
Previous Comments:
------------------------------------------------------------------------
[2019-10-31 06:37:13] vkhramtsov at gmail dot com
Description:
------------
Hello,
For serving pages on our project we are using symfony framework, nginx and php-fpm on five servers.
From time to time (usually once or twice in a week) all fpm workers on one (sometimes two) servers
start to report errors like "Class Symfony\Component\Form\FormRegistry contains 1 abstract
method and must therefore be declared abstract or implement the remaining methods
(Symfony\Component\Form\FormRegistryInterface::getType)" (just example) while on other servers
everything works fine with the same code. The only way to fix this issue is restart or reload
php-fpm daemon.
Issue appeared after changing ini setting "opcache.optimization_level" from
"0x3" to "0x7"
(https://github.com/php/php-src/blob/PHP-7.3.11/ext/opcache/Optimizer/zend_optimizer.h)
Opcache settings:
zend_extension=opcache.so
opcache.validate_timestamps = 0
opcache.memory_consumption = 512M
opcache.max_accelerated_files = 32531
opcache.interned_strings_buffer = 32
opcache.optimization_level = 0x7
Other settings have their default values. On every deployment we are resetting php opcache.
Installed php modules:
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gearman
gettext
hash
iconv
igbinary
intl
json
libxml
mbstring
mongodb
newrelic
openssl
pcntl
pcre
PDO
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tideways
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
If you need any additional information, don't hesitate to ask
Test script:
---------------
Unfortunately I cannot provide test script
Expected result:
----------------
Everything works in the same manner on all servers. No messages about not implemented abstract
methods
Actual result:
--------------
Messages about not implemented abstract methods appear
Class Symfony\Component\Form\FormRegistry contains 1 abstract method and must therefore be declared
abstract or implement the remaining methods (Symfony\Component\Form\FormRegistryInterface::getType
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78764&edit=1