Details
Description
In a situation where multiple jobs are queued, e.g.:
mysql> select start_date,end_date,status from civicrm_mailing_job;
-------------------------------------------------
start_date | end_date | status |
-------------------------------------------------
2006-01-16 08:20:15 | 2006-01-16 08:20:35 | Complete |
2006-01-19 02:32:18 | NULL | Running |
NULL | NULL | Scheduled |
NULL | NULL | Scheduled |
-------------------------------------------------
the function deliver() is called by runJobs() (both routines in CRM/Mailing/BAO/Job.php). This fails causing
PHP Fatal error: Class 'CRM_Mailing_BAO_Mailing' not found in /var/www/public_html/civimail/modules/civicrm/CRM/Mailing/BAO/Job.php on line 166
because the following line is missing in deliver() – see attached Jobs.patch:
require_once 'CRM/Mailing/BAO/Mailing.php';
But then, when the required code is included, it blows up badly:
Out of memory (Needed 8164 bytes)
FATAL: emalloc(): Unable to allocate 35 bytes
[Tue Jan 24 00:24:26 2006] [error] [client 64.81.61.16] Premature end of script headers /var/www/public_html/civimail/index.php