You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 22, 2019. It is now read-only.
Any actions that trigger the AvaTax code will result in this error "$serverData must be an array or object implementing ArrayAccess":
Overview of issue
This issue is being caused because the \ClassyLlama\AvaTax\Model\Logger\FileHandler and \ClassyLlama\AvaTax\Model\Logger\DbHandler classes are getting the \Monolog\Processor\WebProcessor class via dependency injection. However whenever Magento \Magento\Framework\ObjectManager\Config\Compiled::getArguments method is called to get the constructor arguments for the \Monolog\Processor\WebProcessor class, since that class doesn't have any arguments specified in di.xml, the WebProcessor class defaults to getting a single argument which is an instance of Magento\Framework\ObjectManagerInterface (see https://github.com/magento/magento2/blob/2.0.6/lib/internal/Magento/Framework/ObjectManager/Config/Compiled.php#L79)
NOTE: This issue hasn't been detected before as Magento has recommended against using the bin/magento setup:di:compile due to issues with it ("There is a known issue with the single-tenant compiler; it does not currently compile proxies. Therefore, if you're preparing to deploy to production, you must use the multi-tenant compiler."), so testing wasn't being done using that compilation method.
The text was updated successfully, but these errors were encountered:
Steps to reproduce
bin/magento setup:di:compile
Overview of issue
This issue is being caused because the
\ClassyLlama\AvaTax\Model\Logger\FileHandler
and\ClassyLlama\AvaTax\Model\Logger\DbHandler
classes are getting the\Monolog\Processor\WebProcessor
class via dependency injection. However whenever Magento\Magento\Framework\ObjectManager\Config\Compiled::getArguments
method is called to get the constructor arguments for the\Monolog\Processor\WebProcessor
class, since that class doesn't have any arguments specified indi.xml
, theWebProcessor
class defaults to getting a single argument which is an instance ofMagento\Framework\ObjectManagerInterface
(see https://github.com/magento/magento2/blob/2.0.6/lib/internal/Magento/Framework/ObjectManager/Config/Compiled.php#L79)NOTE: This issue hasn't been detected before as Magento has recommended against using the
bin/magento setup:di:compile
due to issues with it ("There is a known issue with the single-tenant compiler; it does not currently compile proxies. Therefore, if you're preparing to deploy to production, you must use the multi-tenant compiler."), so testing wasn't being done using that compilation method.The text was updated successfully, but these errors were encountered: