Issue Summary :
Upgrade to Bamboo version 12 is failing from older versions if the older versions has Application tunnels plugins enabled. This is because https://marketplace.atlassian.com/apps/1227901/application-tunnels/version-history?versionHistoryHosting=dataCenter does not list Bamboo 12 as compatible.
Steps to Reproduce :
1. Install Bamboo 11
2. Install Application tunnels app separately.
3. Upgrade to Bamboo 12
Expected Results :
Bamboo 12 upgrade should complete successfully.
Actual Results :
Upgrade fails with the below error.
2025-11-27 07:08:49,098 INFO [main] [UpgradeLauncher] Upgrade completed. 650.2 ms 2025-11-27 07:08:49,099 INFO [main] [ServiceWideExclusiveLock] Lock APP_UPGRADE released 2025-11-27 07:08:49,099 INFO [main] [BambooContainer] Starting Bamboo... 2025-11-27 07:08:49,099 INFO [main] [BambooContainer] Reticulating splines... 2025-11-27 07:08:49,137 INFO [main] [ClusterAwareLifecycleManagerImpl] Node fcf7e200-e294-49c9-8c43-f7ccd6f37c17 state changed to 'STARTING' from 'SETUP' 2025-11-27 07:08:49,137 FATAL [main] [BambooContainer] Cannot start Bamboo org.quartz.SchedulerException: The Scheduler cannot be restarted after shutdown() has been called.
2025-11-27 07:08:41,988 INFO [ThreadPoolAsyncTaskExecutor::Thread 11] [BambooClusterNodeHeartbeatServiceImpl] Stopping node heartbeat... 2025-11-27 07:08:41,988 INFO [ThreadPoolAsyncTaskExecutor::Thread 11] [QuartzScheduler] Scheduler nodeHeartbeat.quartz_$_NON_CLUSTERED shutting down. 2025-11-27 07:08:41,988 INFO [ThreadPoolAsyncTaskExecutor::Thread 11] [QuartzScheduler] Scheduler nodeHeartbeat.quartz_$_NON_CLUSTERED paused. 2025-11-27 07:08:41,989 INFO [ThreadPoolAsyncTaskExecutor::Thread 11] [QuartzScheduler] Scheduler nodeHeartbeat.quartz_$_NON_CLUSTERED shutdown complete. 2025-11-27 07:08:41,990 ERROR [ThreadPoolAsyncTaskExecutor::Thread 11] [OsgiPlugin] Unable to start the plugin container for plugin 'com.atlassian.securetunnel.client.tunnel-client-plugin' org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'seraphRedirectsLoopPreventer' defined in com.atlassian.tunnel.spring.product.BambooConfiguration: Post-processing of merged bean definition failed at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:584) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1228) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1130) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:990) at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1100(AbstractDelegatedExecutionApplicationContext.java:57) at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:322) at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:287) at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
Workaround :
Remove the Application tunnels JAR from <bamboo-home>shared>plugins folder and retry the upgrade