l() is not being called correctly in menu.inc I had been getting this error message:


  PHP Fatal error:  Unsupported operand types in /var/www/www.ruv.is/pressflow/includes/common.inc on line 1588


So I did a backtrace and this is what it returned:


    array (
      'file' => 'pressflow/includes/menu.inc',
      'line' => 1614,
      'function' => 'l',
    )


It points to this function:

/**
 * Get the breadcrumb for the current page, as determined by the active trail.
 */
function menu_get_active_breadcrumb() {
  $breadcrumb = array();

  // No breadcrumb for the front page.
  if (drupal_is_front_page()) {
    return $breadcrumb;
  }

  $item = menu_get_item();
  if ($item &amp;&amp; $item['access']) {
    $active_trail = menu_get_active_trail();    

    foreach ($active_trail as $parent) {
      $breadcrumb[] = l($parent['title'], $parent['href'], $parent['localized_options']);  // line 1614
    }
    $end = end($active_trail);

    // Don't show a link to the current page in the breadcrumb trail.
    if ($item['href'] == $end['href'] || ($item['type'] == MENU_DEFAULT_LOCAL_TASK &amp;&amp; $end['href'] != '&lt;front&gt;')) {
      array_pop($breadcrumb);
    }
  }
  return $breadcrumb;
}


Or more specifically, this line:

$breadcrumb[] = l($parent['title'], $parent['href'], $parent['localized_options']); 


I'm assuming there is a contributed module that is causing this, but it is happening on several pages that don't use any menu altering module. Do you have any idea on how to troubleshoot this?

I can't reproduce this myself, so my only chance of debugging is on a hight traffic live site.
According to my experience, this happens when the third argument passes to l() is not an array and you are using PHP 5.3. See http://api.drupal.org/api/drupal/includes%21common.inc/function/l/6 as to how the third parameter $options is being used. 

Then it is time dwelve into what is causing your $parent['localized_options'] not to be an array.