Every time my cron process collides with the semaphore, the cron notice is accompanied by this PHP notice:

Undefined property: stdClass::$last_open in includes/xmlrpc.inc on line 259.

Relevant code:

function xmlrpc_message_tag_close($parser, $tag) {
  $xmlrpc_message = xmlrpc_message_get();
  $value_flag = FALSE;
  switch ($tag) {
    //...
    case 'value':
      // If no type is indicated, the type is string
      // We take special care for empty values
      if (trim($xmlrpc_message->current_tag_contents) != '' || $xmlrpc_message->last_open == 'value') { #259
        $value = (string)$xmlrpc_message->current_tag_contents;
        $value_flag = TRUE;
      }
      unset($xmlrpc_message->last_open);
      break;

Comments

cburschka’s picture

Title: Notice on stdClass::$last_open when cron is already running » Notice on stdClass::$last_open, cron crashes

Sorry, didn't pay enough attention. The notice does not coincide with cron.php's "already running", it precedes it. After cron.php completed with this message the first time, the semaphore remained stuck. Here's an excerpt:

	cron	02/07/2008 - 14:57	Attempting to re-run cron while it is already running.	Arancaytar	
warning	cron	02/07/2008 - 14:55	Attempting to re-run cron while it is already running.	Arancaytar	
warning	cron	02/07/2008 - 14:33	Attempting to re-run cron while it is already running.	Arancaytar	
error	php	02/07/2008 - 14:31	Undefined property: stdClass::$last_open ...	Arancaytar	
	cron	02/07/2008 - 13:37	Cron run completed.	Arancaytar	
error	php	02/07/2008 - 13:37	Undefined property: stdClass::$last_open ...	Arancaytar	

The notices occur on the cron.php page, which is not shown here.

I'm not sure if the notice is related to the stuck semaphore, but it's a neat coincidence.

webchick’s picture

I've seen this error too, although thusfar it hasn't crashed cron.

dpearcefl’s picture

Is this still an issue in current D6?

Status: Active » Closed (outdated)

Automatically closed because Drupal 6 is no longer supported. If the issue verifiably applies to later versions, please reopen with details and update the version.