Bamboo upgrade from 6.3.1 to 6.4.0 startup failed caused by missing dependency 'textProvider'
Asked by Jan Lovstrand:

I have no add-ons installed.

One build configured.

Please help!

atlassian-bamboo.log

FATAL \[localhost-startStop-1\] \[BootstrapLoaderListener\] An error was encountered while bootstrapping Bamboo (see below):  
Error creating bean with name 'bootstrapManager': Unsatisfied dependency expressed through field 'bootstrapUpgradeManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bootstrapUpgradeManager' defined in class path resource \[applicationContextBootstrapUpgrader.xml\]: Cannot resolve reference to bean 'textProvider' while setting bean property 'textProvider'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'textProvider' defined in class path resource \[applicationContextBootstrap.xml\]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.function.Supplier\<com.opensymphony.xwork2.TextProvider\>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}  
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bootstrapManager': Unsatisfied dependency expressed through field 'bootstrapUpgradeManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bootstrapUpgradeManager' defined in class path resource \[applicationContextBootstrapUpgrader.xml\]: Cannot resolve reference to bean 'textProvider' while setting bean property 'textProvider'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'textProvider' defined in class path resource \[applicationContextBootstrap.xml\]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.function.Supplier\<com.opensymphony.xwork2.TextProvider\>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}  
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)  
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)  
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)  
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)  
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)  
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)  
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)  
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)  
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)  
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)  
at org.springframework.context.support.ClassPathXmlApplicationContext.\<init\>(ClassPathXmlApplicationContext.java:139)  
at org.springframework.context.support.ClassPathXmlApplicationContext.\<init\>(ClassPathXmlApplicationContext.java:93)  
at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:91)  
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4842)  
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)  
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)  
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)  
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)  
at java.util.concurrent.FutureTask.run(FutureTask.java:266)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  
at java.lang.Thread.run(Thread.java:748)  
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bootstrapUpgradeManager' defined in class path resource \[applicationContextBootstrapUpgrader.xml\]: Cannot resolve reference to bean 'textProvider' while setting bean property 'textProvider'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'textProvider' defined in class path resource \[applicationContextBootstrap.xml\]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.function.Supplier\<com.opensymphony.xwork2.TextProvider\>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}  
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)  
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1531)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)  
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)  
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)  
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)  
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)  
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)  
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)  
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)  
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)  
... 24 more  
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'textProvider' defined in class path resource \[applicationContextBootstrap.xml\]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.function.Supplier\<com.opensymphony.xwork2.TextProvider\>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}  
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)  
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)  
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)  
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)  
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)  
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)  
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)  
... 37 more  
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.util.function.Supplier\<com.opensymphony.xwork2.TextProvider\>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}  
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1486)  
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)  
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)  
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835)  
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)  
... 47 more  
2018-02-28 10:12:00,011 WARN \[localhost-startStop-1\] \[BootstrapUtils\] Attempting to retrieve bootstrap manager before it is set up: com.atlassian.config.bootstrap.BootstrappedContextLoaderListener.canInitialiseContainer(BootstrappedContextLoaderListener.java:24)  
2018-02-28 10:12:00,042 WARN \[localhost-startStop-1\] \[BootstrapUtils\] Attempting to retrieve bootstrap manager before it is set up: com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:56)  
2018-02-28 10:12:00,511 INFO \[localhost-startStop-1\] \[BambooPluginManager\] Plugin state will no longer be persisted.


Answers:
author: Foong
body: Is Bamboo 6.4.0 installed into an empty directory or old Bamboo 6.3.1 directory?

Make sure that Bamboo 6.4.0 is installed in an empty directory and then configure it to use the same old Bamboo Home for the upgrade.

comments: author: Jan Lovstrand
body: Thank you! It worked!