Upgrade from 5.6.3.2 to 5.6.3.4 fails : php out of memory

Permalink
Hello,

I just tried to update an old web site from 5.6.3.2 to 5.6.3.4 and it fails Now I can't access the web site any more. I get a PHP error :

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 305189 bytes) in <basedir>\concrete\libraries\3rdparty\Zend\Cache\Backend\File.php on line 962


I increased memory up to 1GB... it just get longer but it eventually fails.

I also cleared files/cache folder.

Could I disable cache without accessing the dashboard ? Anything else I could try ?

Thanks for your help
JS

 
tallacman replied on at Permalink Reply
tallacman
So you changed the php.ini file? What was the setting previously? Changes to the .ini file require a server reboot to take affect, I believe.
jsroques replied on at Permalink Reply
Hello,

Actually, I copied everything from my hosted web site on a local "xampp" server because it seems that my provider does not allow more than 256M.

I did change the PHP.ini on my local server.

For 512M :
Allowed memory size of 536870912 bytes exhausted (tried to allocate 305189 bytes)


For 1024M, I now get a timeout but I can see apache process consuming more that 1GB

So my guess is that there is a memory leak somewhere and increaing php allowance is not the way to go...

JS
jsroques replied on at Permalink Reply
Hello Again,

I did a bit of digging and it seems to indefinitely loopging over 2 files in the cache :

files\cache\zend_cache---6fb83f0d33f9b1e6780ab325bc92dc05Zend_Translate_Gettext_Options
files\cache\zend_cache---6fb83f0d33f9b1e6780ab325bc92dc05Zend_Translate_e010f8dc362fec058c293cfb9b953a57_Gettext


So it may have to do with translation more that with cache. The more memory... the more loops !

I am using french locale.

Any thoughts ?
Thanks.
JS
jsroques replied on at Permalink Reply
A bit more of digging...

I tried to have a look at the call stack from _fileGetContents and it seems there is some kind of recursive call linked to localization :

#0 Zend_Cache_Backend_File->_fileGetContents(D:\Programmes\xampp\htdocs\concrete5.6.3.4\files\cache\zend_cache---6fb83f0d33f9b1e6780ab325bc92dc05Zend_Translate_e010f8dc362fec058c293cfb9b953a57_Gettext) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\libraries\3rdparty\Zend\Cache\Backend\File.php:181] #1 Zend_Cache_Backend_File->load(6fb83f0d33f9b1e6780ab325bc92dc05Zend_Translate_e010f8dc362fec058c293cfb9b953a57_Gettext, ) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\libraries\3rdparty\Zend\Cache\Core.php:305] #2 Zend_Cache_Core->load(Zend_Translate_e010f8dc362fec058c293cfb9b953a57_Gettext) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\libraries\3rdparty\Zend\Translate\Adapter.php:619] #3 Zend_Translate_Adapter->_addTranslationData(Array ([content] => D:\Programmes\xampp\htdocs\concrete5.6.3.4\languages\fr_FR\LC_MESSAGES\messages.mo,[disableNotices] => 1,[ignore] => Array ([0] => .,[1] => messages.po),[locale] => fr_FR,[clear] => ,[log] => ,[logMessage] => Untranslated message within '%locale%': %message%,[logPriority] => 5,[logUntranslated] => ,[reload] => ,[route] => ,[scan] => ,[tag] => Zend_Translate)) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\libraries\3rdparty\Zend\Translate\Adapter.php:307] #4 Zend_Translate_Adapter->addTranslation(Array ([content] => D:\Programmes\xampp\htdocs\concrete5.6.3.4/languages/fr_FR,[disableNotices] => 1,[ignore] => Array ([0] => .,[1] => messages.po),[locale] => fr_FR)) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\libraries\3rdparty\Zend\Translate\Adapter.php:176] #5 Zend_Translate_Adapter->__construct(Array ([content] => D:\Programmes\xampp\htdocs\concrete5.6.3.4/languages/fr_FR,[locale] => fr_FR,[disableNotices] => 1,[ignore] => Array ([0] => .,[1] => messages.po))) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\libraries\3rdparty\Zend\Translate.php:140] #6 Zend_Translate->setAdapter(Array ([adapter] => gettext,[content] => D:\Programmes\xampp\htdocs\concrete5.6.3.4/languages/fr_FR,[locale] => fr_FR,[disableNotices] => 1,[ignore] => Array ([0] => .,[1] => messages.po))) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\libraries\3rdparty\Zend\Translate.php:93] #7 Zend_Translate->__construct(Array ([adapter] => gettext,[content] => D:\Programmes\xampp\htdocs\concrete5.6.3.4/languages/fr_FR,[locale] => fr_FR,[disableNotices] => 1,[ignore] => Array ([0] => .,[1] => messages.po))) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\core\libraries\localization.php:100] #8 Concrete5_Library_Localization->setLocale(fr_FR) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\core\libraries\localization.php:62] #9 Concrete5_Library_Localization->__construct() called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\core\libraries\localization.php:17] #10 Concrete5_Library_Localization::getInstance() called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\core\libraries\localization.php:156] #11 Concrete5_Library_Localization::getTranslate() called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\startup\localization.php:12] #12 t(Warning - failed to load package with pkgHandle '%1$s'. Could not find package controller file: '%2$s', theme_stripped, D:\Programmes\xampp\htdocs\concrete5.6.3.4/packages/theme_stripped/controller.php) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\core\libraries\loader.php:334] #13 Concrete5_Library_Loader->package(theme_stripped) called at 
[D:\Programmes\xampp\htdocs\concrete5.6.3.4\concrete\core\libraries\localization.php:114] #14 Concrete5_Library_Localization->setLocale(fr_FR) called at


it tries to load controller.php which does not exists then tries to translate the error message and to do so; tries to load controller.php which does not exists then... ok... you got the idea

What is this file "/packages/theme_stripped/controller.php" ? My "packages" directory is empty. Why is it trying to load this for translation ? Could this be coming from my custom theme ?

Any help is appreciated.
Thanks.
JS
jsroques replied on at Permalink Reply
Hello,

Anyone ? I am totally stuck... can't restart the site.
Any help is appreciated !

Thanks.
JS
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
First of all I assume you tried to upgrade to 5.6.3.4 and not as you have stated 5.6.2.4?
Next, How exactly did you try to upgrade, what did you do to upgrade..
jsroques replied on at Permalink Reply
Hello,

Yes, it is indeed 5.6.3.4. I corrected the typo.

I did the upgrade using the dashboard.

I beleive the source of the problem is internationnalization. How could I revert back to english directly modifying the database ? Where is this stored ?

Thanks
JS
jsroques replied on at Permalink Best Answer Reply
Ok. My site is finaly back on line.
I did change the locale from "fr_FR" to "en_US" for cfKey "SITE_LOCALE" in config table.

I'll keep this locale... seems that internationnalization is causing quite a bit of trouble.

Thanks.
JS
web089 replied on at Permalink Reply
web089
Hi, got the same issue today.
What did you exactly do? In wich file did you change something?
jsroques replied on at Permalink Reply
Hello Web089,

I made the modification in the database, not in a file.

I used phpMyAdmin provided by my... provider to make the change.
In the "config" table, I updated the value for "SITE_LOCALE" to en_US.

Hope this will work for you.
JS
web089 replied on at Permalink Reply
web089
Hi JS,

did you change it before you run the update or after you tried it again?
jsroques replied on at Permalink Reply
Hello again Web089,

Here is the step I took :

- launch the upgrade from the Dashboard
- saw the error message after launching the upgrade. I could not access the site nor the dashboard
- change the locale in the database
- access the site and the dashboard !

It seems the upgrade was not done. But... did not try the upgrade again yet...
I will do a full backup before trying anything else and I don't have time now.

Hope this helps.
JS