When upgrading the minor version of Open Atrium from 2.45 to 2.50, I get the following error (screenshot attached as well):

Fatal error: Call to undefined function radix_menu_link__dropdown() in /home/mydomain/public_html/profiles/openatrium/themes/oa_radix/includes/menu.inc on line 34

For upgrading the application, I followed the process as stated in the document (for which I have been getting unconditional success in the past till upgrading to the version 2.45). I used drush to do the same which resulted in success without any error message as demonstrated below:

Performed update: chosen_update_7202 [ok]
Performed update: media_wysiwyg_update_7201 [ok]
Performed update: openatrium_update_7009 [ok]
Performed update: panopoly_search_update_7008 [ok]
Performed update: oa_core_update_7235 [ok]
Performed update: media_wysiwyg_update_7202 [ok]
Performed update: file_entity_update_7216 [ok]
Performed update: system_update_7080 [ok]
Performed update: chosen_update_7203 [ok]
'all' cache was cleared. [success]
Finished performing updates. [ok]

Additional information:
The above error message is displayed on all the pages except the home page (/home).

CommentFileSizeAuthor
Upgrade_issue_245_250.png6.65 KBsurendramohan
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

surendramohan created an issue. See original summary.

Argus’s picture

Version: 7.x-2.50 » 7.x-2.45
Priority: Major » Normal
Status: Active » Postponed (maintainer needs more info)

Don't use Major Priority unless you are sure the issue involves a major portion of the OA installations.

Please provide more info about your OA installation.

surendramohan’s picture

Thanks @Argus for your interest in investigating this issue further, and my apology for the confusion created due to "Major" and "Normal" tag.

In the meanwhile, I did some RCA and found that /sites/all/themes/oa_radix was the main culprit that led to the reported issue; replacing (prior to upgrade) which fixed this error completely. Now, the portal is running fine on 2.50 and is healthy as always :)

mpotter’s picture

Not sure you solved this the correct way. You can't upgrade your site using drush.

oa_radix is the main Atrium theme. You should not replace this with the version prior to the upgrade. You'll need the oa_radix version from Atrium 2.50 for stuff to work correctly.

My guess is that when upgrading the site you didn't follow the recommended upgrade procedure and maybe didn't get the newer version of the Radix base-theme where the radix_menu_link__dropdown() function itself is defined. In v2.50 we updated the version of Radix theme that is needed.

surendramohan’s picture

@mpotter: I appreciate your response along with your suggestions. I don't completely deny on what you suspect. However, you can be assured that appropriate upgrade process had been followed which led to this error. It was built earlier and there are a set of "not good stuffs" that had to be taken care prior to upgrade process and some times at post upgrade stage (unfortunately); which came to my notice at later stage when trying to fix this issue.

Fortunately, I am in a process of revamping the application so that we get rid of these stuffs (that is, clean-and-tidy application as the end product). Hope for a Bingo!

Once again, my apologizes for tagging it as "Major" issue instead of "Normal".

MikeFromPAintheUSA’s picture

Hi I am also having this problem, however I see the error in error.log. Some pages on my site work, others just get the WSOD. I just finished upgrading from 7.x-2.36 to 2.50. I have been trying to follow the "Updating Open Atrium" guide exactly: https://www.drupal.org/node/2321627

Some background about my installation. I am using Open Atrium as a CMS. I have different spaces for different groups (i.e. engineering, accounting, human resources, etc). Users are locked down to their respective group spaces, but I made a public space that everybody can access, and set it as the home page for open atrium.

I added 3 custom modules to solve some user-requested functionality, which are urllogin, video, and webform.

I am new to Open Atrium. When I first installed it, the home page was the default OA branded space with the "Welcome to Atrium".
I at first didn't understand how to change the default branding so I attempted to create a new theme. Well I didn't have much luck, so I ended up hacking the default theme. I created a new space, then configured the the home page setting to be the new space instead of the OA branded page. I made some other changes which I later found out were feature overrides (which has probably been the worst part of this update process - trying to figure out what I am supposed to do so I don't lose those changes when updating)

I think that when I tried to make a new theme I caused a conflict, because when I try to use drush I get the following error.

Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Cannot redeclare radix_drush_command() (previously declared in
/var/www/cms/sites/all/themes/radix/radix.drush.inc:16) in /var/www/cms/profiles/openatrium/themes/radix/radix.drush.inc,
line 37

To solve that problem I moved /var/www/cms/profiles/openatrium/themes/radix outside of the web directory and I'm able to run drush commands. Moving that theme did not break the functionality of my site.

I'm not sure if the above has anything to do with this current WSOD issue. I will work on it more tomorrow and post updates.

mpotter’s picture

It's because you "hacked the theme". The 2.50 version updated the base Radix theme, so if you have your own custom theme you probably will need to update that. You should not be changing the oa_radix subtheme. Instead you should be making your own subtheme of oa_radix, with oa_radix as the parent theme (which then has Radix as it's parent). This will ensure that future changes in the base Radix theme won't cause your site to break.

The Radix base theme is required since it brings in the Bootstrap css that is needed for Atrium. So do *not* move the Radix theme. Never directly modify any Atrium code as it will cause these kinds of problems when you upgrade. Always create your own modules and themes in the /sites folder and use hooks and Feature Overrides to modify the base behavior. Any changes you make to code in /profiles/openatrium or stuff you move are lost when you upgrade.

I suggest that you restore the Radix and oa_radix themes and remove your custom theme for now just to get your site back to a default state and then start working on fixing your subtheme. There are instructions for creating a proper subtheme of oa_radix in the Documentation pages linked to the main atrium project page.

(Note: in the 2.50 version you can remove the atrium branding simply by disabling the new oa_brand module)

MikeFromPAintheUSA’s picture

Thanks for the reply, I greatly appreciate your help. I am going to do what you suggest. To take it a step further, and to assure the cleanest build possible, I'm going to rebuild my CMS from scratch using 2.50.

I'm in an alpha phase of OA testing, and of course it slipped into a semi-production state when temporary test spaces began getting real usage. We've recently decided that we want to continue forward with OA, so this would be the best time for me to start fresh.

In the meantime, I will restore the VM snapshot from before the update, and let users continue doing their thing on 2.36.

No more hacking for this guy!