Complicated catalog_product_alert error Required parameter ‘theme_dir’ was not passed

As the title says I’m trying to track down and fix the product stock alert functionality on a new M2 site (2.4.2). I’m receiving the following when it is run:

[2021-03-04 15:40:02] main.CRITICAL: Required parameter 'theme_dir' was not passed {"report_id":"567cac79916f5e96e5e511defcf48a6e693cbb923b0317e2d97f06788067a911","exception":"[object] (InvalidArgumentException(code: 0): Required parameter 'theme_dir' was not passed at /www/magento2/vendor/magento/framework/View/Design/Fallback/Rule/Simple.php:61)"} 

I’ve checked all public info on this error and most of the time it is due to a theme that was installed and deleted or data not matching in the DB for the theme directory. I’ve checked pretty much all that stuff and cannot seem to track this down…. As far as I can tell all the theme data in the DB and file system is correct.

Also, it is worth noting that when the catalog_product_alert is run, it does set the fields in the DB (visible in admin) to indicate it ran and set it to completed so it acts if it did run and send the email but there are no emails dispatched.

Below is the detailed error report:

{"0":"Required parameter 'theme_dir' was not passed","1":"#1 Magento\Framework\View\Design\Fallback\Rule\Theme->getPatternDirs() called at [vendor/magento/framework/View/Design/Fallback/Rule/Composite.php:48]n#2 Magento\Framework\View\Design\Fallback\Rule\Composite->getPatternDirs() called at [vendor/magento/framework/View/Design/Fallback/Rule/ModularSwitch.php:50]n#3 Magento\Framework\View\Design\Fallback\Rule\ModularSwitch->getPatternDirs() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/Resolver/Simple.php:125]n#4 Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple->resolveFile() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/Resolver/Simple.php:66]n#5 Magento\Framework\View\Design\FileResolution\Fallback\Resolver\Simple->resolve() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/File.php:42]n#6 Magento\Framework\View\Design\FileResolution\Fallback\File->getFile() called at [vendor/magento/framework/View/Design/FileResolution/Fallback/TemplateFile.php:82]n#7 Magento\Framework\View\Design\FileResolution\Fallback\TemplateFile->getFile() called at [vendor/magento/framework/View/FileSystem.php:126]n#8 Magento\Framework\View\FileSystem->getTemplateFileName() called at [vendor/magento/framework/View/Element/Template/File/Resolver.php:60]n#9 Magento\Framework\View\Element\Template\File\Resolver->getTemplateFileName() called at [vendor/magento/framework/View/Element/Template.php:224]n#10 Magento\Framework\View\Element\Template->getTemplateFile() called at [vendor/magento/framework/View/Element/Template.php:303]n#11 Magento\Framework\View\Element\Template->_toHtml() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1111]n#12 Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}() called at [vendor/magento/framework/View/Element/AbstractBlock.php:1115]n#13 Magento\Framework\View\Element\AbstractBlock->_loadCache() called at [vendor/magento/framework/View/Element/AbstractBlock.php:675]n#14 Magento\Framework\View\Element\AbstractBlock->toHtml()n#15 call_user_func_array() called at [vendor/magento/framework/App/State.php:187]n#16 Magento\Framework\App\State->emulateAreaCode() called at [vendor/magento/module-product-alert/Model/Email.php:368]n#17 Magento\ProductAlert\Model\Email->send() called at [vendor/magento/module-product-alert/Model/Observer.php:356]n#18 Magento\ProductAlert\Model\Observer->_processStock() called at [vendor/magento/module-product-alert/Model/Observer.php:427]n#19 Magento\ProductAlert\Model\Observer->process()n#20 call_user_func_array() called at [vendor/amasty/cron-scheduler/Controller/Adminhtml/Jobs/Run.php:98]n#21 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run->execute() called at [vendor/magento/framework/Interception/Interceptor.php:58]n#22 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]n#23 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/App/Action/Plugin/ActionFlagNoDispatchPlugin.php:51]n#24 Magento\Framework\App\Action\Plugin\ActionFlagNoDispatchPlugin->aroundExecute() called at [vendor/magento/framework/Interception/Interceptor.php:135]n#25 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]n#26 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->___callPlugins() called at [generated/code/Amasty/CronScheduler/Controller/Adminhtml/Jobs/Run/Interceptor.php:23]n#27 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->execute() called at [vendor/magento/framework/App/Action/Action.php:111]n#28 Magento\Framework\App\Action\Action->dispatch() called at [vendor/magento/module-backend/App/AbstractAction.php:151]n#29 Magento\Backend\App\AbstractAction->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]n#30 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]n#31 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-backend/App/Action/Plugin/Authentication.php:143]n#32 Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]n#33 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]n#34 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->___callPlugins() called at [generated/code/Amasty/CronScheduler/Controller/Adminhtml/Jobs/Run/Interceptor.php:32]n#35 Amasty\CronScheduler\Controller\Adminhtml\Jobs\Run\Interceptor->dispatch() called at [vendor/magento/framework/App/FrontController.php:186]n#36 Magento\Framework\App\FrontController->processRequest() called at [vendor/magento/framework/App/FrontController.php:118]n#37 Magento\Framework\App\FrontController->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]n#38 Magento\Framework\App\FrontController\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]n#39 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [app/code/Infortis/Cgen/Plugin/Magento/Framework/App/FrontController.php:32]n#40 Infortis\Cgen\Plugin\Magento\Framework\App\FrontController->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]n#41 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]n#42 Magento\Framework\App\FrontController\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:23]n#43 Magento\Framework\App\FrontController\Interceptor->dispatch() called at [vendor/magento/framework/App/Http.php:116]n#44 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/App/Bootstrap.php:263]n#45 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:29]n","url":"\/amasty_cronscheduler/jobs/run/id/44/key/0fd29e9b1958b4a2c6aa46c42d1866a762e167016a4fcc5c15b64db9e28e9ed4/","script_name":"/index.php","report_id":"a9db4eb2ff477b8c037eca44dc2e9fc40f85a3bac16c5e82208c44f9847af77a"} 

I’m wondering if anyone can give me some guidance on what else to look for to try to figure this out…

submitted by /u/johndiesel11
[link] [comments]