Exception error java.lang.IncompatibleClassChangeError when starting/upgrading Bamboo with Java version 1.8.0_05

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

Often when running or upgrading Bamboo when using Java version 1.8.0_05 you may encounter a java.lang.IncompatibleClassChangeError exception error message.

1 2 3 4 FATAL [main] [UpgradeLauncher] Failed to upgrade Bamboo java.util.concurrent.ExecutionException: java.lang.IncompatibleClassChangeError at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_05] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_05]

Environment

Observed on Bamboo 7.2 - Bamboo 9.2. using Java 1.8.0_05.

Diagnosis

Looking at the <bamboo-home>/logs/atlassian-bamboo.log during the Bamboo startup process, we are able to identify the Java version utilized.

Bamboo Logs

1 INFO [main] [BootstrapLoaderListener] Starting Bamboo 9.2.1 (build #90201 Mon Feb 06 10:02:50 EST 2023) using Java 1.8.0_05 from Oracle Corporation

We can see that Bamboo tries to startup using Java 1.8.0_05, and it throws a java.lang.IncompatibleClassChangeError error message, making Bamboo unable to start or upgrade:

atlassian-bamboo.log

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 FATAL [main] [UpgradeLauncher] Failed to upgrade Bamboo java.util.concurrent.ExecutionException: java.lang.IncompatibleClassChangeError at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_05] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_05] at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:120) ~[atlassian-bamboo-web-9.2.1.jar:?] at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:52) ~[atlassian-bamboo-web-9.2.1.jar:?] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4764) ~[catalina.jar:9.0.71] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5222) ~[catalina.jar:9.0.71] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[catalina.jar:9.0.71] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393) ~[catalina.jar:9.0.71] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383) ~[catalina.jar:9.0.71] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_05] [...] Caused by: java.lang.IncompatibleClassChangeError at org.hibernate.query.criteria.internal.path.AbstractPathImpl.get(AbstractPathImpl.java:127) ~[hibernate-core-5.6.10.Final-atlassian-1.jar:5.6.10.Final-atlassian-1] at org.hibernate.query.criteria.internal.path.AbstractPathImpl.get(AbstractPathImpl.java:189) ~[hibernate-core-5.6.10.Final-atlassian-1.jar:5.6.10.Final-atlassian-1] at com.atlassian.bamboo.index.quicksearch.QuickSearchItemDaoImpl$1.apply(QuickSearchItemDaoImpl.java:31) ~[atlassian-bamboo-persistence-9.2.1.jar:?] at com.atlassian.bamboo.jpa.JpaUtils$CriteriaQuery.getResultList(JpaUtils.java:189) ~[atlassian-bamboo-persistence-9.2.1.jar:?] at com.atlassian.bamboo.index.quicksearch.QuickSearchItemDaoImpl.reIndexItem(QuickSearchItemDaoImpl.java:33) ~[atlassian-bamboo-persistence-9.2.1.jar:?] at com.atlassian.bamboo.index.quicksearch.QuickSearchItemDaoImpl.reIndexItem(QuickSearchItemDaoImpl.java:23) ~[atlassian-bamboo-persistence-9.2.1.jar:?] at sun.reflect.GeneratedMethodAccessor439.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_05] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_05] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.24.jar:5.3.24] [...]

Cause

This Java version binary is incompatible with Bamboo 7.2+.

Solution

Upgrade JDK 8 to the latest available version, or to JDK 11 for Bamboo versions 8.0 and higher. For Bamboo 9.4 and later, use JDK 17, and for Bamboo 10.1, you can use either JDK 17 or JDK 21.

JDK 11, 17, 21 and JDK 8u341 use TLS 1.3 by default causing certificate errors when connected to agents, for more details please see the documentation.

Updated on March 13, 2025

Still need help?

The Atlassian Community is here for you.