[4.1 Beta 2] Post-upgrade job fatal error non-existent class vw_Cron_Deferred_PrefixKey_Book_Model
I've run into a fatal error during a post-upgrade job when upgrading from Beta 1 to Beta 2. The post-upgrade "processing" stage lasted for quite a number of minutes (around 7) before stopping with a fatal error: Fatal Error: attempted to instantiate non-existent class vw_Cron_Deferred_PrefixKey_Book_Model
[vw-core]/model/cron/deferred/prefixkey/book/vw.php does not exist or does not contain the specified class.
Code:
#0: vw_Hard_Core::fetch_object() in [vw-platform]/src/addons/vw/vw/_hard/core.php at line 762
#1: vw_Hard_Core::model() in [vw-core]/model/cron/deferred/prefixkey/vw.php at line 72
#2: vw_Cron_Deferred_Prefixkey_Model->run() in [vw-core]/model/cron/deferred/vw.php at line 64
#3: vw_Cron_Deferred_Model->exec() in [vw-platform]/src/addons/vw/vw/Handler/Job/Defer.php at line 30
#4: vw\vw\Handler\Job\Defer->run() in [vw-platform]/src/XF/Job/Manager.php at line 253
#5: XF\Job\Manager->runJobInternal() in [vw-platform]/src/XF/Job/Manager.php at line 195
#6: XF\Job\Manager->runJobEntry() in [vw-platform]/src/XF/Job/Manager.php at line 111
#7: XF\Job\Manager->runByIds() in [vw-platform]/src/XF/Admin/Controller/Tools.php at line 120
#8: XF\Admin\Controller\Tools->actionRunJob() in [vw-platform]/src/XF/Mvc/Dispatcher.php at line 321
#9: XF\Mvc\Dispatcher->dispatchClass() in [vw-platform]/src/XF/Mvc/Dispatcher.php at line 248
#10: XF\Mvc\Dispatcher->dispatchFromMatch() in [vw-platform]/src/XF/Mvc/Dispatcher.php at line 100
#11: XF\Mvc\Dispatcher->dispatchLoop() in [vw-platform]/src/XF/Mvc/Dispatcher.php at line 50
#12: XF\Mvc\Dispatcher->run() in [vw-platform]/src/XF/App.php at line 2177
#13: XF\App->run() in [vw-platform]/src/XF.php at line 390
#14: XF::runApp() in [vw-platform]/admin.php at line 13
At the location src\addons\vw\vw\_core\model\cron\deferred\prefixkey , there is no folder 'book'
This job is queued when you rename or delete an existing prefix. The job is intended to update content that used the changed prefix so that it doesn't refer to the now-missing name.
This job already failed in the past due to this error message. XenForo attempts to retry failed jobs after every upgrade. This will continue to happen on every upgrade because the job data is invalid.
The issue that causes invalid job data for the PrefixKey job will be fixed in the next build. However, for jobs that are already invalid you will want to either:
Update vw_defer.data for this job where defer = 'prefixkey'. It will be a stringified array like {actions:{move:{book:0,category:0,feed:0,page:0...
Remove any entries like book, category, etc that do not corresponding to a folder that exists in src/addons/vw/vw/_core/model/cron/deferred/prefixkey; OR
Remove that vw_defer entry. In the long run, this may lead to content that refers to prefixes that don't exist anymore.
Since this failed while you were upgrading, you can actually refresh the page and the upgrade will continue anyway.
Thanks. There were 4 rows in vw_defer for prefixkey that mentioned Book in the data column. After removing them, post-upgrade processing of the job queue continued OK.
This site uses cookies to help personalize content, to tailor your experience, and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.