-
Bug
-
Resolution: Fixed
-
Medium
-
9.0.0
-
None
-
1
-
Severity 2 - Major
-
Issue Summary
Bamboo setup on an unsupported database such as PostgreSQL 9 fails and does not communicate anything to help the user identify the problem.
The setup wizard will continue to spin. Upon refreshing the page you will get a 500 Exception related to the OSGI.
This is reproducible on Data Center:
Steps to Reproduce
- Start a fresh Bamboo 9.0 instance
- During setup point it at a PostgreSQL 9.6 instance
Expected Results
Database validation fails and the error is communicated to the user in the UI.
Actual Results
Setup spins endlessly.
Refreshing the page leads to this exception:
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Unable to create a tracker when osgi is not running at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2055) at com.google.common.cache.LocalCache.get(LocalCache.java:3966) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956) at com.atlassian.bamboo.plugin.osgi.OsgiServiceProxyFactoryImpl.lambda$serviceAccessor$0(OsgiServiceProxyFactoryImpl.java:97) at com.atlassian.bamboo.plugin.osgi.InvocationHandlers$ClassLoaderSwitchingInvocationHandler.invokeServiceMethod(InvocationHandlers.java:68) at com.atlassian.bamboo.plugin.osgi.InvocationHandlers$DynamicServiceInvocationHandler.invoke(InvocationHandlers.java:45) at com.sun.proxy.$Proxy406.canCollectAnalytics(Unknown Source) at com.atlassian.bamboo.DefaultFeatureManager.isPerformanceDataGatheringEnabled(DefaultFeatureManager.java:238) at com.atlassian.bamboo.filter.BambooProfilingFilter.doFilter(BambooProfilingFilter.java:65)
The below same exception can be found in the atlassian-bamboo.log file as well as other clues such as:
2022-11-04 03:32:51,333 INFO [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Testing compatibility of [PostgreSQL] 9.6.0 (9.6.18) using JDBC driver [PostgreSQL JDBC Driver] 42.3.0 (42.3.6) with this version of Bamboo. 2022-11-04 03:32:51,333 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Detected POSTGRESQL version [PostgreSQL] 9.6.0 (9.6.18), minimal supported version is 10.0.0 2022-11-04 03:32:51,333 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Bamboo doesn't support PostgreSQL version 9.6.18. Please check https://confluence.atlassian.com/display/BAMBOO/Supported+Platforms for more information.
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.bamboo.utils.db.DbmsBean]: Factory method 'createDbmsBean' threw exception; nested exception is java.lang.IllegalStateException: Unsupported version of PostgreSQL: [PostgreSQL] 9.6.0 (9.6.18) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.21.jar:5.3.21] ... at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] at com.atlassian.plugin.spring.SpringHostComponentProviderFactoryBean$SpringHostComponentProvider.provideBeans(SpringHostComponentProviderFactoryBean.java:159) ~[atlassian-plugins-spring-7.0.6.jar:?] at com.atlassian.plugin.spring.SpringHostComponentProviderFactoryBean$SpringHostComponentProvider.provide(SpringHostComponentProviderFactoryBean.java:137) ~[atlassian-plugins-spring-7.0.6.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.beans.factory.config.AbstractFactoryBean$EarlySingletonInvocationHandler.invoke(AbstractFactoryBean.java:275) ~[spring-beans-5.3.21.jar:5.3.21] at com.sun.proxy.$Proxy149.provide(Unknown Source) ~[?:?] at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.collectHostComponents(FelixOsgiContainerManager.java:481) ~[atlassian-plugins-osgi-7.0.6.jar:?] at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.start(FelixOsgiContainerManager.java:229) ~[atlassian-plugins-osgi-7.0.6.jar:?] at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.onStart(FelixOsgiContainerManager.java:197) ~[atlassian-plugins-osgi-7.0.6.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42) ~[atlassian-event-5.0.1.jar:?] ... 44 more Caused by: java.lang.IllegalStateException: Unsupported version of PostgreSQL: [PostgreSQL] 9.6.0 (9.6.18) at com.atlassian.bamboo.hibernate.DialectSelector.selectPostgresDialect(DialectSelector.java:66) ~[atlassian-bamboo-persistence-9.0.1.jar:?] at com.atlassian.bamboo.hibernate.DialectSelector.getDialectClass(DialectSelector.java:53) ~[atlassian-bamboo-persistence-9.0.1.jar:?] at com.atlassian.bamboo.hibernate.DialectSelector.getDialect(DialectSelector.java:24) ~[atlassian-bamboo-persistence-9.0.1.jar:?] at com.atlassian.bamboo.hibernate.DialectSelector.getDialect(DialectSelector.java:33) ~[atlassian-bamboo-persistence-9.0.1.jar:?] at com.atlassian.bamboo.hibernate.BambooHibernateConfig.getHibernateProperties(BambooHibernateConfig.java:62) ~[atlassian-bamboo-persistence-9.0.1.jar:?] at com.atlassian.bamboo.utils.db.DbmsBeanFactoryImpl.createDbmsBean(DbmsBeanFactoryImpl.java:25) ~[atlassian-bamboo-persistence-9.0.1.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] at com.atlassian.plugin.spring.SpringHostComponentProviderFactoryBean$SpringHostComponentProvider.provideBeans(SpringHostComponentProviderFactoryBean.java:159) ~[atlassian-plugins-spring-7.0.6.jar:?] at com.atlassian.plugin.spring.SpringHostComponentProviderFactoryBean$SpringHostComponentProvider.provide(SpringHostComponentProviderFactoryBean.java:137) ~[atlassian-plugins-spring-7.0.6.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.beans.factory.config.AbstractFactoryBean$EarlySingletonInvocationHandler.invoke(AbstractFactoryBean.java:275) ~[spring-beans-5.3.21.jar:5.3.21] at com.sun.proxy.$Proxy149.provide(Unknown Source) ~[?:?] at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.collectHostComponents(FelixOsgiContainerManager.java:481) ~[atlassian-plugins-osgi-7.0.6.jar:?] at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.start(FelixOsgiContainerManager.java:229) ~[atlassian-plugins-osgi-7.0.6.jar:?] at com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager.onStart(FelixOsgiContainerManager.java:197) ~[atlassian-plugins-osgi-7.0.6.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42) ~[atlassian-event-5.0.1.jar:?] ... 44 more
Workaround
None, you'll need to reinstall Bamboo using a supported database platform:
- mentioned in
-
Page Failed to load