Open
Description
Preconditions
- Magento 2.2.5
- PHP 7.0.31
Steps to reproduce
- Make sure no cronjobs are active
- Setup a clean Magento 2.2.5 installation (using composer)
- Run
bin/magento config:set sales_email/general/async_sending 1
- In the backend, create a product
- Flush caches
- In the frontend, put the created product in your shopping cart, and go through the checkout so you have an order
- Since async sales emails sending is enabled, there is now one email in the queue to be send
- Now disable async sending, which will also trigger that the pending emails get send:
bin/magento config:set sales_email/general/async_sending 0
Expected result
- Pending emails get send
- Async setting gets disabled
- No errors
Actual result
- No pending emails get send
- Async setting doesn't get disabled
- See error:
Required parameter 'theme_dir' was not passed
Additional
- I'm pretty convinced this used to work in an earlier version of Magento, but will have to do some more testing to see exactly where it worked and where it got broken.
- Stack trace, should this be helpful:
#0 Magento\Framework\View\Design\Fallback\Rule\Simple->getPatternDirs() called at [vendor/magento/framework/View/Design/Fallback/Rule/Theme.php:78]
#1 Magento\Framework\View\Design\Fallback\Rule\Theme->getPatternDirs() called at [vendor/magento/framework/View/Design/Fallback/Rule/Composite.php:48]
#2 Magento\Framework\View\Design\Fallback\Rule\Composite->getPatternDirs() called at [vendor/magento/framework/View/Design/Fallback/Rule/ModularSwitch.php:50]
#3 Magento\Framework\View\Design\Fallback\Rule\ModularSwitch->getPatternDirs() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/Resolver/Simple.php:124]
#4 Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple->resolveFile() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/Resolver/Simple.php:66]
#5 Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple->resolve() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/File.php:42]
#6 Magento\Framework\View\Design\FileResolution\Fallback\File->getFile() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/TemplateFile.php:82]
#7 Magento\Framework\View\Design\FileResolution\Fallback\TemplateFile->getFile() called at [vendor/magento/framework/View/FileSystem.php:125]
#8 Magento\Framework\View\FileSystem->getTemplateFileName() called at [vendor/magento/framework/View/Element/Template/File/Resolver.php:61]
#9 Magento\Framework\View\Element\Template\File\Resolver->getTemplateFileName() called at [vendor/magento/framework/View/Element/Template.php:221]
#10 Magento\Framework\View\Element\Template->getTemplateFile() called at [vendor/magento/framework/View/Element/Template.php:300]
#11 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:667]
#12 Magento\Framework\View\Element\AbstractBlock->toHtml() called at [vendor/magento/module-payment/Helper/Data.php:218]
#13 Magento\Payment\Helper\Data->getInfoBlockHtml() called at [generated/code/Magento/Payment/Helper/Data/Interceptor.php:76]
#14 Magento\Payment\Helper\Data\Interceptor->getInfoBlockHtml() called at [vendor/magento/module-sales/Model/Order/Email/Sender/OrderSender.php:155]
#15 Magento\Sales\Model\Order\Email\Sender\OrderSender->getPaymentHtml() called at [vendor/magento/module-sales/Model/Order/Email/Sender/OrderSender.php:128]
#16 Magento\Sales\Model\Order\Email\Sender\OrderSender->prepareTemplate() called at [vendor/magento/module-sales/Model/Order/Email/Sender.php:77]
#17 Magento\Sales\Model\Order\Email\Sender->checkAndSend() called at [vendor/magento/module-sales/Model/Order/Email/Sender/OrderSender.php:102]
#18 Magento\Sales\Model\Order\Email\Sender\OrderSender->send() called at [vendor/magento/module-sales/Model/EmailSenderHandler.php:74]
#19 Magento\Sales\Model\EmailSenderHandler->sendEmails() called at [vendor/magento/module-sales/Observer/Virtual/SendEmails.php:50]
#20 Magento\Sales\Observer\Virtual\SendEmails->execute() called at [vendor/magento/framework/Event/Invoker/InvokerDefault.php:72]
#21 Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod() called at [vendor/magento/framework/Event/Invoker/InvokerDefault.php:60]
#22 Magento\Framework\Event\Invoker\InvokerDefault->dispatch() called at [vendor/magento/framework/Event/Manager.php:66]
#23 Magento\Framework\Event\Manager->dispatch() called at [generated/code/Magento/Framework/Event/Manager/Proxy.php:95]
#24 Magento\Framework\Event\Manager\Proxy->dispatch() called at [vendor/magento/module-sales/Model/Config/Backend/Email/AsyncSending.php:32]
#25 Magento\Sales\Model\Config\Backend\Email\AsyncSending->afterSave() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#26 Magento\Sales\Model\Config\Backend\Email\AsyncSending\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#27 Magento\Sales\Model\Config\Backend\Email\AsyncSending\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#28 Magento\Sales\Model\Config\Backend\Email\AsyncSending\Interceptor->___callPlugins() called at [generated/code/Magento/Sales/Model/Config/Backend/Email/AsyncSending/Interceptor.php:26]
#29 Magento\Sales\Model\Config\Backend\Email\AsyncSending\Interceptor->afterSave() called at [vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php:832]
#30 Magento\Framework\Model\ResourceModel\Db\AbstractDb->processAfterSaves() called at [vendor/magento/framework/Model/ResourceModel/Db/AbstractDb.php:418]
#31 Magento\Framework\Model\ResourceModel\Db\AbstractDb->save() called at [vendor/magento/module-config/Console/Command/ConfigSet/DefaultProcessor.php:85]
#32 Magento\Config\Console\Command\ConfigSet\DefaultProcessor->process() called at [vendor/magento/module-config/Console/Command/ConfigSet/ProcessorFacade.php:156]
#33 Magento\Config\Console\Command\ConfigSet\ProcessorFacade->processWithLockTarget() called at [vendor/magento/module-config/Console/Command/ConfigSetCommand.php:182]
#34 Magento\Config\Console\Command\ConfigSetCommand->Magento\Config\Console\Command\{closure}()
#35 call_user_func_array() called at [vendor/magento/module-config/Console/Command/EmulatedAdminhtmlAreaProcessor.php:59]
#36 Magento\Config\Console\Command\EmulatedAdminhtmlAreaProcessor->Magento\Config\Console\Command\{closure}()
#37 call_user_func_array() called at [vendor/magento/framework/App/State.php:186]
#38 Magento\Framework\App\State->emulateAreaCode() called at [vendor/magento/module-config/Console/Command/EmulatedAdminhtmlAreaProcessor.php:60]
#39 Magento\Config\Console\Command\EmulatedAdminhtmlAreaProcessor->process() called at [vendor/magento/module-config/Console/Command/ConfigSetCommand.php:184]
#40 Magento\Config\Console\Command\ConfigSetCommand->execute() called at [vendor/symfony/console/Command/Command.php:241]
#41 Symfony\Component\Console\Command\Command->run() called at [vendor/symfony/console/Application.php:843]
#42 Symfony\Component\Console\Application->doRunCommand() called at [vendor/symfony/console/Application.php:193]
#43 Symfony\Component\Console\Application->doRun() called at [vendor/magento/framework/Console/Cli.php:104]
#44 Magento\Framework\Console\Cli->doRun() called at [vendor/symfony/console/Application.php:117]
#45 Symfony\Component\Console\Application->run() called at [bin/magento:23]
Metadata
Metadata
Assignees
Labels
Gate 3 Passed. Manual verification of the issue completed. Issue is confirmedMay be fixed according to the position in the backlog.Indicates original Magento version for the Issue report.The issue has been reproduced on latest 2.4-develop branchAffects non-critical data or functionality and does not force users to employ a workaround.