Edit report at https://bugs.php.net/bug.php?id=78995&edit=1
ID: 78995
Comment by: tobias dot nyholm at gmail dot com
Reported by: patrick dot fazzi at ped dot technology
Summary: opcache.preloading results in zend_mm_heap corrupted
Status: Open
Type: Bug
Package: opcache
Operating System: Ubuntu 18.4
PHP Version: 7.4.1
Block user comment: N
Private report: N
New Comment:
Sorry, I was wrong. I was running PHP 7.4.2RC1 with Opcache 7.4.1
â 7.4.2RC1 ./bin/php -v
PHP 7.4.2RC1 (cli) (built: Jan 11 2020 19:52:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.1, Copyright (c), by Zend Technologies
Previous Comments:
------------------------------------------------------------------------
[2020-01-11 19:38:38] tobias dot nyholm at gmail dot com
I just tried in PHP 7.4.2RC1. I have the same problem.
Im using OSX 10.15 and I tried preloading on a Symfony 4.4 application. I got the following output
when trying to start PHP-fpm.
â 7.4.2RC1 ./sbin/php-fpm
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Symfony\Bundle\FrameworkBundle\DependencyInjection\CompatibilityServiceSubscriberInterface in
/project/vendor/symfony/framework-bundle/DependencyInjection/CompatibilityServiceSubscriberInterface.php
on line 28
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Translation\Bundle\Translator\TranslatorInterface in
/project/vendor/php-translation/symfony-bundle/Translator/TranslatorInterface.php on line 32
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php
on line 13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\Event\ManagerEventArgs in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php on
line 13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\Mapping\ClassMetadata in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php on
line 13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\Mapping\Driver\MappingDriver in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php
on line 13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\AbstractManagerRegistry in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php on
line 13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\ManagerRegistry in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ManagerRegistry.php on line 13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\ConnectionRegistry in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ConnectionRegistry.php on line
13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Twig_Extension_GlobalsInterface in /project/vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php
on line 11
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
class@anonymous in /project/vendor/symfony/contracts/Service/ServiceLocatorTrait.php on line 119
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
class@anonymous in /project/vendor/symfony/contracts/Service/ServiceLocatorTrait.php on line 113
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Symfony\Contracts\EventDispatcher\EventDispatcherInterface in
/project/vendor/symfony/contracts/EventDispatcher/EventDispatcherInterface.php on line 20
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
class@anonymous in /project/vendor/symfony/contracts/Cache/CacheTrait.php on line 44
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
class@anonymous in /project/vendor/symfony/http-kernel/Kernel.php on line 540
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Doctrine\Common\Persistence\ObjectManager in
/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ObjectManager.php on line 13
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
APCUIterator in /project/vendor/symfony/polyfill-apcu/bootstrap.php on line 41
<br />
<b>Warning</b>: Can't preload already declared class
Symfony\Bundle\FrameworkBundle\DependencyInjection\CompatibilityServiceSubscriberInterface in
<b>/project/vendor/symfony/framework-bundle/DependencyInjection/CompatibilityServiceSubscriberInterface.php</b>
on line <b>28</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Translation\Bundle\Translator\TranslatorInterface in
<b>/project/vendor/php-translation/symfony-bundle/Translator/TranslatorInterface.php</b>
on line <b>32</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\Event\ManagerEventArgs in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\Mapping\ClassMetadata in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\Mapping\Driver\MappingDriver in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\AbstractManagerRegistry in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\ManagerRegistry in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ManagerRegistry.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\ConnectionRegistry in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ConnectionRegistry.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Twig_Extension_GlobalsInterface in
<b>/project/vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php</b> on line
<b>11</b><br />
<br />
<b>Warning</b>: Can't preload already declared class class@anonymous in
<b>/project/vendor/symfony/contracts/Service/ServiceLocatorTrait.php</b> on line
<b>119</b><br />
<br />
<b>Warning</b>: Can't preload already declared class class@anonymous in
<b>/project/vendor/symfony/contracts/Service/ServiceLocatorTrait.php</b> on line
<b>113</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Symfony\Contracts\EventDispatcher\EventDispatcherInterface in
<b>/project/vendor/symfony/contracts/EventDispatcher/EventDispatcherInterface.php</b> on
line <b>20</b><br />
<br />
<b>Warning</b>: Can't preload already declared class class@anonymous in
<b>/project/vendor/symfony/contracts/Cache/CacheTrait.php</b> on line
<b>44</b><br />
<br />
<b>Warning</b>: Can't preload already declared class class@anonymous in
<b>/project/vendor/symfony/http-kernel/Kernel.php</b> on line
<b>540</b><br />
<br />
<b>Warning</b>: Can't preload already declared class
Doctrine\Common\Persistence\ObjectManager in
<b>/project/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ObjectManager.php</b>
on line <b>13</b><br />
<br />
<b>Warning</b>: Can't preload already declared class APCUIterator in
<b>/project/vendor/symfony/polyfill-apcu/bootstrap.php</b> on line
<b>41</b><br />
[11-Jan-2020 20:28:43] NOTICE: PHP message: PHP Warning: Can't preload already declared class
Throwable in /project/vendor/hoa/consistency/Consistency.php on line 286
zend_mm_heap corrupted
------------------------------------------------------------------------
[2020-01-05 02:47:12] myaddressmail at gmail dot com
Same with Twig (without doctrine) => Zend_mm_heap corrupted at server startup
Without Twig (removed from the preloading) => it works
------------------------------------------------------------------------
[2019-12-19 14:42:16] nikic@php.net
This is likely related to class aliases added by Doctrine, in which case 7.4.2 should resolve the
issue.
------------------------------------------------------------------------
[2019-12-19 14:18:32] n_avatar at mail dot ru
Have same problem.
Found that doctrine/persistence >=1.3 lead to "zend_mm_heap corrupted".
"doctrine/persistence": "^1.2 <1.3" - fine
------------------------------------------------------------------------
[2019-12-19 08:52:13] nikic@php.net
Some issues related to preloading with Symfony will only be resolved in 7.4.2. It's hard to say
whether the problem you're seeing is one of those or something new.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=78995
--
Edit this bug report at https://bugs.php.net/bug.php?id=78995&edit=1