Closed
Description
Symfony version(s) affected: 4.4.x-dev
Description
An empty Symfony 4.4.-x dev project with orm-pack and symfony/proxy-manager-bridge
fails to boot due to a missing file.
How to reproduce
$ php -v
PHP 7.3.8 (cli) (built: Jul 30 2019 09:26:16) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.8, Copyright (c) 1998-2018 Zend Technologies
symfony new reproducer-proxy-bug --version=next
cd reproducer-proxy-bug
# Everything still fine after requiring doctrine
composer require orm-pack
# Requiring this package breaks the app
composer require symfony/proxy-manager-bridge
Gives the following output
* Creating a new Symfony 4.4.x@dev project with Composer
(running /usr/bin/composer create-project symfony/skeleton reproducer-proxy-bug 4.4.x@dev)
* Setting up the project under Git version control
(running git init reproducer-proxy-bug)
[OK] Your project is now ready in /home/chris/Projects/reproducer-proxy-bug
Using version dev-master for symfony/orm-pack
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.4.*"
Package operations: 23 installs, 0 updates, 0 removals
- Installing ocramius/package-versions (dev-master 1d32342): Loading from cache
- Installing symfony/stopwatch (4.4.x-dev 3dfa8b3): Loading from cache
- Installing zendframework/zend-code (dev-develop 8003f74): Loading from cache
- Installing ocramius/proxy-manager (2.2.x-dev 4d15474): Loading from cache
- Installing doctrine/event-manager (dev-master e05ae70): Loading from cache
- Installing doctrine/cache (dev-master c29471b): Loading from cache
- Installing doctrine/dbal (dev-master 9ff47e7): Loading from cache
- Installing doctrine/lexer (dev-master 6c4b4c3): Loading from cache
- Installing doctrine/annotations (1.7.x-dev fa4c4e8): Loading from cache
- Installing doctrine/reflection (dev-master 4a97a22): Loading from cache
- Installing doctrine/collections (1.6.x-dev c5e0bc1): Loading from cache
- Installing doctrine/persistence (1.2.x-dev 43526ae): Loading from cache
- Installing doctrine/inflector (1.3.x-dev 45d9b13): Loading from cache
- Installing doctrine/common (dev-master 3773c7b): Loading from cache
- Installing doctrine/migrations (dev-master 50c7d16): Loading from cache
- Installing symfony/doctrine-bridge (4.4.x-dev 6365095): Loading from cache
- Installing doctrine/doctrine-cache-bundle (dev-master c46725e): Loading from cache
- Installing jdorn/sql-formatter (dev-master 7ef9b85): Loading from cache
- Installing doctrine/doctrine-bundle (1.12.x-dev 88e5ac9): Loading from cache
- Installing doctrine/doctrine-migrations-bundle (dev-master 2fa7e62): Loading from cache
- Installing doctrine/instantiator (dev-master 7c71fc2): Loading from cache
- Installing doctrine/orm (2.7.x-dev 9e73672): Loading from cache
- Installing symfony/orm-pack (dev-master 36c2a92): Loading from cache
Writing lock file
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
Symfony operations: 4 recipes (77c589db09086b98191799482e30ed09)
- Configuring doctrine/annotations (>=1.0): From github.com/symfony/recipes:master
- Configuring doctrine/doctrine-cache-bundle (>=dev-master): From auto-generated recipe
- Configuring doctrine/doctrine-bundle (>=1.6): From github.com/symfony/recipes:master
- Configuring doctrine/doctrine-migrations-bundle (>=1.2): From github.com/symfony/recipes:master
Executing script cache:clear [OK]
Executing script assets:install public [OK]
Some files may have been created or updated to configure your new packages.
Please review, edit and commit them: these files are yours.
Database Configuration
* Modify your DATABASE_URL config in .env
* Configure the driver (mysql) and
server_version (5.7) in config/packages/doctrine.yaml
Restricting packages listed in "symfony/symfony" to "4.4.*"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.4.*"
Package operations: 1 install, 0 updates, 0 removals
- Installing symfony/proxy-manager-bridge (4.4.x-dev fbba39f): Loading from cache
Writing lock file
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
Executing script cache:clear [KO]
[KO]
Script cache:clear returned with error code 255
!! PHP Warning: Uncaught ErrorException: Warning: require(/home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/EntityManager_9a5be93.php): failed to open stream: No such file or directory in /home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/srcApp_KernelDevDebugContainer.php:179
!! Stack trace:
!! #0 /home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/srcApp_KernelDevDebugContainer.php(179): require()
!! #1 /home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/srcApp_KernelDevDebugContainer.php(184): ContainerQEkwsbv\srcApp_KernelDevDebugContainer->load('EntityManager_9...')
!! #2 /home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/getDoctrine_Orm_DefaultEntityManagerService.php(18): ContainerQEkwsbv\srcApp_KernelDevDebugContainer->createProxy('EntityManager_9...', Object(Closure))
!! #3 /home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/srcApp_KernelDevDebugContainer.php(179): require('/home/chris/Pro...')
!! #4 /home in /home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/srcApp_KernelDevDebugContainer.php on line 179
!! PHP Fatal error: ContainerQEkwsbv\srcApp_KernelDevDebugContainer::load(): Failed opening required '/home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/EntityManager_9a5be93.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/chris/Projects/reproducer-proxy-bug/var/cache/dev/ContainerQEkwsbv/srcApp_KernelDevDebugContainer.php on line 179
!!
!! In srcApp_KernelDevDebugContainer.php line 179:
!!
!! Compile Error: ContainerQEkwsbv\srcApp_KernelDevDebugContainer::load(): Fai
!! led opening required '/home/chris/Projects/reproducer-proxy-bug/var/cache/d
!! ev/ContainerQEkwsbv/EntityManager_9a5be93.php' (include_path='.:/usr/share/
!! pear:/usr/share/php')
!!
!!
!!
Script @auto-scripts was called via post-update-cmd
Installation failed, reverting ./composer.json to its original content.
Possible Solution
Additional context
Some added context as I am also running into this problem.
- It is related to
symfony/proxy-manager-bridge
however I suspect the issue could be insymfony/dependency-injection
. Perhaps related to commit c893986 and PR [DI] Allow dumping the container in one file instead of many files #32581 . - In Symfony 4.3 the
EntityManager_9a5be93.php
is being generated - In Symfony 4.4 the
EntityManager_9a5be93.php
is NOT being generated - In Symfony 4.4 the
\dirname(__DIR__,.php
is attempted to be created instead
Perhaps something is going wrong in \Symfony\Component\DependencyInjection\Dumper\PhpDumper::generateProxyClasses
? See
It returns an array like this:
{
"\\dirname(__DIR__,.php": "include_once \\dirname(__DIR__, 1 + 3).'\/vendor\/doctrine\/persistence\/lib\/Doctrine\/Common\/Persistence\/ObjectManager.php';\ninclude_once \\dirname(__DIR__, 1 + 3).'\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/EntityManagerInterface.php';\ninclude_once \\dirname(__DIR__, 1 + 3).'\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/EntityManager.php';\n\nclass EntityManager_9a5be93 extends \\Doctrine\\ORM\\EntityManager implements \\ProxyManager\\Proxy\\VirtualProxyInterface\n{\n\n \/**\n * @var \\Closure|null initializer responsible for generating the wrapped object\n *\/\n private $valueHolder8f2f0 = null;\n\n \/**\n * @var \\Closure|null initializer responsible for generating the wrapped object\n *\/\n private $initializerd0fa7 = null;\n\n \/**\n * @var bool[] map of public properties of the parent class\n *\/\n private static $publicProperties6b99d = [\n \n ];\n\n public function getConnection()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getConnection', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getConnection();\n }\n\n public function getMetadataFactory()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getMetadataFactory', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getMetadataFactory();\n }\n\n public function getExpressionBuilder()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getExpressionBuilder', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getExpressionBuilder();\n }\n\n public function beginTransaction()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'beginTransaction', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->beginTransaction();\n }\n\n public function getCache()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getCache', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getCache();\n }\n\n public function transactional($func)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'transactional', array('func' => $func), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->transactional($func);\n }\n\n public function commit()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'commit', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->commit();\n }\n\n public function rollback()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'rollback', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->rollback();\n }\n\n public function getClassMetadata($className)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getClassMetadata', array('className' => $className), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getClassMetadata($className);\n }\n\n public function createQuery($dql = '')\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'createQuery', array('dql' => $dql), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->createQuery($dql);\n }\n\n public function createNamedQuery($name)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'createNamedQuery', array('name' => $name), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->createNamedQuery($name);\n }\n\n public function createNativeQuery($sql, \\Doctrine\\ORM\\Query\\ResultSetMapping $rsm)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'createNativeQuery', array('sql' => $sql, 'rsm' => $rsm), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->createNativeQuery($sql, $rsm);\n }\n\n public function createNamedNativeQuery($name)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'createNamedNativeQuery', array('name' => $name), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->createNamedNativeQuery($name);\n }\n\n public function createQueryBuilder()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'createQueryBuilder', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->createQueryBuilder();\n }\n\n public function flush($entity = null)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'flush', array('entity' => $entity), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->flush($entity);\n }\n\n public function find($entityName, $id, $lockMode = null, $lockVersion = null)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'find', array('entityName' => $entityName, 'id' => $id, 'lockMode' => $lockMode, 'lockVersion' => $lockVersion), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->find($entityName, $id, $lockMode, $lockVersion);\n }\n\n public function getReference($entityName, $id)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getReference', array('entityName' => $entityName, 'id' => $id), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getReference($entityName, $id);\n }\n\n public function getPartialReference($entityName, $identifier)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getPartialReference', array('entityName' => $entityName, 'identifier' => $identifier), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getPartialReference($entityName, $identifier);\n }\n\n public function clear($entityName = null)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'clear', array('entityName' => $entityName), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->clear($entityName);\n }\n\n public function close()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'close', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->close();\n }\n\n public function persist($entity)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'persist', array('entity' => $entity), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->persist($entity);\n }\n\n public function remove($entity)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'remove', array('entity' => $entity), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->remove($entity);\n }\n\n public function refresh($entity)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'refresh', array('entity' => $entity), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->refresh($entity);\n }\n\n public function detach($entity)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'detach', array('entity' => $entity), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->detach($entity);\n }\n\n public function merge($entity)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'merge', array('entity' => $entity), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->merge($entity);\n }\n\n public function copy($entity, $deep = false)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'copy', array('entity' => $entity, 'deep' => $deep), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->copy($entity, $deep);\n }\n\n public function lock($entity, $lockMode, $lockVersion = null)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'lock', array('entity' => $entity, 'lockMode' => $lockMode, 'lockVersion' => $lockVersion), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->lock($entity, $lockMode, $lockVersion);\n }\n\n public function getRepository($entityName)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getRepository', array('entityName' => $entityName), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getRepository($entityName);\n }\n\n public function contains($entity)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'contains', array('entity' => $entity), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->contains($entity);\n }\n\n public function getEventManager()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getEventManager', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getEventManager();\n }\n\n public function getConfiguration()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getConfiguration', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getConfiguration();\n }\n\n public function isOpen()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'isOpen', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->isOpen();\n }\n\n public function getUnitOfWork()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getUnitOfWork', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getUnitOfWork();\n }\n\n public function getHydrator($hydrationMode)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getHydrator', array('hydrationMode' => $hydrationMode), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getHydrator($hydrationMode);\n }\n\n public function newHydrator($hydrationMode)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'newHydrator', array('hydrationMode' => $hydrationMode), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->newHydrator($hydrationMode);\n }\n\n public function getProxyFactory()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getProxyFactory', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getProxyFactory();\n }\n\n public function initializeObject($obj)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'initializeObject', array('obj' => $obj), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->initializeObject($obj);\n }\n\n public function getFilters()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'getFilters', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->getFilters();\n }\n\n public function isFiltersStateClean()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'isFiltersStateClean', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->isFiltersStateClean();\n }\n\n public function hasFilters()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'hasFilters', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return $this->valueHolder8f2f0->hasFilters();\n }\n\n \/**\n * Constructor for lazy initialization\n *\n * @param \\Closure|null $initializer\n *\/\n public static function staticProxyConstructor($initializer)\n {\n static $reflection;\n\n $reflection = $reflection ?? new \\ReflectionClass(__CLASS__);\n $instance = $reflection->newInstanceWithoutConstructor();\n\n \\Closure::bind(function (\\Doctrine\\ORM\\EntityManager $instance) {\n unset($instance->config, $instance->conn, $instance->metadataFactory, $instance->unitOfWork, $instance->eventManager, $instance->proxyFactory, $instance->repositoryFactory, $instance->expressionBuilder, $instance->closed, $instance->filterCollection, $instance->cache);\n }, $instance, 'Doctrine\\\\ORM\\\\EntityManager')->__invoke($instance);\n\n $instance->initializerd0fa7 = $initializer;\n\n return $instance;\n }\n\n protected function __construct(\\Doctrine\\DBAL\\Connection $conn, \\Doctrine\\ORM\\Configuration $config, \\Doctrine\\Common\\EventManager $eventManager)\n {\n static $reflection;\n\n if (! $this->valueHolder8f2f0) {\n $reflection = $reflection ?? new \\ReflectionClass('Doctrine\\\\ORM\\\\EntityManager');\n $this->valueHolder8f2f0 = $reflection->newInstanceWithoutConstructor();\n \\Closure::bind(function (\\Doctrine\\ORM\\EntityManager $instance) {\n unset($instance->config, $instance->conn, $instance->metadataFactory, $instance->unitOfWork, $instance->eventManager, $instance->proxyFactory, $instance->repositoryFactory, $instance->expressionBuilder, $instance->closed, $instance->filterCollection, $instance->cache);\n }, $this, 'Doctrine\\\\ORM\\\\EntityManager')->__invoke($this);\n\n }\n\n $this->valueHolder8f2f0->__construct($conn, $config, $eventManager);\n }\n\n public function & __get($name)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, '__get', ['name' => $name], $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n if (isset(self::$publicProperties6b99d[$name])) {\n return $this->valueHolder8f2f0->$name;\n }\n\n $realInstanceReflection = new \\ReflectionClass(get_parent_class($this));\n\n if (! $realInstanceReflection->hasProperty($name)) {\n $targetObject = $this->valueHolder8f2f0;\n\n $backtrace = debug_backtrace(false);\n trigger_error(\n sprintf(\n 'Undefined property: %s::$%s in %s on line %s',\n get_parent_class($this),\n $name,\n $backtrace[0]['file'],\n $backtrace[0]['line']\n ),\n \\E_USER_NOTICE\n );\n return $targetObject->$name;\n return;\n }\n\n $targetObject = $this->valueHolder8f2f0;\n $accessor = function & () use ($targetObject, $name) {\n return $targetObject->$name;\n };\n $backtrace = debug_backtrace(true);\n $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \\ProxyManager\\Stub\\EmptyClassStub();\n $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));\n $returnValue = & $accessor();\n\n return $returnValue;\n }\n\n public function __set($name, $value)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, '__set', array('name' => $name, 'value' => $value), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n $realInstanceReflection = new \\ReflectionClass(get_parent_class($this));\n\n if (! $realInstanceReflection->hasProperty($name)) {\n $targetObject = $this->valueHolder8f2f0;\n\n return $targetObject->$name = $value;\n return;\n }\n\n $targetObject = $this->valueHolder8f2f0;\n $accessor = function & () use ($targetObject, $name, $value) {\n return $targetObject->$name = $value;\n };\n $backtrace = debug_backtrace(true);\n $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \\ProxyManager\\Stub\\EmptyClassStub();\n $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));\n $returnValue = & $accessor();\n\n return $returnValue;\n }\n\n public function __isset($name)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, '__isset', array('name' => $name), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n $realInstanceReflection = new \\ReflectionClass(get_parent_class($this));\n\n if (! $realInstanceReflection->hasProperty($name)) {\n $targetObject = $this->valueHolder8f2f0;\n\n return isset($targetObject->$name);\n return;\n }\n\n $targetObject = $this->valueHolder8f2f0;\n $accessor = function () use ($targetObject, $name) {\n return isset($targetObject->$name);\n };\n $backtrace = debug_backtrace(true);\n $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \\ProxyManager\\Stub\\EmptyClassStub();\n $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));\n $returnValue = $accessor();\n\n return $returnValue;\n }\n\n public function __unset($name)\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, '__unset', array('name' => $name), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n $realInstanceReflection = new \\ReflectionClass(get_parent_class($this));\n\n if (! $realInstanceReflection->hasProperty($name)) {\n $targetObject = $this->valueHolder8f2f0;\n\n unset($targetObject->$name);\n return;\n }\n\n $targetObject = $this->valueHolder8f2f0;\n $accessor = function () use ($targetObject, $name) {\n unset($targetObject->$name);\n };\n $backtrace = debug_backtrace(true);\n $scopeObject = isset($backtrace[1]['object']) ? $backtrace[1]['object'] : new \\ProxyManager\\Stub\\EmptyClassStub();\n $accessor = $accessor->bindTo($scopeObject, get_class($scopeObject));\n $returnValue = $accessor();\n\n return $returnValue;\n }\n\n public function __clone()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, '__clone', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n $this->valueHolder8f2f0 = clone $this->valueHolder8f2f0;\n }\n\n public function __sleep()\n {\n $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, '__sleep', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n\n return array('valueHolder8f2f0');\n }\n\n public function __wakeup()\n {\n \\Closure::bind(function (\\Doctrine\\ORM\\EntityManager $instance) {\n unset($instance->config, $instance->conn, $instance->metadataFactory, $instance->unitOfWork, $instance->eventManager, $instance->proxyFactory, $instance->repositoryFactory, $instance->expressionBuilder, $instance->closed, $instance->filterCollection, $instance->cache);\n }, $this, 'Doctrine\\\\ORM\\\\EntityManager')->__invoke($this);\n }\n\n public function setProxyInitializer(\\Closure $initializer = null)\n {\n $this->initializerd0fa7 = $initializer;\n }\n\n public function getProxyInitializer()\n {\n return $this->initializerd0fa7;\n }\n\n public function initializeProxy() : bool\n {\n return $this->initializerd0fa7 && ($this->initializerd0fa7->__invoke($valueHolder8f2f0, $this, 'initializeProxy', array(), $this->initializerd0fa7) || 1) && $this->valueHolder8f2f0 = $valueHolder8f2f0;\n }\n\n public function isProxyInitialized() : bool\n {\n return null !== $this->valueHolder8f2f0;\n }\n\n public function getWrappedValueHolderValue() : ?object\n {\n return $this->valueHolder8f2f0;\n }\n\n\n}\n"
}
Workaround
I can work around the issue by adding the following to my App\Kernel
:
protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
{
// ...
$container->setParameter('container.dumper.inline_class_loader', false);
}