I've found a bug in the file functions_xperience.php, within the function "DoAchievements" ..
The result of the bug is that the scheduled task that calculates achievements will eventually prematurely end before processing all achievements.
The limit variable that is passed which is defaulted to 100, is being reached early causing the function to return before running all achievements. The variable seems to be used inconsistently as it's used to limit the stats pulled for an achievement, but rather than looping through groups of the achievement, it returns out of the function with no way of continuing from where it left off. Also, the processed count is incremented on non-related activities, so it wouldn't be a reliable count to use for continuing the process anyway.
Has anyone noticed this? (It was found in version 4.0.4)
|