Fisheye/Crucible Analytics Client Plugin can't be enabled

Still need help?

The Atlassian Community is here for you.

Ask the community

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

The Fisheye/Crucible Analytics Client Plugin can't be enabled.

(warning) While this is not a serious issue as the client plugin collects analytics data and is not important to the application, there is a bug with a dependency on the analytics client plugin that does affect normal operations:

FE-7405 - Getting issue details... STATUS

Environment

Fisheye/Crucible 4.8.10 

Diagnosis

The plugin can't be enabled and the following is logged in atlassian-fisheye-<date>.log


2024-03-20 04:28:14,025 ERROR [ThreadPoolAsyncTaskExecutor::Thread 19 ] com.atlassian.plugin.osgi.factory.OsgiPlugin OsgiPlugin-onPluginContainerFailed - Unable to start the plugin container for plugin 'com.atlassian.analytics.analytics-client'
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productEventListener' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Unsatisfied dependency expressed through constructor argument with index 4 of type [com.atlassian.analytics.client.logger.AnalyticsLogger]: Error creating bean with name 'analyticsLogger' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'analyticsLogger' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException
...
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'analyticsLogger' defined in URL [bundle://2.0:0/META-INF/spring/atlassian-plugins-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:275) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	... 19 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.analytics.client.logger.Log4jAnalyticsLogger]: Constructor threw exception; nested exception is java.lang.NullPointerException
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:267) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	... 32 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:94) [?:?]
	at com.atlassian.analytics.client.logger.Log4jAnalyticsLogger.<init>(Log4jAnalyticsLogger.java:60) [?:?]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [?:1.8.0_402-402]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [?:1.8.0_402-402]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:1.8.0_402-402]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [?:1.8.0_402-402]
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
	... 34 more



Cause

The analytics plugin needs to be able to read/write to the location $FISHEYE_INST/analytics_logs. If there are mixed permissions at the directory or the file content level (files owned by a user other than the one running fisheye) the plugin cannot be enabled.



Solution

Change ownership of the folder and all the files contained in it to the user running Fisheye.

chown -R <fisheye-user> $FISHEYE_INST/analytics-logs

Enable the Analytics Client Plugin



Last modified on Mar 22, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.