XF 2.0 Rebuild user caches crashes after 2.0.4 update

high1976

Active member
updated my testboard from 1.5.18 to 2.0.4 today. Rebuild user caches crashes on various accounts. So far this affects accounts that where imported years ago to XF1.x from a former phpbb board. There is no issue with the same accounts under 1.5.18, rebuilding works fine.

Code:
An exception occurred: [Error] Call to a member function rebuildUserFieldValuesCache() on null in src/XF/Job/User.php on line 52

XF\Job\User->rebuildById() in src/XF/Job/AbstractRebuildJob.php at line 47
XF\Job\AbstractRebuildJob->run() in src/XF/Job/Manager.php at line 241
XF\Job\Manager->runJobInternal() in src/XF/Job/Manager.php at line 187
XF\Job\Manager->runJobEntry() in src/XF/Job/Manager.php at line 103
XF\Job\Manager->runByIds() in src/XF/Admin/Controller/Tools.php at line 120
XF\Admin\Controller\Tools->actionRunJob() in src/XF/Mvc/Dispatcher.php at line 249
XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 88
XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 41
XF\Mvc\Dispatcher->run() in src/XF/App.php at line 1891
XF\App->run() in src/XF.php at line 328
XF::runApp() in admin.php at line 13
Code:
Stack trace
#0 src/XF/Job/AbstractRebuildJob.php(47): XF\Job\User->rebuildById(130483)
#1 src/XF/Job/Manager.php(241): XF\Job\AbstractRebuildJob->run(8)
#2 src/XF/Job/Manager.php(187): XF\Job\Manager->runJobInternal(Array, 8)
#3 src/XF/Job/Manager.php(76): XF\Job\Manager->runJobEntry(Array, 8)
#4 src/XF/Admin/Controller/Tools.php(139): XF\Job\Manager->runQueue(true, 8)
#5 src/XF/Mvc/Dispatcher.php(249): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', 'html', Object(XF\Mvc\ParameterBag), 'tools', Object(XF\Admin\Controller\Tools), NULL)
#7 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#8 src/XF/App.php(1891): XF\Mvc\Dispatcher->run()
#9 src/XF.php(328): XF\App->run()
#10 admin.php(13): XF::runApp('XF\\Admin\\App')
#11 {main}
Request state
array(4) {
  ["url"] => string(24) "/admin.php?tools/run-job"
  ["referrer"] => string(56) "https://l.com/admin.php?tools/run-job"
  ["_GET"] => array(1) {
    ["tools/run-job"] => string(0) ""
  }
  ["_POST"] => array(3) {
    ["_xfRedirect"] => string(10) "/admin.php"
    ["_xfToken"] => string(8) "********"
    ["only_ids"] => string(0) ""
  }
}
 
Last edited:
Not stupid, don't worry :)

If you run this query, does resuming the rebuild get past that user?
SQL:
INSERT IGNORE INTO xf_user_option (user_id) SELECT user_id FROM xf_user;
INSERT IGNORE INTO xf_user_privacy (user_id) SELECT user_id FROM xf_user;
INSERT IGNORE INTO xf_user_profile (user_id) SELECT user_id FROM xf_user;
INSERT IGNORE INTO xf_user_authenticate (user_id) SELECT user_id FROM xf_user;
 
perfect, thanks ;)
Code:
INSERT IGNORE INTO xf_user_profile (user_id) SELECT user_id FROM xf_user;# 196 Datensätze betroffen.
did the trick. Cache rebuilt successfully.
 
I did, was just the only one with results ;)
Code:
INSERT IGNORE INTO xf_user_option (user_id) SELECT user_id FROM xf_user;# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). INSERT IGNORE INTO xf_user_privacy (user_id) SELECT user_id FROM xf_user;# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze). INSERT IGNORE INTO xf_user_profile (user_id) SELECT user_id FROM xf_user;# 196 Datensätze betroffen. INSERT IGNORE INTO xf_user_authenticate (user_id) SELECT user_id FROM xf_user;# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze).
 
Top Bottom