magento2: Magento 2.0.4 DI Compilation Breaks CLI Tool
Steps to reproduce
- Install Magento 2.0.4 from composer packages
- Change application mode to: production
- Run
bin/magento setup:di:compile-multi-tenant - Attempt using the
bin/magentotool
Failure encountered
Any attempt to run bin/magento fails until one manually removes the var/di/relations.ser file generated by the compile-multi-tenant process:
PHP Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\Filesystem\DriverInterface in /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:73
Stack trace:
#0 /var/www/magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...')
#1 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(236): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...')
#2 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(53): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'filesystem', 'Magento\\Framewo...')
#3 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(82): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\\Framewo...', Array, Array)
#4 /var/www/magento2/vendor/magento/fr in /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php on line 73
Detailed example
root@m2demo:10:00 AM:/var/www/magento2$ bin/magento | head -n1
Magento CLI version 2.0.4
root@m2demo:10:00 AM:/var/www/magento2$ bin/magento setup:di:compile-multi-tenant | sed 's/^.*$//' | tr "\n" . && echo
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
root@m2demo:10:01 AM:/var/www/magento2$ bin/magento
PHP Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\Filesystem\DriverInterface in /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:73
Stack trace:
#0 /var/www/magento2/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...')
#1 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(236): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...')
#2 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(53): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'filesystem', 'Magento\\Framewo...')
#3 /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(82): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->_resolveArguments('Magento\\Framewo...', Array, Array)
#4 /var/www/magento2/vendor/magento/fr in /var/www/magento2/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php on line 73
root@m2demo:10:02 AM:/var/www/magento2$ ls -1 var/di
plugins.ser
relations.ser
root@m2demo:10:02 AM:/var/www/magento2$ rm -f var/di/relations.ser
root@m2demo:10:02 AM:/var/www/magento2$ bin/magento | head -n1
Magento CLI version 2.0.4
root@m2demo:10:02 AM:/var/www/magento2$ bin/magento deploy:mode:show
Current application mode: production.
root@m2demo:10:02 AM:/var/www/magento2$
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Reactions: 3
- Comments: 19 (12 by maintainers)
Commits related to this issue
- Workaround 2.0.4 regression reported in magento/magento2#4070 — committed to davidalger/m2demo by deleted user 8 years ago
- Add workaround for M2.0.4 bug noted in magento/magento2#4070 — committed to davidalger/capistrano-magento2 by deleted user 8 years ago
- Revert "Add workaround for M2.0.4 bug noted in magento/magento2#4070" This reverts commit 2a48bcb7c0e99639e1b21e14950892f631962306. — committed to davidalger/capistrano-magento2 by deleted user 8 years ago
- Removed workarounds for magento/magento2#2711 and magento/magento2#4070 — committed to davidalger/m2demo by davidalger 8 years ago
Thanks! I will escalate internally.
The igbinary implementation breaks as well on 7.0.x
Same here on php7.0.5 using either multi/single tenant more details here
Complemental Information:
var/di/relations.seryou will find an empty serialized string {}@degaray The only workaround would be to remove the
var/di/relations.serfile after the failed compilation so that the app continues to run. Obviously not a long-term solution since that is effectively nullifying the meta-data caching intended to speed up performance.