Hi Invision Community Support,
I recently started running an achievement rebuild, but I’m encountering some issues that I need help resolving.
Current Progress
Achievement Rebuild Progress:
13% (3750 / 28852) — The process has stalled and is not moving forward.
Locked Task:
Task: queue
Application: System
Description: Runs background queue tasks.
Last Run: 10 hours ago.
I see the following message:
One of the routine maintenance tasks which run in the background has failed several times, which may indicate a configuration issue.
Logs and Error Details
From the logs, I am encountering the following error during the rebuild process:
css
Error: Cannot use object of type IPS\forums\Topic\Post as array (0)
#0 /home/mi/public_html/system/Member/Member.php(6243): IPS\forums\extensions\core\AchievementAction\AnswerMarkedBest->identifier(Object(IPS\Member), Object(IPS\forums\Topic\Post))
#1 /home/mi/public_html/applications/forums/extensions/core/AchievementAction/AnswerMarkedBest.php(306): IPS\Member->achievementAction('forums', 'AnswerMarkedBes...', Object(IPS\forums\Topic\Post), Object(IPS\DateTime))
#2 /home/mi/public_html/applications/core/extensions/core/Queue/RebuildAchievements.php(157): IPS\forums\extensions\core\AchievementAction\AnswerMarkedBest::rebuildRow(Array, Array)
#3 /home/mi/public_html/system/Task/Task.php(111): IPS\core\extensions\core\Queue\RebuildAchievements->run(Array, 0)
#4 /home/mi/public_html/applications/core/tasks/queue.php(49): IPS\Task::runQueue()
#5 /home/mi/public_html/system/Task/Task.php(444): IPS\core\tasks\queue->IPS\core\tasks\{closure}()
#6 /home/mi/public_html/applications/core/tasks/queue.php(44): IPS\Task->runUntilTimeout(Object(Closure))
#7 /home/mi/public_html/system/Task/Task.php(343): IPS\core\tasks\queue->execute()
#8 /home/mi/public_html/applications/core/modules/admin/settings/advanced.php(756): IPS\Task->run()
#9 /home/mi/public_html/system/Dispatcher/Controller.php(128): IPS\core\modules\admin\settings\advanced->runTask()
#10 /home/mi/public_html/applications/core/modules/admin/settings/advanced.php(98): IPS\Dispatcher\Controller->execute()
#11 /home/mi/public_html/system/Dispatcher/Dispatcher.php(169): IPS\core\modules\admin\settings\advanced->execute()
#12 /home/mi/public_html/admin/index.php(15): IPS\Dispatcher->run()
#13 {main}
Steps Taken to Resolve
I attempted to debug the issue by reviewing the Member.php file at line 6243, where the error seems to originate.
It appears that the identifier method in IPS\forums\extensions\core\AchievementAction\AnswerMarkedBest is being passed an object (IPS\forums\Topic\Post) instead of the expected array.
I tried converting the object to an array, but it caused additional errors, potentially due to deeper dependencies or mismatches.
Request for Assistance
Could you help identify the correct approach to handle the identifier method's input to prevent this error?
What steps should I take to successfully restart the queue task and ensure the achievement rebuild completes?
Thank you for your assistance!