I have a custom module with a plugin for Magento\Framework\Encryption\Encryptor
that seems to be causing issues after upgrading to Magento 2.3.2 (from 2.3.1.) When I disable the module, everything works fine. When I enable it, I get "No commands in the namespace" for any namespace I try to use. When I run bin/magento list
I get a more detailed error message:
In ServiceManager.php line 1130:
An abstract factory could not create an instance of magentosetupconsolecommandbackupcommand(alias: Magento\Setup\Console\Command\BackupCommand).
In ServiceManager.php line 941:
An exception was raised while creating "Magento\Setup\Console\Command\BackupCommand"; no instance returned
In Di.php line 865:
Missing instance/object for parameter maintenanceMode for Magento\Setup\Console\Command\BackupCommand::__construct
In ServiceManager.php line 1130:
An abstract factory could not create an instance of magentoframeworkappmaintenancemode(alias: Magento\Framework\App\MaintenanceMode).
In ServiceManager.php line 941:
An exception was raised while creating "Magento\Framework\App\MaintenanceMode"; no instance returned
In Developer.php line 55:
Circular dependency: Magento\Framework\Logger\Monolog depends on Magento\Framework\Cache\InvalidateLogger and vice versa.
I'm fairly certain that it's the plugin on Encryptor
causing this, because when I remove that plugin from di.xml
the error goes away.
I've also tried commenting out all of the methods from the plugin, so that it's just an empty class, but the error persists. It appears to be the bare fact that there is a plugin registered for that class that is causing the error.
Any ideas why this might be? I'm not sure why enabling a plugin would appear to cause an error somewhere else entirely, especially when that plugin doesn't even have any methods in it. It worked perfectly well in 2.3.1, as well.
use Magento\Framework\Encryption\Encryptor
and if that does not work then share your both codes. In which mode currently you are working(default,devloper,production
)