Jira Start-up fails with JVM initialisation errors after upgrade from lower versions to Jira v9.11.X and above when using Java 8 platform

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

The purpose of this knowledge article is to describe a scenario where the Jira application cannot be started after an upgrade from any lower versions (say till 9.10.X) to Jira v9.11.X and above.

The following error might show immediately during start-up in the catalina.out log file, saying that the system in unable to create Java Virtual Machine:

1 2 3 JVMJ9VM007E Command-line option unrecognised: --add-opens=java.base/java.lang=ALL-UNNAMED Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

Environment

Jira Server/Data Center Versions below 9.11 running on Java 8 platform.

Diagnosis

  • Jira is running on the Java 8 Platform

  • Jira was upgraded to 9.11.0 (or higher) from a version lower than 9.11.0

  • We can validate from the catalina logs that Jira is not starting after upgrading from 9.4.x to 9.12.5 with the errors mentioned below, these are related to arguments specific to Java 11/17 and not supported for Java 8:

    1 2 3 JVMJ9VM007E Command-line option unrecognised: --add-opens=java.base/java.lang=ALL-UNNAMED Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

Cause

The --add-opens JVM arguments were shipped with Jira 9.11+ to fully support Java 17. However, customer platforms must be on Java 17 for the JVM to interpret those arguments (Oracle JDK Migration Guide).

If they are still using Java 8, those arguments are not supported and couldn't not be interpreted by JVM during start-up and hence application start-up fails.

Jira 9.12 comes bundled with Java 17 (reference here) if you installed through its installer. If Jira was installed through an archive file, JRE does not come bundled and you need to install it manually. To change the Java version customers can follow the instructions from the KB How to change the Java version used by Jira.

Solution

Solution (Preferred)

  • There is a need to upgrade the platform to support Java17 as a best solution as future releases will be shipped with Java 17 bundled.

  • If Java17 is not immediately possible owing to other dependencies like (other applications running on same platform, or connected apps not supporting Java 17), we may also prefer to upgrade to Java11 since it's part of the Supported Platforms.

Workaround (Not Preferred)

In some cases where it's not possible to immediately update Java platform, then this workaround is to instruct JVM to ignore what it doesn't know using XX:+IgnoreUnrecognizedVMOptions argument as described in this KB article: Setting properties and options on startup and then restart JIRA.

(ℹ️) This is not a recommended solution owing to the fact that Java 8 support is already deprecated and future Jira releases will not support this.

Updated on April 7, 2025

Still need help?

The Atlassian Community is here for you.