Skip to content

[DependencyInjection][ProxyManager] Failed opening required file during cache warmup #33181

Closed
@Devristo

Description

@Devristo

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 in symfony/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

image

Perhaps something is going wrong in \Symfony\Component\DependencyInjection\Dumper\PhpDumper::generateProxyClasses ? See

$file = preg_replace('#^\\$this->targetDirs\[(\d++)\]#', sprintf('\dirname(__DIR__, %d + $1)', $this->asFiles), $file);

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);
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions