php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #78764 Opcache corruption with php-fpm
Submitted: 2019-10-31 06:37 UTC Modified: 2019-12-12 10:48 UTC
Votes:2
Avg. Score:4.0 ± 1.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: vkhramtsov at gmail dot com Assigned:
Status: Closed Package: opcache
PHP Version: 7.3.11 OS: Ubuntu 16.04.6 LTS
Private report: No CVE-ID: None
 [2019-10-31 06:37 UTC] 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

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-12-12 10:48 UTC] vkhramtsov at gmail dot com
-Status: Open +Status: Closed
 [2019-12-12 10:48 UTC] vkhramtsov at gmail dot com
Fixed in 7.3.12
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Tue Apr 20 09:01:24 2021 UTC