After upgrading to PHP 7 I am now seeing this error when I process bounces…and I am not sure bounces are being removed (I no longer see the email showing the removals).
Database error 2014 while doing query Commands out of sync; you can’t run this command now
@keeenone Please provide more information about the problem and your configuration. The phplist release that you are using would help, also the mysql release.
Does the problem happen elsewhere in phplist, or only in process bounces. It is not clear from your description whether bounces are being retrieved and processed - that should be clear from the view bounces page.
So far the issue seems to be with processing bounces, but naturally I started running PHP 5.6.x shortly after finding out that bounces were not processing. I am running:
PHP Version 7.0.24
phpinfo
MySQL Version 5.5.5-10.0.32-MariaDB
SQL Toolbox
Again, when running process bounces I get this error: “Database error 2014 while doing query Commands out of sync; you can’t run this command now”
I am using version 3.3.1, and must say that I’m not planning on running PHP 7.x again until bounce processing is working…I do know that it wasn’t working in my setup. I guess this means I won’t be able to add these code bits to test for you…sorry. I was hoping to see if anyone else is having this issue using PHP 7.x.
white page on the browser, but from chrome webtools I can see this error twice:
Database error 2014 while doing query Commands out of sync; you can’t run this command now
Database error 2014 while doing query Commands out of sync; you can’t run this command now
I definitinely agree, but @duncanc 's advice seems not to be enough to write in the log and can’t find that query anywhere else.
found it at last: select * from phplist_bounce where status = “unidentified bounce”
Having this same issue with v3.3.9. It worked fine when I had like 300 bounces. Now I have about 1200.
phpList - Processing bounces based on active bounce rules
phpList - processed 500 out of 971 bounces for advanced bounce rules
phpList - processed 1000 out of 971 bounces for advanced bounce rules
phpList - Database error 2014 while doing query Commands out of sync; you can’t run this command now
phpList - Database error 2014 while doing query Commands out of sync; you can’t run this command now
phpList - Database error 2014 while doing query Commands out of sync; you can’t run this command now
My guess is that the error is in processbounces.php around or after this line, but I haven’t been able to identify the query that’s causing it:
cl_progress(s(‘processed %d out of %d bounces for advanced bounce rules’, $counter, $total));
I just ran into this… the bounce processing was crashing when reprocessing the unidentified bounces. It seemed like the system was reading the unidentified bounces, and some characters in a bounce (way down in the database) caused the processing to crash.
This got me going again…
delete from phplist_bounce WHERE status = ‘unidentified bounce’
Then that helped for a while, and now the bounce processing proceeded to the active rules… this kept going part way (between 30,000 and 2,500 bounces processed), and then it would crash again.
Each time it crashed, I had to go to the sendprocess table, and either delete the processbounces where ‘active’ is more than 0… you can’t run the bounce processing again until you ‘tell the system it’s not running’…
Example:
DELETE FROM illinois2.phplist_sendprocess WHERE id = 369;
the bounce processing kept on crashing, and then I changed the $batchSize = 250; (it was running at the default off 500)
Example:
$batchSize = 250; //# @TODO make a config, to allow tweaking on bigger systems
// $batchSize = 500; //# @TODO make a config, to allow tweaking on bigger systems
Now it appears to be running without a problem (the batch processing), which is good, because it has a couple 100 thousand to process still… (more than 1/2 a year of bounces on a high volume sending server).
My hunch is that since my bounce table was so big… (> 50GB!) when the system was deleting records in it, it took too long, and then the sql statements got out of sync.
I changed the batchsize as suggested but I’m still not getting the emails saying these subscribers have been blacklisted due to reaching the bounce threshold (paraphrasing)
I don’t have the means to test this other than wait for the cron job to execute the command.
Unaware of this thread I started a new one yesterday: