I am facing issue in my website (community Edition) the Menu bar is unavailable

Hi,

I am getting the Menu Display is temporarily unavailable issue. It was coming earlier but now it show like below.

Need help for this..!

Regards,

Arbaz Sheikh

3 Answers

3

Hi Arbaz,

So, obvious questions when troubleshooting any issue like this:

  • Did anything change (i.e. did you do an upgrade)?
  • What version are you running on?

These messages usually relate to a Widget that is misbehaving. As you know “Menu Display” is both a Widget and a Fragment, but I’ve never seen a Fragment display this warning.

I’ve seen this sort of thing occasionally, and often it can be resolved simply by editing the page (or the Master Page if it’s in a Master), removing the widget from the page, and redeploying.

Alternatively (and this never hurts either) try restarting the server.

If neither of these help then you may need to dig a bit deeper and check the status of the OSGi modules via the Gogo Shell.

But, hopefully the delete/reploy option should work!

Cheers!

Hi, Thanks for the suggestions. Here's what I've tried so far: No Liferay upgrade was performed. The issue started after recovering the server from a disk-full situation and restarting the instance. We are running Liferay CE 7.4.3.77 GA77. Restarted the server multiple times. Cleared the Liferay and Tomcat caches (osgi/state, temp, work) and restarted again. Verified the related OSGi bundles through the Gogo Shell. All Site Navigation, Fragment, Template, and Product Navigation bundles are in the Active state.

–

The only step we haven't been able to complete is removing and redeploying the Menu Display widget. Since the widget itself is failing with "Menu Display is temporarily unavailable," we're unable to access the page editor reliably to remove and re-add it. Would you recommend any database-level checks, or is there another way to remove/redeploy the widget when the page editor itself isn't accessible? Thanks!

–

You might also try shutting down the Liferay Server and then deleting the following temp caches from your Liferay home directory

  • Delete the [Liferay Home]/osgi/state folder
  • Delete the [Liferay Home]/{app server}/temp folder
  • Delete the [Liferay Home]/{app server}/work folder
  • Delete the [Liferay Home]/work folder (if it exists)

Additionally, if you are running a development environment locally, sometimes you also need to clear browser cache.

Hi Allison, Thank you for your solution. I tried, but it is still failing. Is there any other solution for it? Looking for your reply Regards, Arbaz

–

Hi @ArbazSheikh

Since this started after recovering from a disk-full situation (rather than after an upgrade), and all OSGi bundles are in the Active state, my first suspicion would be some database-level corruption caused by incomplete writes while the disk was full.

Here are a few things I’d recommend checking:

1. Check the logs for any exceptions

Take a look at either:

  • tomcat/logs/catalina.out
  • $LIFERAY_HOME/logs/liferay.*.log

Look for exceptions such as NullPointerException, ORMException, HibernateException, or PortletException related to the Site Navigation Menu Display portlet.

2. Verify the database

Since the issue happened after the disk filled up, it’s worth checking whether any tables were affected.

Run:

CHECK TABLE Portlet;
CHECK TABLE PortletPreferences;
CHECK TABLE Layout;
CHECK TABLE ResourcePermission;

Then make sure the portlet is still registered:

SELECT *
FROM Portlet
WHERE portletId = 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet';

Also check its preferences:

SELECT *
FROM PortletPreferences
WHERE portletId LIKE '%SiteNavigationMenu%'
  AND ownerType = 3;

If you find any empty or malformed preferences XML, that’s likely the root cause.

3. Check for zero-byte JARs

A disk-full event can sometimes leave partially written files behind.

find $LIFERAY_HOME/osgi -name "*.jar" -size 0
find $TOMCAT_HOME/webapps -name "*.jar" -size 0

If you find any zero-byte JARs, replace them with copies from a clean GA77 bundle.

4. Clear the OSGi state and caches

Remove these directories completely (not just their contents):

  • $LIFERAY_HOME/osgi/state
  • $LIFERAY_HOME/work
  • $LIFERAY_HOME/data/template-cache/ (if present)

Then restart the server.

After it comes back up, go to Control Panel → Server Administration → Resources and run the cleanup actions, especially:

  • Clear content in the cache
  • Clear database cached content

5. Run the Verify processes

From Control Panel → Server Administration → Data Cleanup / Verify, run:

  • com.liferay.portal.verify.VerifyResourcePermissions
  • com.liferay.portal.verify.VerifyPortletPreferences

6. Re-deploy the module (if needed)

If none of the above helps, try replacing com.liferay.site.navigation.menu.web.jar with a fresh copy from a clean GA77 bundle under $LIFERAY_HOME/osgi/modules/, then restart.