- Issue created by @Anna D
- π©πͺGermany D34dMan Hamburg
The following code
$this->themeHandler->getThemeDirectories();
in a Plugin manager is calling\Drupal::service('config.factory')->get('core.extension')
somewhere down the lane. This apparently is resulting in circular dependency error.I have not yet figured out how the circular dependency is getting generator. However, doing something like
$a = \Drupal::service('config.factory')->get('core.extension');
in https://git.drupalcode.org/project/string/-/blob/1.0.x/src/StringManager... results in this error.Not sure what is happening here.
- π©πͺGermany D34dMan Hamburg
This can be reproduced only when clearing cache using Drush. The error appears during alternate invocation of cache clear using drush. Probably some cache issue.
Clearing cache using Drupal's User Interface doesn't have this issue.
- π©πͺGermany D34dMan Hamburg
Update:
The problem appears when running `updb` as wellddev drush updb --debug [preflight] Config paths: /var/www/html/vendor/drush/drush/drush.yml [preflight] Alias paths: /var/www/html/web/drush/sites,/var/www/html/drush/sites [preflight] Commandfile search paths: /var/www/html/vendor/drush/drush/src [info] Starting bootstrap to full [1.15 sec, 3.27 MB] [info] Drush bootstrap phase 5 [1.16 sec, 3.27 MB] [info] Try to validate bootstrap phase 5 [1.16 sec, 3.27 MB] [info] Try to validate bootstrap phase 5 [1.16 sec, 3.27 MB] [info] Try to bootstrap at phase 5 [1.16 sec, 3.27 MB] [info] Drush bootstrap phase: bootstrapDrupalRoot() [1.16 sec, 3.27 MB] [info] Change working directory to /var/www/html/web [1.16 sec, 3.27 MB] [info] Initialized Drupal 10.4.6 root directory at /var/www/html/web [1.16 sec, 3.27 MB] [info] Try to validate bootstrap phase 5 [1.16 sec, 3.27 MB] [info] Try to bootstrap at phase 5 [1.16 sec, 3.39 MB] [info] Drush bootstrap phase: bootstrapDrupalSite() [1.16 sec, 3.39 MB] [debug] Could not find a Drush config file at sites/default/drush.yml. [1.16 sec, 3.5 MB] [info] Initialized Drupal site spar-lxp.ddev.site at sites/default [1.16 sec, 3.5 MB] [info] Try to validate bootstrap phase 5 [1.16 sec, 3.5 MB] [info] Try to bootstrap at phase 5 [1.16 sec, 3.5 MB] [info] Drush bootstrap phase: bootstrapDrupalConfiguration() [1.16 sec, 3.5 MB] [info] Try to validate bootstrap phase 5 [1.16 sec, 3.53 MB] [info] Try to bootstrap at phase 5 [1.18 sec, 3.68 MB] [info] Drush bootstrap phase: bootstrapDrupalDatabase() [1.18 sec, 3.68 MB] [info] Successfully connected to the Drupal database. [1.18 sec, 3.68 MB] [info] Try to validate bootstrap phase 5 [1.18 sec, 3.68 MB] [info] Try to bootstrap at phase 5 [1.18 sec, 3.68 MB] [info] Drush bootstrap phase: bootstrapDrupalFull() [1.18 sec, 3.68 MB] [debug] Start bootstrap of the Drupal Kernel. [1.18 sec, 3.68 MB] [debug] Get container builder [1.24 sec, 5.78 MB] [debug] Finished bootstrap of the Drupal Kernel. [1.81 sec, 16.01 MB] [debug] Loading drupal module drush commands & etc. [1.81 sec, 16.01 MB] [debug] Found drush.services.yml for default_content Drush commands [1.81 sec, 16.03 MB] [debug] Found drush.services.yml for key Drush commands [1.81 sec, 16.03 MB] [debug] Found drush.services.yml for token Drush commands [1.81 sec, 16.03 MB] [debug] Found drush.services.yml for ultimate_cron Drush commands [1.81 sec, 16.03 MB] [debug] Found drush.services.yml for votingapi Drush commands [1.81 sec, 16.03 MB] In Container.php line 222: [Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException] Circular reference detected for service "entity_type.manager", path: "entity_field.manager -> entity_type.manager -> plugin.manager.emai l_builder -> entity_type.manager". Exception trace: at /var/www/html/vendor/symfony/dependency-injection/Container.php:222 Symfony\Component\DependencyInjection\Container::make() at /var/www/html/vendor/symfony/dependency-injection/Container.php:211 Symfony\Component\DependencyInjection\Container->get() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:547 Symfony\Component\DependencyInjection\ContainerBuilder->doGet() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1258 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1210 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1110 Symfony\Component\DependencyInjection\ContainerBuilder->createService() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:586 Symfony\Component\DependencyInjection\ContainerBuilder->doGet() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:531 Symfony\Component\DependencyInjection\ContainerBuilder->get() at /var/www/html/web/core/lib/Drupal.php:197 Drupal::service() at /var/www/html/web/modules/contrib/symfony_mailer/src/Processor/MailerConfigOverride.php:90 Drupal\symfony_mailer\Processor\MailerConfigOverride->buildCache() at /var/www/html/web/modules/contrib/symfony_mailer/src/Processor/MailerConfigOverride.php:52 Drupal\symfony_mailer\Processor\MailerConfigOverride->loadOverrides() at /var/www/html/web/core/lib/Drupal/Core/Config/ConfigFactory.php:209 Drupal\Core\Config\ConfigFactory->loadOverrides() at /var/www/html/web/core/lib/Drupal/Core/Config/ConfigFactory.php:169 Drupal\Core\Config\ConfigFactory->doLoadMultiple() at /var/www/html/web/core/lib/Drupal/Core/Config/ConfigFactory.php:104 Drupal\Core\Config\ConfigFactory->doGet() at /var/www/html/web/core/lib/Drupal/Core/Config/ConfigFactory.php:89 Drupal\Core\Config\ConfigFactory->get() at /var/www/html/web/core/lib/Drupal/Core/Extension/ThemeHandler.php:70 Drupal\Core\Extension\ThemeHandler->listInfo() at /var/www/html/web/core/lib/Drupal/Core/Extension/ThemeHandler.php:161 Drupal\Core\Extension\ThemeHandler->getThemeDirectories() at /var/www/html/web/modules/contrib/string/src/StringManager.php:77 Drupal\string\StringManager->getDiscovery() at /var/www/html/web/modules/contrib/string/src/StringManager.php:137 Drupal\string\StringManager->findDefinitions() at /var/www/html/web/core/lib/Drupal/Core/Plugin/DefaultPluginManager.php:213 Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() at /var/www/html/web/modules/contrib/string/src/Translator/StringTranslationDefaults.php:55 Drupal\string\Translator\StringTranslationDefaults->getDefaultValues() at /var/www/html/web/modules/contrib/string/src/Translator/StringTranslationDefaults.php:44 Drupal\string\Translator\StringTranslationDefaults->__construct() at n/a:n/a ReflectionClass->newInstanceArgs() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1140 Symfony\Component\DependencyInjection\ContainerBuilder->createService() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:586 Symfony\Component\DependencyInjection\ContainerBuilder->doGet() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1258 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1210 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1673 Symfony\Component\DependencyInjection\ContainerBuilder->callMethod() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1166 Symfony\Component\DependencyInjection\ContainerBuilder->createService() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:586 Symfony\Component\DependencyInjection\ContainerBuilder->doGet() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1258 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1210 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1110 Symfony\Component\DependencyInjection\ContainerBuilder->createService() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:586 Symfony\Component\DependencyInjection\ContainerBuilder->doGet() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1258 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1210 Symfony\Component\DependencyInjection\ContainerBuilder->doResolveServices() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:1110 Symfony\Component\DependencyInjection\ContainerBuilder->createService() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:586 Symfony\Component\DependencyInjection\ContainerBuilder->doGet() at /var/www/html/vendor/symfony/dependency-injection/ContainerBuilder.php:531 Symfony\Component\DependencyInjection\ContainerBuilder->get() at /var/www/html/vendor/drush/drush/src/Runtime/LegacyServiceInstantiator.php:288 Drush\Runtime\LegacyServiceInstantiator->resolveFromContainer() at /var/www/html/vendor/drush/drush/src/Runtime/LegacyServiceInstantiator.php:253 Drush\Runtime\LegacyServiceInstantiator->resolveArgument() at n/a:n/a array_map() at /var/www/html/vendor/drush/drush/src/Runtime/LegacyServiceInstantiator.php:223 Drush\Runtime\LegacyServiceInstantiator->resolveArguments() at /var/www/html/vendor/drush/drush/src/Runtime/LegacyServiceInstantiator.php:193 Drush\Runtime\LegacyServiceInstantiator->instantiateObject() at /var/www/html/vendor/drush/drush/src/Runtime/LegacyServiceInstantiator.php:174 Drush\Runtime\LegacyServiceInstantiator->create() at /var/www/html/vendor/drush/drush/src/Runtime/LegacyServiceInstantiator.php:128 Drush\Runtime\LegacyServiceInstantiator->instantiateServices() at /var/www/html/vendor/drush/drush/src/Runtime/LegacyServiceInstantiator.php:60 Drush\Runtime\LegacyServiceInstantiator->loadServiceFiles() at /var/www/html/vendor/drush/drush/src/Boot/DrupalBoot8.php:239 Drush\Boot\DrupalBoot8->addDrupalModuleDrushCommands() at /var/www/html/vendor/drush/drush/src/Boot/DrupalBoot8.php:215 Drush\Boot\DrupalBoot8->bootstrapDrupalFull() at /var/www/html/vendor/drush/drush/src/Boot/BootstrapManager.php:236 Drush\Boot\BootstrapManager->doBootstrap() at /var/www/html/vendor/drush/drush/src/Boot/BootstrapManager.php:377 Drush\Boot\BootstrapManager->bootstrapToPhaseIndex() at /var/www/html/vendor/drush/drush/src/Boot/BootstrapManager.php:329 Drush\Boot\BootstrapManager->bootstrapToPhase() at /var/www/html/vendor/drush/drush/src/Boot/BootstrapHook.php:36 Drush\Boot\BootstrapHook->initialize() at /var/www/html/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php:44 Consolidation\AnnotatedCommand\Hooks\Dispatchers\InitializeHookDispatcher->doInitializeHook() at /var/www/html/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php:36 Consolidation\AnnotatedCommand\Hooks\Dispatchers\InitializeHookDispatcher->callInitializeHook() at /var/www/html/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/InitializeHookDispatcher.php:29 Consolidation\AnnotatedCommand\Hooks\Dispatchers\InitializeHookDispatcher->initialize() at /var/www/html/vendor/consolidation/annotated-command/src/CommandProcessor.php:145 Consolidation\AnnotatedCommand\CommandProcessor->initializeHook() at /var/www/html/vendor/consolidation/annotated-command/src/AnnotatedCommand.php:376 Consolidation\AnnotatedCommand\AnnotatedCommand->initialize() at /var/www/html/vendor/symfony/console/Command/Command.php:292 Symfony\Component\Console\Command\Command->run() at /var/www/html/vendor/symfony/console/Application.php:1096 Symfony\Component\Console\Application->doRunCommand() at /var/www/html/vendor/symfony/console/Application.php:324 Symfony\Component\Console\Application->doRun() at /var/www/html/vendor/symfony/console/Application.php:175 Symfony\Component\Console\Application->run() at /var/www/html/vendor/drush/drush/src/Runtime/Runtime.php:110 Drush\Runtime\Runtime->doRun() at /var/www/html/vendor/drush/drush/src/Runtime/Runtime.php:40 Drush\Runtime\Runtime->run() at /var/www/html/vendor/drush/drush/drush.php:139 require() at /var/www/html/vendor/drush/drush/drush:4 include() at /var/www/html/vendor/bin/drush:119
This call seems to be causing the issue
Drupal::service() at /var/www/html/web/modules/contrib/symfony_mailer/src/Processor/MailerConfigOverride.php:90
The code at
https://git.drupalcode.org/project/symfony_mailer/-/blob/1.x/src/Process...
indicates by using \Drupal::service, the circular dependency should have been avoided.// We cannot use dependency injection because that creates a circular // dependency. /** @var \Drupal\symfony_mailer\Processor\EmailBuilderManagerInterface $builderManager */ $builderManager = \Drupal::service('plugin.manager.email_builder');
- π©πͺGermany D34dMan Hamburg
Attaching a temporary fix for those who wan't to unblock themselves
-
d34dman β
committed f78038a7 on 1.1.x
Issue #3514618: Apply temporary fix to avoid site crashing when circular...
-
d34dman β
committed f78038a7 on 1.1.x
-
d34dman β
committed f78038a7 on 1.x
Issue #3514618: Apply temporary fix to avoid site crashing when circular...
-
d34dman β
committed f78038a7 on 1.x