Question

I try to install (enable) Structure, but it doesn't work. When I reload the Add-on Manager page, Structure is disabled. What is the problem?

Answer

Structure may fail to start due to the following reasons. To better understand what's going on, check the Jira logs (catalina.out or jira-application.log) and verify each of the following possible causes.

Structure database cannot be created or opened; filesystem is read-only or full

Structure stores all its data in the structure/ sub-directory of the Jira home directory. At its first launch, it tries to create that directory and shuts down if it fails to do so. At every subsequent start, it tries to open the database contained there and also shuts down if it fails to do so. In all cases, there should be a big warning or error message in the Jira log.

Possible actions:

  • Create the structure sub-directory manually and grant full permissions on it to the account that is used to run Jira.
  • Verify that filesystem is not read-only.
  • Verify that there's enough free disk space (at least 100 MB).
  • Verify that Structure's database is not opened with some other tool, such as Derby console.

See also: Structure Files Location

Some of the required system plugins are disabled

Structure relies on some system plugins. If they are disabled, you may get all kinds of weird messages from Jira when it tries to start Structure. In some cases, the error messages will be completely unrelated to the disabled plugins.

The following is an example of a message you may receive:

com.atlassian.plugin.PluginParseException: Unable to load the module's display conditions: Could not load 'com.almworks.jira.structure.web.UserCanCreateStructureCondition' in plugin com.almworks.jira.structure
... stack trace ...
Caused by: com.atlassian.plugin.web.conditions.ConditionLoadingException: Could not load 'com.almworks.jira.structure.web.UserCanCreateStructureCondition' in plugin com.almworks.jira.structure
... stack trace ...
Caused by: java.lang.IllegalStateException: Cannot autowire object because the Spring context is unavailable.  Ensure your OSGi bundle contains the 'Spring-Context' header.
... stack trace ...
CODE

Possible actions:

  • Open Administration | Plugins | Manage Plugins and click Show System Plugins. Verify that all plugins are enabled. If some are disabled, enable them. Then try to enable or reinstall Structure.

If for some reason you need to keep some of the plugins disabled, and Structure won't start without them, please write to support@almworks.com.

Incomplete download or corrupt plugin JAR file

It is possible the Add-on Manager only downloaded a partial JAR file for Structure, if there were any problems with the server or the connection. We have also had reports of Internet Explorer incorrectly downloading the manual install file, turning the JAR file into a ZIP file with invalid content.


Possible actions:
  • To verify that you have a correct JAR file, locate the plugin JAR in plugins/installed-plugins directory under your Jira home. Structure has the word "structure" in its file name. Verify that the JAR file MD5 hash is the same as listed on the Download Archive page.

Incorrect Jira setup

Check the Jira application logs for one or several lines that look like the following:

ERROR [plugin.osgi.factory.OsgiPlugin] Unable to start the Spring context for plugin com.almworks.jira.structure

In order for Structure to work, it requires some of the standard Atlassian plugins, such as the one that allows Structure to post to the Activity Streams. We have had reports of cases where these plugins cannot start because the

-Datlassian.org.osgi.framework.bootdelegation variable was set in JAVA_OPTS in setenv.sh (setenv.bat), as recommended in this comment to the Upgrade to JIRA 4.2 Guide. If you are using Jira 5.0 or later, please try to remove the variable from JAVA_OPTS and see whether it resolves the problem.

If none of the above help resolve the problem, please contact ALM Works support.