upgrading from 3.8 to 3.9 (following the usual instruction at https://docs.acquia.com/commons/upgrade) caused WSOD when trying to view admin pages with error
Fatal error: Class 'AdvancedQueue' not found in /modules/system/system.queue.inc

Probably has to do with #2170409: Move Message Notify from Advancedqueue to core queue processing and specifically the note in comment #3

I'll make a note to add instructions to the Commons release notes directing people to uninstall the Advancedqueue module.

I did not see such a comment in the upgrade instructions, and wound up with the WSOD.

Workaround:

  1. put the advancedqueue module back temporarily at profiles/commons/modules/contrib/advancedqueue
  2. temporarily enable it : drush en advancedqueue
  3. then disable and uninstall and delete it: drush dis advancedqueue; drush pm-uninstall advancedqueue; rm -rf advancedqueue/

So probably needed to disable it BEFORE beginning the upgrade process?
Worked for me; YMMV.

Not sure if anything is related to this old issue with similar error message #1914090: PHP Fatal error: Class 'AdvancedQueue' not found

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

FunkMonkey’s picture

WebSinPat's workaround worked for me as well. Thanks for that.

ezra-g’s picture

Status: Active » Fixed

We've updated the Commons upgrade documentation to specify uninstalling AdvancedQueue before removing it from the codebase. Thanks for pointing this out!

cosineBob’s picture

It'd be nice if that change were highlighted somewhere. I found this thread but in going back to the commons 3.9 page there is nothing that highlights this BIG PROBLEM. I looked on Acquia docs etc as well as at the release notes. ?????

cosineBob’s picture

Status: Fixed » Needs work

As I posted, cannot find the documentation related to the update process from 3.8 to 3.9 to avoid this issue. I have been head banging for 6 hours on this. BIG PROBLEM !!

WebSinPat’s picture

@cosineBob: the documentation has been added on the upgrade instructions https://docs.acquia.com/commons/upgrade : step 4 under "Preparing for the Upgrade".
4. If you're upgrading to Drupal Commons 3.9, disable and then uninstall the Advanced queue module

I agree it could be easy to miss, especially if you've done a number of upgrades already and are not going through step by step. But I'm not sure what else could make it clearer.

I'm sorry you spent so long stuck because of this issue. I only chanced upon an indication of the problem because I'm tracking some message_notify bugs and happened to click on the message_notify/advancedqueue issue mentioned in the release notes.

cosineBob’s picture

Thanks for the response. I agree that it is really easy to miss especially if you've been doing this for awhile, and because the documentation is on the Acquia site and not on the drupal site where you can also download the distribution. I would suggest highlighting the issue on both sites and especially putting it in the release notes. But a separate line on the page where the release is available for download will help a lot of folks avoid breaking their site. Since this is a security release a lot of people are going to install it and if they are somewhat experienced and feeling lucky, they will get the WSOD.

WebSinPat’s picture

I'm a little surprised code disabling the module wasn't included as part of the upgrade code. I don't know much about it though, maybe there's a reason it wasn't done.

ezra-g’s picture

Status: Needs work » Fixed

I'm a little surprised code disabling the module wasn't included as part of the upgrade code. I don't know much about it though, maybe there's a reason it wasn't done.

If you completely replace your Commons profile directory per the instructions, then there's no way for the update to exist in your codebase before the module is removed.

I'm sorry to see that this caused some confusion for people upgrading between versions of Commons.

One thing we could do in the future is stagger the steps out across 2 releases: Have one release uninstall the module and another release remove it from the codebase.

I added this text to the top of the Commons 3.9 release node:

If you're upgrading to Drupal Commons 3.9, disable and then uninstall the Advanced queue module before updating your codebase.

With that, I'm marking as fixed but if there are additional suggestions to make the upgrade easier here, please feel free to re-open.

Thanks again for the feedback here!

WebSinPat’s picture

If you completely replace your Commons profile directory per the instructions, then there's no way for the update to exist in your codebase before the module is removed.

Haha, excellent point!
(too bad though it leaves no way to automate it)

japerry’s picture

Status: Fixed » Needs review
FileSize
547 bytes

Here is an update to commons.install which will do what the advancedqueue module does when uninstalling -- removes from the queue_default_class variable. Fixes the issue for me.

japerry’s picture

Status: Needs review » Fixed

Fixed! added an update that will remove AdvancedQueue if you didn't remove it manually.

http://drupalcode.org/project/commons.git/commit/f777df0

houstonaplus’s picture

What are your suggestions for folks who don't have drush access?

japerry’s picture

If you have a development version of Drupal Commons, and goto update.php, it will disable the class. Are you saying that its causing update.php to fail before it can run updates?

houstonaplus’s picture

Thanks for the response. I applied the dev update but I am still getting the AdvancedQueue error.

Status: Fixed » Closed (fixed)

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

bdupls’s picture

I recently upgraded drupal commons 7.x-3.22. With no installation of advancedqueue but i get the error.
Fatal error: Class 'AdvancedQueue' not found in /home/xxx/public_html/modules/system/system.queue.inc on line 88
I followed instructions to install module within commons contrib enable and disable and uninstall and it didn't work I still get error.