There isn't anything MDW can do to fix this but you might want to consider putting up a warning.

I have a client that has the Acquia Connector module with the Acquia Agent submodule enabled. It's been there since before I started working on it and I hadn't ever paid attention to what it does until today. I installed MDW and clicked on the "Check manually" link and got a fatal error.

Fatal error: Call to undefined function update_manual_status() in /sites/all/modules/contrib/acquia_connector/acquia_agent/acquia_agent.module on line 454 Call Stack: 0.0007 644320 1. {main}() /home/vagrant/docroot/index.php:0 1.1021 55888512 2. menu_execute_active_handler() /home/vagrant/docroot/index.php:17 1.1031 55896712 3. call_user_func_array:{/home/vagrant/docroot/includes/menu.inc:350}() /home/vagrant/docroot/includes/menu.inc:350 1.1031 55897080 4. acquia_agent_manual_status() /home/vagrant/docroot/includes/menu.inc:350

I dug in and found the reason for it is this:

function acquia_agent_menu_alter(&$items) {
  if (isset($items['admin/reports/updates/check'])) {
    $items['admin/reports/updates/check']['page callback'] = 'acquia_agent_manual_status';
  }
}

function acquia_agent_manual_status() {
  // Refresh subscription information, so we are sure about our update status.
  // We send a heartbeat here so that all of our status information gets
  // updated locally via the return data.
  acquia_agent_check_subscription();
  // This callback will only ever be available if update module is active.
  update_manual_status();
}

Their assumption is faulty there where they call the Update module function without checking that it exists, first. :) I could file an issue in its queue but, as that module is showing up as unsupported, not sure there's any point. So I'm just putting this out there as a warning to not try and run MDW and Acquia Agent together. BTW, I did try enabling the Update module and it didn't help. I didn't dig in to see why, though.

Comments

Michelle created an issue. See original summary.

dsnopek’s picture

Ah, thanks for the report!

Maybe this could explain #2682919: "Check Manually" results in Server 500 Error?

Unfortunately, you're right that there isn't much we can do. If we added code to our module that did:

if (!function_exists("update_manual_status")) {
  function update_manual_status() {
    mydropwizard_manual_status();
  }
}

... it could still fatal error if "update" is enabled, and Drupal loads it after 'mydropwizard' :-/

Or maybe we could do our own hook_menu_alter() to undo the one that 'acquia_connector' did?

In any case, it'd be nicer to fix this in 'acquia_connector' instead...

michelle’s picture

I can submit a patch over there for it. Never know. They might decide to get it in.

  • dsnopek committed 11beb97 on 6.x-1.x
    Issue #2730343 by dsnopek: Fatal error with Acquia Connector - Acquia...
dsnopek’s picture

Status: Active » Fixed

I ended up committing some code for this based on one of the approaches I suggested in #2:

Or maybe we could do our own hook_menu_alter() to undo the one that 'acquia_connector' did?

michelle’s picture

Thanks! I totally forgot to come back and do a patch. I ended up just commenting out theirs locally to run it. Nice to not have to remember to do that. :)

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.