XF 2.0 Incorrect key file for table 'xf_post'; try to repair it

KSA

Well-known member
Licensed customer
I have been getting this error again and again when attempting to install an add-on although I have installed the add-on on localhost and a live test site with no issue.


  • XF\Db\Exception: MySQL query error [1034]: Incorrect key file for table 'xf_post'; try to repair it
  • src/XF/Db/AbstractStatement.php:212
  • May 30, 2018 at 12:25 AM
Stack trace
ALTER TABLE `xf_post`
ADD `th_best_answer_qaforum` TINYINT NOT NULL DEFAULT '0',
ADD `th_points_qaforum` INT NOT NULL DEFAULT '0',
ADD `th_up_votes_qaforum` INT UNSIGNED NOT NULL DEFAULT '0',
ADD `th_down_votes_qaforum` INT UNSIGNED NOT NULL DEFAULT '0'
------------

#0 src/XF/Db/Mysqli/Statement.php(196): XF\Db\AbstractStatement->getException('MySQL query err...', 1034, 'HY000')
#1 src/XF/Db/Mysqli/Statement.php(78): XF\Db\Mysqli\Statement->getException('MySQL query err...', 1034, 'HY000')
#2 src/XF/Db/AbstractAdapter.php(79): XF\Db\Mysqli\Statement->execute()
#3 src/XF/Db/Schema/AbstractDdl.php(151): XF\Db\AbstractAdapter->query('ALTER TABLE `xf...')
#4 src/XF/Db/SchemaManager.php(143): XF\Db\Schema\AbstractDdl->apply()
#5 src/addons/ThemeHouse/QAForums/Setup.php(48): XF\Db\SchemaManager->alterTable('xf_post', Object(Closure))
#6 src/XF/AddOn/StepRunnerInstallTrait.php(60): ThemeHouse\QAForums\Setup->installStep3(Array)
#7 src/XF/AddOn/StepRunnerInstallTrait.php(27): ThemeHouse\QAForums\Setup->installStepRunner(3, Array)
#8 src/XF/Admin/Controller/AddOn.php(390): ThemeHouse\QAForums\Setup->install(Array)
#9 src/XF/Mvc/Dispatcher.php(249): XF\Admin\Controller\AddOn->actionInstall(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(89): XF\Mvc\Dispatcher->dispatchClass('XF:AddOn', 'install', 'html', Object(XF\Mvc\ParameterBag), 'listAddOns', Object(XF\Admin\Controller\AddOn), NULL)
#11 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#12 src/XF/App.php(1891): XF\Mvc\Dispatcher->run()
#13 src/XF.php(328): XF\App->run()
#14 admin.php(13): XF::runApp('XF\\Admin\\App')
#15 {main}

Any idea?
 
Really recommend taking backups ASAP.

This sort of thing can happen when the MySQL dies due to out of memory or from disk corruption.
 
Possibly your MySQL server's configured temp directory does not have enough space. Check your "tmpdir" within mysql config file, and then make sure this location has enough space to support the full size of your xf_post table.
 
Back
Top Bottom