Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Not a bug
-
Affects Version/s: 1.9
-
Fix Version/s: None
-
Component/s: Unknown
-
Labels:None
-
Database:MySQL
-
Affected Branches:MOODLE_19_STABLE
Description
When running cron.php (in the cleanup tasks section that only run 20% of the time), a fatal error is generated when the notify_login_failures(); function is called. Commenting out this line removes the problem.
Original Moodle install was 1.5. Has been upgraded from 1.5 to 1.6, then 1.6 to 1.7, then 1.7 to 1.8, and then 1.8 to 1.9. The utf8 database migration tool was used along the way. Looking at all my table collations, about half are utf8_general_ci and the other half are utf8_unicode_ci.
Specifically in my db, mdl_user and mdl_log are utf8_general_ci and mdl_cache_flags is utf8_unicode_ci.
Here is the full DEVELOPER bug info for the problem:
[03-Feb-2009 14:22:05] PHP Notice: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='<br /><br />SELECT l.*, u.firstname, u.lastname
FROM mdl_log l
JOIN mdl_cache_flags cf ON (l.ip = cf.name)
LEFT JOIN mdl_user u ON (l.userid = u.id)
WHERE l.module = 'login'
AND l.action = 'error'
AND l.time > 1209114906
AND cf.flagtype = 'login_failure_by_ip'
UNION ALL
SELECT l.*, u.firstname, u.lastname
FROM mdl_log l
JOIN mdl_cache_flags cf ON (l.info = cf.name)
LEFT JOIN mdl_user u ON (l.userid = u.id)
WHERE l.module = 'login'
AND l.actio in /home/frtv/public_html/members/lib/weblib.php on line 6878
[03-Feb-2009 14:22:05] PHP Fatal error: Call to a member function FetchRow() on a non-object in /mydomain/public_html/moodle/lib/dmllib.php on line 814
Was there a problem with database migration, meaning should all my tables be utf8_unicode_ci?
Eloy, is this a varchar x text comparison problem?