Search code examples
phpconcrete5

Memory leak in concrete5


I am trying to install a concrete5 version from a different server on a new server.

When i copy the config and database it loads for some time and then throws the error 500. The PHP error log tells me that it's an memory limit problem.

I've then set the memory limit to 2GB and it still hit the limit. I enabled xdebug and checked what's the problem. It seems like some recursive function is being called over and over again. Here is a snippet of the stacktrace:

[04-Oct-2016 21:10:47 Asia/Kuwait] PHP Stack trace:
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   1. {main}() C:\inetpub\wwwroot\tce\index.php:0
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   2. require() C:\inetpub\wwwroot\tce\index.php:2
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   3. require() C:\inetpub\wwwroot\tce\concrete\dispatcher.php:94
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   4. Concrete5_Library_Localization::init() C:\inetpub\wwwroot\tce\concrete\config\localization.php:41
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   5. Concrete5_Library_Localization::getInstance() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:8
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   6. Concrete5_Library_Localization->__construct() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:17
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   7. Concrete5_Library_Localization->setLocale() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:62
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   8. Concrete5_Library_Loader->package() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:117
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP   9. t() C:\inetpub\wwwroot\tce\concrete\core\libraries\loader.php:334
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  10. Concrete5_Library_Localization::getTranslate() C:\inetpub\wwwroot\tce\concrete\startup\localization.php:12
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  11. Concrete5_Library_Localization::getInstance() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:159
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  12. Concrete5_Library_Localization->__construct() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:17
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  13. Concrete5_Library_Localization->setLocale() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:62
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  14. Concrete5_Library_Loader->package() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:117
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  15. t() C:\inetpub\wwwroot\tce\concrete\core\libraries\loader.php:334
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  16. Concrete5_Library_Localization::getTranslate() C:\inetpub\wwwroot\tce\concrete\startup\localization.php:12
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  17. Concrete5_Library_Localization::getInstance() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:159
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  18. Concrete5_Library_Localization->__construct() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:17
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  19. Concrete5_Library_Localization->setLocale() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:62
[04-Oct-2016 21:10:47 Asia/Kuwait] PHP  20. Concrete5_Library_Loader->package() C:\inetpub\wwwroot\tce\concrete\core\libraries\localization.php:117

Can someone say what could be the problem with this?


Solution

  • As this issue caused me to lose several hours as well, I will answer it one year later, for the fellow googlers to see.

    I was not able to find a solution to this. So: The problem were missing files in the /package/ folder. This caused the localization to search for this package over and over again. Its recursive forever.

    The problem is not the different server nor another php version, as I found out in the end - just some missing files. Thats why it works when you change the locale to en_US - the translator doesn't run.