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

From: Date: Sat, 11 Jan 2020 19:38:38 +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-224849@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: 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 Previous Comments: ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ [2019-12-19 08:47:01] patrick dot fazzi at ped dot technology Description: ------------ I am testing the new preloading feature but it still doesn't work. If i run the built in web server with the following command: php -dopcache.preload="/projects/PED/NutriBees/var/cache/prod/srcApp_KernelProdContainer.preload.php" -dopcache.enable=1 -S localhost:8090 I get this output: [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Symfony\Bundle\FrameworkBundle\DependencyInjection\CompatibilityServiceSubscriberInterface in /projects/PED/NutriBees/vendor/symfony/framework-bundle/DependencyInjection/CompatibilityServiceSubscriberInterface.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Mapping\Driver\SymfonyFileLocator in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Mapping\Driver\AnnotationDriver in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Mapping\Driver\FileLocator in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/FileLocator.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Mapping\Driver\FileDriver in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Event\LifecycleEventArgs in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Event/LifecycleEventArgs.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Event\ManagerEventArgs in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class class@anonymous in /projects/PED/NutriBees/vendor/symfony/service-contracts/ServiceLocatorTrait.php on line 119 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class class@anonymous in /projects/PED/NutriBees/vendor/symfony/service-contracts/ServiceLocatorTrait.php on line 113 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class class@anonymous in /projects/PED/NutriBees/vendor/symfony/cache-contracts/CacheTrait.php on line 44 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Symfony\Contracts\EventDispatcher\EventDispatcherInterface in /projects/PED/NutriBees/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php on line 20 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Mapping\ClassMetadata in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\Mapping\Driver\MappingDriver in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\ObjectManager in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ObjectManager.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class Doctrine\Common\Persistence\ObjectRepository in /projects/PED/NutriBees/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/ObjectRepository.php on line 28 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class class@anonymous in /projects/PED/NutriBees/vendor/symfony/http-kernel/Kernel.php on line 540 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\Ws in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 98 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\UriException in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 88 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\Uri in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 78 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\Http in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 68 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\Ftp in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 58 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\File in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 48 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\Data in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 38 [Thu Dec 19 09:44:04 2019] PHP Warning: Can't preload already declared class League\Uri\Schemes\AbstractUri in /projects/PED/NutriBees/vendor/league/uri-schemes/src/Schemes/deprecated.php on line 28 zend_mm_heap corrupted ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=78995&edit=1

« previous php.bugs (#224849) next »