After installing SUPEE-7405 on a Magento 1.6.2.0 installation I now have lots of error messages in system.log
ERR (3): Recoverable Error: Argument 2 passed to Mage_Core_Model_Config::_makeEventsLowerCase() must be an instance of Mage_Core_Model_Config_Base, instance of Mage_Api_Model_Wsdl_Config_Base given, called in app/code/core/Mage/Core/Model/Config.php on line 965 and defined in app/code/core/Mage/Core/Model/Config.php on line 1648
Line broken for easier reading
ERR (3): Recoverable Error: Argument 2 passed to
Mage_Core_Model_Config::_makeEventsLowerCase() must be an instance of
Mage_Core_Model_Config_Base, instance of Mage_Api_Model_Wsdl_Config_Base
given, called in app/code/core/Mage/Core/Model/Config.php on line 965 and
defined in app/code/core/Mage/Core/Model/Config.php on line 1648
This obviously seems related to API usage which is the case for this installation.
The function definition is
protected function _makeEventsLowerCase($area, Mage_Core_Model_Config_Base $mergeModel)
The mentioned classes are defined as
class Mage_Api_Model_Wsdl_Config_Base extends Varien_Simplexml_Config class Mage_Core_Model_Config_Base extends Varien_Simplexml_Config
So they both derive from Varien_Simplexml_Config and maybe nothing bad happens but this is still very noisy and generates thousands of log entries. How can this be fixed?
Looks like Magento is trying to load a wsdl.xml for every single module -> even if that file doesn't exist.
The error is happening when the file doesn't exist.
Now I just need to figure out WHY Magento is doing that so I can get rid of this error. It is making my logs completely useless.
Looks like updating app/code/core/Mage/Api/Model/Wsdl/Config/Base.php to extend Mage_Core_Model_Config_Base resolves this error.
I'm not certain if this change will have any adverse effects.
EDITING - after testing making some API calls this change breaks the API. Looks like we need to go a different direction to fix....
Changing the _makeEventsLowerCase method to accept a Varien_Simplexml_Config type instead of a Mage_Core_Model_Config_Base type fixes the problem for me.
Thanks for sharing the fix.
Thanks for reporting the issue.