I used 'jquery update' to go to version 1.8 (needed elsewhere) and got the error "The dependency devel for the callback cache in admin_menu is not installed" together with the disappearance of admin menu on all pages.

I don't have devel installed and it's never been a problem before (this is a production site); the action at https://drupal.org/node/1622904 #57 (to disable client-side cache) also removes this error (and admin menu reappears).

It's not clear if this is the same issue as 1622904 (which has no mention of the dependency error) so I've raised it here as well.

Comments

skadu’s picture

Are you by any chance using the High-performance JavaScript callback handler (module named js)?

I had the admin toolbar working fine until I installed the JS module (as suggested by IP Geolocation Views & Maps module) and enabled it. Once both modules where enabled, I began to see the same issue you are mentioning here. But when I remove the rules from the .htaccess file that process JS calls, the admin menu shows back up. Otherwise I receive a 500 internal server error.

I think this is because the JS module invokes a stripped down version of the Drupal bootstrap process which does not include all functions (this is designed) and the admin menu relies on some functions that are not loaded during the JS bootstrap process:

  • field_read_fileds
  • field_info_fields

Theses are the ones I see in my apache error logs.

As in the other issue you mention, disabling the client side cache eliminate this issue for me. To fix this, I modified my .htaccess rules that are added using the JS module, so it ignores the admin toolbar request:

Before

  # Rewrite JavaScript callback URLs of the form js.php?q=x.
  RewriteCond %{REQUEST_URI} ^\/([a-z]{2}\/)?js\/.*
  RewriteRule ^(.*)$ js.php?q=$1 [L,QSA]
  RewriteCond %{QUERY_STRING} (^|&)q=((\/)?[a-z]{2})?(\/)?js\/.*
  RewriteRule .* js.php [L]

After

  # Rewrite JavaScript callback URLs of the form js.php?q=x.
  RewriteCond %{REQUEST_URI} ^\/([a-z]{2}\/)?js\/.*
  RewriteCond !%{REQUEST_URI} ^\/([a-z]{2}\/)?js\/admin_menu/
  RewriteRule ^(.*)$ js.php?q=$1 [L,QSA]
  RewriteCond %{QUERY_STRING} (^|&)q=((\/)?[a-z]{2})?(\/)?js\/.*
  RewriteRule .* js.php [L]
michielnugter’s picture

Status: Active » Closed (duplicate)

The devel module is set as a dependency for the admin menu. All that is needed is updating the dependencies and add some missing files in the js callback definition. There is already an issue for that: https://drupal.org/node/1981308, therefore I closed this one.

3magnus’s picture

@skadu I had the same problem.

After looking it up a little I solved it going to admin/config/administration/admin_menu » Performance tab and unchecking Cache menu in client-side browser.

Hope it helps.

Infoloko’s picture

@skadu ... yes I'm using the High-performance JavaScript callback handler

I'll try your htacess change -- disabling the client side cache, as I wrote, gets round the problem but raises another of admin menu dropdowns randomly appearing on top of all number of pages - hover over the dropdown and then move away and the drop down disappears.

RaulMuroc’s picture

I struggled a couple of days with this error which suddenly raised... Thank you :) this save lot of problems!

+1 to patch for this.

zakxxi’s picture

#3 Worked for me.

JCB’s picture

I can confirm: #3 worked for me as well

suffering drupal’s picture

#3 worked!

mylocaltrades’s picture

#3 worked for me also