Upgrading JIRA WAR installation from 3.13.5 to 4.4.5 : jira.home validation failed

Johann NG April 23, 2013

Hi,

We are upgrading JIRA WAR installation from 3.13.5 to 4.4.5

We have a big issue with the jira.home definition.

We can't start a 4.4.5 JIRA instance on our server, we have this error :

2013-04-24 18:56:52,394 main FATAL [atlassian.jira.startup.ChecklistLauncher] A RuntimeException occurred during ChecklistLauncher initiali

sation - Exception thrown while waiting for future computation.

java.lang.RuntimeException: Exception thrown while waiting for future computation

...

Caused by: java.lang.NullPointerException

at java.io.File.<init>(File.java:222)

at com.atlassian.jira.startup.JiraHomeStartupCheck.validateJiraHome(JiraHomeStartupCheck.java:202)

After remote debugging I found the exact line where JIRA fails.

In the following source : /atlassian-jira-4.4.5-source/jira-project/jira-components/jira-core/src/main/java/com/atlassian/jira/startup/JiraHomeStartupCheck.java

... in the methods private File validateJiraHome(final String jiraHome), the following line throws a JiraHomeException :

File webappServletPath = new File(servletContext.getRealPath("/"));

as a result the jira.home can't be validated.

Indeed we don't have the recommended installation, but we followed the documentation :

https://confluence.atlassian.com/display/JIRA044/JIRA+WAR+Configuration+Overview

https://confluence.atlassian.com/display/JIRA044/Installing+JIRA+on+Tomcat+6.0

Tomcat librairies are ok, especially the log4j and slf4j ones.

At the beginning we used NAS and symbolic link for folders under jira.home, but even with a simple installation with jira.home set to the tomcat user home dir, it doesn't start.

We followed the following documentation about export JIRA_HOME, with the -Djira.home parameters and jira-application.properties settings.

https://confluence.atlassian.com/display/JIRA044/Setting+your+JIRA+Home+Directory

On the contrary, JIRA WAR 5.2.10 starts correctly with the same Tomcat configuration.

Is it a well-known bug when declaring a jira.home in JIRA 4.4.5 WAR installation?

We suspect that some Unix system call error are not caught correctly.

Does anyone know if it is a servlet context or a Unix rights issue?

It is very troublesome because I've already deployed JIRA 4.4.5 in standalone and WAR mode and I never had this kind of behaviour.

As it is a requirement to migrate to 4.4.5 before 5.2.10, we are stuck.

Thanks in advance

2 answers

1 accepted

0 votes
Answer accepted
Johann NG April 24, 2013

Hi Yilin,

Thanks for your help.

Yes we tried many different implementation of the jira.home variable.

I opened a support ticket and I got the solution. It seems that it is the same issue as https://jira.atlassian.com/browse/JRA-25063

JIRA 4.2X to 4.4.5 won't start if the we use a compressed war in the docBase parameter in the server.xml file.

I would definitely recommend Atlassian team to document better this issue.

I think that it is a coding mistake not to catch the exception from the http://download.oracle.com/javaee/5/api/javax/servlet/ServletContext.html#getRealPath(java.lang.String) method.

I need to say that JIRA 3.13.5 and 5.2.10 start correctly with the same Tomcat configuration.

We spend a lot of time of this problem, and it doesn't help Atlassian Product reputation when the customer find out this kind of hidden bug.

As we always have to install a JIRA 4.4.5 in order to migrate to 5.2.10, it is a top priority to update the documentation about this.

Cheers

0 votes
Yilin
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 24, 2013

It could be that your home directory path is not set correctly, as possible in windows:

If you are specifying this location's path on Windows, use double back-slashes ("\") between subdirectories. For example, X:\\path\\to\\JIRA\‌\Home

Otherwise, have you ever tried to set the variable jira.home in the file jira-application.properties?

If this still not work, i would like to encourage you to open a support ticket so that we can help you on this.

Suggest an answer

Log in or Sign up to answer