Background: I'm in the process of an overdue upgrade of two Tikis from version 2.2 to the new LTS version 6.x. Testing and adaptation of styles was done on XAMPP localhost under Windows and all worked fine. Problems began with installing on public server (Debian). Installation is done from shell (tar.gz and running setup.sh) and a fresh install works fine.
Problem: When I use the existing database (no problems at database upgrading to 6.2 reported) then it also works fine for anonymous user. But as soon as I try to login as admin user, I get a long wait and then:
Fatal error: Out of memory (allocated 110100480) (tried to allocate 157 bytes) in /home/hrusccbo/tikitest.hruschka.com/tiki-6.2/lib/init/initlib.php on line 185
(Note: the line number 185 varies)
In order to locate the error, I entered the following line in initlib:
171: print ("a:$errno, b:$errstr, c:$errfile, d:$errline");
The result is that Tiki starts displaying thousands of times, in an endless loop, until memory exhaustion:
a:2, b:DateTimeZone::__construct() datetimezone.--construct: Unknown or bad timezone (M), c:lib/tikidate-php5.php, d:182
From that I deduct that the error originates from line 182 of tikidate-php5.php
Some other findings which might be useful:
The last days I tried to enter dev.tiki.org and themes.tiki.org, but could not because the sites displayed exactly the same error. Yesterday I went to IRC chat and was advised to clear the cookies of my browser. After that it worked.
Looking at the cookies now, I found that "local_tz" (I assume that has to do with timezone) of my working tw_2.2 had the content "22%3A37%3A23", the cookie from tiki.org has now the content "UTC", but the cookies from working XAMPP/localhost and from the not working Debian 6.2 installation have both the content "M".
This fits to the origin of the error, as line 182 is "function setTZbyID" which calls "function convertMissingTimezone", where "M" is used in a switch/case statement.
But probably the bug is not really in the tikidate script, but where the cookies are set !!! (see below under "workaround")
Hope that helps to locate the bug and that it can be solved in 6.3. In the meantime I'll wait with migrating.
Thanks to all of you for your great work.
(running 3 tiki sites since 2005)
If I delete the "local_tz" cookie while navigating, then it allows me exactly one operation (e.g. to login). The cookie is then set again. To make a next click I have to clear that cookie again.
(This is not really a feasible "workaround", but maybe a helpful observation)
Still not entirely tested: if I enter a timezone in my preferences, then the error seems to go away. Do preferences override the cookie??? (I have 1000+ users on one tiki website ... mostly all of them have no timezone preference entered)
|No attachments for this item|