Bamboo fails to start up because it's unable to start the plugin container for plugin 'com.atlassian.analytics.analytics-client'
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
Problem
Bamboo fails to start up after a restart with the following errors inside the <Bamboo server home directory>/logs/atlassian-bamboo.log file:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
2021-09-20 15:02:21,388 ERROR [ThreadPoolAsyncTaskExecutor::Thread 10] [OsgiPlugin] Unable to start the plugin container for plugin 'com.atlassian.analytics.analytics-client'
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bambooEventListener' defined in OSGi resource[classpath:com/atlassian/analytics/client/spring/product/BambooBeans.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Unsatisfied dependency expressed through method 'bambooEventListener' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productAnalyticsEventListener' defined in OSGi resource[classpath:com/atlassian/analytics/client/spring/shared/SharedBeans.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Unsatisfied dependency expressed through method 'productAnalyticsEventListener' parameter 4; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'log4jAnalyticsLogger' defined in OSGi resource[classpath:com/atlassian/analytics/client/spring/shared/SharedBeans.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Factory method 'log4jAnalyticsLogger' threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:509)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1320)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1159)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:847)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(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.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productAnalyticsEventListener' defined in OSGi resource[classpath:com/atlassian/analytics/client/spring/shared/SharedBeans.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Unsatisfied dependency expressed through method 'productAnalyticsEventListener' parameter 4; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'log4jAnalyticsLogger' defined in OSGi resource[classpath:com/atlassian/analytics/client/spring/shared/SharedBeans.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Factory method 'log4jAnalyticsLogger' threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:509)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1320)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1159)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1255)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1175)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760)
... 19 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'log4jAnalyticsLogger' defined in OSGi resource[classpath:com/atlassian/analytics/client/spring/shared/SharedBeans.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Factory method 'log4jAnalyticsLogger' threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:607)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1320)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1159)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1255)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1175)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760)
... 33 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Factory method 'log4jAnalyticsLogger' threw exception; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622)
... 47 more
Caused by: java.lang.NullPointerException
at uk.org.simonsite.log4j.helpers.FileHelper.isReadable(FileHelper.java:115)
at uk.org.simonsite.log4j.appender.TimeBasedRoller.initNextRolloverTime(TimeBasedRoller.java:148)
at uk.org.simonsite.log4j.appender.TimeBasedRoller.<init>(TimeBasedRoller.java:75)
at uk.org.simonsite.log4j.appender.CompositeRoller.<init>(CompositeRoller.java:37)
at uk.org.simonsite.log4j.appender.TimeAndSizeRollingAppender.activateOptions(TimeAndSizeRollingAppender.java:441)
at com.atlassian.analytics.client.logger.Log4jAnalyticsLogger.initAnalyticsAppender(Log4jAnalyticsLogger.java:90)
at com.atlassian.analytics.client.logger.Log4jAnalyticsLogger.<init>(Log4jAnalyticsLogger.java:59)
at com.atlassian.analytics.client.spring.shared.SharedBeans.log4jAnalyticsLogger(SharedBeans.java:146)
at com.atlassian.analytics.client.spring.shared.SharedBeans$$EnhancerBySpringCGLIB$$7929bfe9.CGLIB$log4jAnalyticsLogger$23(<generated>)
at com.atlassian.analytics.client.spring.shared.SharedBeans$$EnhancerBySpringCGLIB$$7929bfe9$$FastClassBySpringCGLIB$$603ae132.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363)
at com.atlassian.analytics.client.spring.shared.SharedBeans$$EnhancerBySpringCGLIB$$7929bfe9.log4jAnalyticsLogger(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 48 more
Diagnosis
Diagnostic Steps
Check the permissions of the <Bamboo server home directory>/analytics-logs folder and the current log file. You may have several gz files inside this folder but pay attention to the current log file that ends up .log as this is the one Bamboo is going to try to write to when it's starting up.
Cause
Bamboo is unable to access/ write to the logs inside the <Bamboo server home directory>/analytics-logs folder.
Solution
Resolution
Solution 1
Ideally (and in most cases) this can be fixed by changing the permissions of the <Bamboo server home directory>/analytics-logs folder to make sure the user running Bamboo has full control over the folder and the files in it.
Stop Bamboo.
Change/ update permissions for the <Bamboo server home directory>/analytics-logs folder and its files.
Start Bamboo.
Solution 2
If you have updated permissions and is capable of accessing/ opening the folder and the files inside using the same account (user) that's running Bamboo but keep getting the same errors you can try removing the <Bamboo server home directory>/analytics-logs folder to let Bamboo recreate it.
Stop Bamboo.
Backup the <Bamboo server home directory>/analytics-logs folder (or simply move it to another location in the server) and remove it from the <Bamboo server home directory> directory.
Start Bamboo.
Was this helpful?