XF 1.4 xf_deferred causing issues

Hi there,

Few days ago I experienced an issue with my server and since then xf_deferred is causing issues. Most annoying thing is that in the admin front-end I got this error:

Mysqli statement execute error : Can't find record in 'xf_deferred'

Zend_Db_Statement_Mysqli->_execute() in Zend/Db/Statement.php at line 297
Zend_Db_Statement->execute() in Zend/Db/Adapter/Abstract.php at line 479
Zend_Db_Adapter_Abstract->query() in XenForo/Model/Deferred.php at line 111
XenForo_Model_Deferred->defer() in XenForo/Application.php at line 1455
XenForo_Application::defer() in XenForo/Model/Cron.php at line 398
XenForo_Model_Cron->updateMinimumNextRunTime() in XenForo/Model/Cron.php at line 421
XenForo_Model_Cron->retriggerCron() in XenForo/ControllerAdmin/Home.php at line 7
XenForo_ControllerAdmin_Home->actionIndex() in XenForo/FrontController.php at line 347
XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
XenForo_FrontController->run() in /public_html/community/admin.php at line 13
I had the same issue when upgrading my forum but I just deleted the contents of the xf_deferred table and that allowed me to upgrade the board. Now xf_deferred has no rows but I still got the error in the admin panel.

The issue seems to be in the process email bounces process, when I try to run that I get the error.

I've tried rebuilding caches, repairing tables, etc... What should I do to fix this thing?
Last edited:

Jake Bunce

XenForo moderator
Staff member
That is a MySQL problem.

I have never seen this error. I searched Google and found some posts indicating possible corruption or replication issues.

You said you experienced a server issue a few days ago. What was the issue? More information might help.
The server issue was a crash in the hard disk, but the backup was ok because it was from several days ago. I was wondering if there is a way to reset all the cron thing because I get that error every time. I will try to dig the code to try to find what's going on.
Last edited:

Jake Bunce

XenForo moderator
Staff member
That MySQL error has to do with MySQL itself, not XenForo's cron system. You should find that you get the same error if you try to run a direct query against that table.

One option is to drop and recreate that table with these queries:

	DROP TABLE xf_deferred;

	CREATE TABLE xf_deferred (
		deferred_id int(10) unsigned NOT NULL auto_increment,
		unique_key VARBINARY(50) default NULL,
		execute_class varchar(75) NOT NULL,
		execute_data mediumblob NOT NULL,
		manual_execute tinyint(4) NOT NULL,
		trigger_date int(11) NOT NULL,
		PRIMARY KEY  (deferred_id),
		UNIQUE KEY unique_key (unique_key),
		KEY trigger_date (trigger_date),
		KEY manual_execute_date (manual_execute,trigger_date)
	) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
That might resolve the issue.