Bug #78764 [NEW]: Opcache corruption with php-fpm
| From: | vkhramtsov at gmail dot com | Date: | Thu, 31 Oct 2019 06:37:13 +0000 |
| Subject: | Bug #78764 [NEW]: Opcache corruption with php-fpm | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-223527@lists.php.net to get a copy of this message | ||
From: vkhramtsov at gmail dot com
Operating system: Ubuntu 16.04.6 LTS
PHP version: 7.3.11
Package: opcache
Bug Type: Bug
Bug description:Opcache corruption with php-fpm
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 bug report at https://bugs.php.net/bug.php?id=78764&edit=1
--
Fix committed: https://bugs.php.net/fix.php?id=78764&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=78764&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=78764&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=78764&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=78764&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=78764&r=support
Expected behavior: https://bugs.php.net/fix.php?id=78764&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=78764&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=78764&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=78764&r=globals
PHP version support discontinued: https://bugs.php.net/fix.php?id=78764&r=phptooold
Daylight Savings: https://bugs.php.net/fix.php?id=78764&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=78764&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=78764&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=78764&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=78764&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=78764&r=mysqlcfg