15

As a Magento developer I have faced this problem tons of times, I know it is a misconfiguration problem when it occurs some modules are not loaded, neither their routers, causing the error. Most of the times it is solved with no action, other times you may flush the cache

I've read multiple posts about this, trying to debug placing some extra code in Magento core Front controller app/code/core/Mage/Core/Controller/Varien/Front.php, but at the end this only shows which module routers are missing, not why they are not being loaded. Every time it occurs I try to look which URLs are giving the error, but this is useless information, same as the code trace. It's always the same

Maybe it is caused by module conflicts? Maybe it is some cron task doing something wrong? Maybe some wrong code in older Magento versions? The thing is this problem does not occur since 1.7 version (or if it occurs then it is totally sporadic). I have found some code differences in the main flow, such as

Mage::register('application_params', $params);

In run() method of app/code/core/Mage/Core/Model/App.php, or the

$this->_shouldSkipProcessModulesUpdates()

check in _initModules() method...

I want to believe there should be someone who has definitively found the cause. Any tips?

3
  • 1
    Have you referenced this? github.com/convenient/… Commented May 26, 2015 at 12:11
  • 1
    The poster of that article was able to fix their issue by overriding Mage_Core_Model_Config and forcing $_useCache = false Commented May 26, 2015 at 12:13
  • 1
    After reading the whole article, I think you should post that as the right answer to my question, so other users could read it. Thanks Commented May 27, 2015 at 15:11

3 Answers 3

13

It seems you were experiencing a Magento configuration bug.

There is an excellent write-up with solution here.

In that article the author was able to rectify the bug by overriding Mage_Core_Model_Config and forcing $_useCache = false when regenerating the config.

6
  • 5
    Damnit! I never get to reap the rep for that article, other people always link to it first ;) Commented May 28, 2015 at 9:53
  • 3
    Very nice writeup @LukeRodgers! Commented May 28, 2015 at 12:03
  • 5
    I'd just like to comment and say that Magento have accepted this as a fix to the problem with SUPEE-4755 github.com/convenient/… Commented Aug 22, 2015 at 8:01
  • 2
    I've also added another patch. Not quite as nice, but discussed here. github.com/convenient/… Commented Jan 29, 2016 at 15:08
  • I'm facing this issue in Magento 2 CE Version 2.1.0. It should be fixed right because it's old issue?
    – Jackson
    Commented Sep 9, 2016 at 10:23
7

Check the Magento configuration settings Default No-route URL at

System > Configurations > Web > Default Pages
. It should be set the default value cms/index/noRoute. Check the particular store value as well whether it default value has been overwritten here. Magento can go into an infinite loop till it hits the 100 iterations limit if it is not set properly.

If you use Magerun, run this command.

magerun config:set cms/index/noRoute no-route

I have found the solution here, this is was the issue in my case. You can check the URL for other options.

https://merchantprotocol.com/506/solved-front-controller-reached-100-router-match-iterations/

2
  • If I execute ./n98-magerun.phar config:get no-route then I get Couldn't find a config value for "no-route", and the config entry does not even exist, are you sure with your answer?
    – Black
    Commented May 9, 2019 at 12:54
  • 1
    @Black you are doing it wrong. the console get method requires the path - so your command should be - \n "n98-magerun.phar config:get cms/index/noRoute" \n Please check help option by running "n98-magerun.phar config:get --help"
    – Sandipan S
    Commented Jul 20, 2019 at 9:58
0

If you're using Redis, simply restart Redis server

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.