Install4J runtime library throws exception when running the Jira 9.11 installer on Linux

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

Java 17 has been supported since Jira 9.5.0. In Jira 9.11.0, we've started to bundle Java 17 with Jira binaries (both archives and installers) for Linux and Windows. In Jira 9.11.0, there is an issue with the Install4J runtime library in the Linux installer.

Diagnosis

The Jira 9.11.0 installer for Linux running on Java 17 throws a method invocation exception:

Example 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 Unpacking JRE ... Starting Installer ... WARNING: A terminally deprecated method in java.lang.System has been called WARNING: System::setSecurityManager has been called by com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor (file:/data/download/atlassian-jira-software-9.11.0-x64.bin.5095.dir/i4jruntime.jar\) WARNING: Please consider reporting this to the maintainers of com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor WARNING: System::setSecurityManager will be removed in a future release java.lang.NoSuchFieldException: override at java.base/java.lang.Class.getDeclaredField(Unknown Source) at com.install4j.runtime.util.internal.ReflectionUtil.setUnsafeAccessible(ReflectionUtil.java:46) at com.install4j.runtime.util.internal.ReflectionUtil.setAccessible(ReflectionUtil.java:19) at com.install4j.runtime.util.ToolTipHelpLabel.initTooltipManager(ToolTipHelpLabel.java:21) at com.install4j.runtime.util.ToolTipHelpLabel.registerWithToolTipManager(ToolTipHelpLabel.java:61) at com.install4j.runtime.util.ToolTipHelpLabel.<init>(ToolTipHelpLabel.java:38) at com.install4j.runtime.beans.formcomponents.UpdateAlertComponent.createCenterComponent(UpdateAlertComponent.java:109) at com.install4j.runtime.installer.frontend.FormPanel.addFormComponent(FormPanel.java:508) at com.install4j.runtime.installer.frontend.FormPanel.buildPanel(FormPanel.java:382) at com.install4j.runtime.installer.frontend.FormPanel.setupComponent(FormPanel.java:310) at com.install4j.runtime.installer.frontend.FormPanel.init(FormPanel.java:65) at com.install4j.runtime.installer.frontend.FormPanel.<init>(FormPanel.java:55) at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.handleScreen(ConsoleScreenExecutor.java:44) at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.execute(AbstractHeadlessScreenExecutor.java:96) at com.install4j.runtime.installer.controller.Controller$1.run(Controller.java:155) at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Example 2

1 2 3 4 5 6 7 8 Unpacking JRE ... Starting Installer ... WARNING: A terminally deprecated method in java.lang.System has been called WARNING: System::setSecurityManager has been called by com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor (file:/home/ubuntu/Downloads/atlassian-jira-software-9.11.0-x64.bin.24170.dir/i4jruntime.jar) WARNING: Please consider reporting this to the maintainers of com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor WARNING: System::setSecurityManager will be removed in a future release You do not have administrator rights to this machine and as such, some installation options will not be available. Are you sure you want to continue? Yes [y, Enter], No [n]

Cause

The traceback is caused by the incompatibility of the version of Install4J bundled with Jira binaries for Linux with Java 17.

Solution

Since the traceback message doesn't have any functional impact on Jira applications, no manual intervention is required.  A fix for this has been released in Jira 9.12.1 and later, see also JRASERVER-76267 - Install4J Runtime library throws an exception when running Jira 9.11.0 installer .

Updated on March 18, 2025

Still need help?

The Atlassian Community is here for you.