Bug #78995 [Com]: opcache.preloading results in zend_mm_heap corrupted

From: Date: Sat, 11 Jan 2020 19:49:47 +0000
Subject: Bug #78995 [Com]: opcache.preloading results in zend_mm_heap corrupted
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-224850@lists.php.net to get a copy of this message
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


Thread (14 messages)

« previous php.bugs (#224850) next »