Cannot enable the Mobile Plugin for Jira Datacenter and Server after upgrade

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

Post Jira upgrade, Mobile Plugin For Jira Datacenter and Server (jira-mobile-rest) gets disabled and cannot be enabled back

Environment

  • v9.4.x

Diagnosis

The following errors are noticed in the log:

Unable to start the plugin containerforplugin'com.atlassian.analytics.analytics-client'.

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 ThreadPoolAsyncTaskExecutor::Thread 65 ERROR charlie 376x378x1 1cha881 127.0.0.1 /rest/plugins/1.0/com.atlassian.jira.mobile.jira-mobile-rest-key [c.a.p.osgi.factory.OsgiPlugin] Unable to start the plugin container for plugin 'com.atlassian.analytics.analytics-client' org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'jiraEventListener' defined in OSGi resource[classpath:com/atlassian/analytics/client/spring/product/JiraBeans.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Unsatisfied dependency expressed through method 'jiraEventListener' parameter 1; 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 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'switchingAnalyticPipeline' defined in OSGi resource[classpath:com/atlassian/analytics/client/pipeline/AnalyticPipelineConfiguration.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Unsatisfied dependency expressed through method 'switchingAnalyticPipeline' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'whitelistAwareAnalyticPipeline' defined in OSGi resource[classpath:com/atlassian/analytics/client/pipeline/AnalyticPipelineConfiguration.class|bnd.id=20|bnd.sym=com.atlassian.analytics.client]: Unsatisfied dependency expressed through method 'whitelistAwareAnalyticPipeline' 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:800) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) at org.springframework.beans.factory.support.AbstractA               ----------------------------------- --------------------------------- ------------------------------- ------------------------------ Caused by: java.lang.NullPointerException at uk.org.simonsite.log4j.helpers.FileHelper.isReadable(FileHelper.java:115) 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:93) at com.atlassian.analytics.client.logger.Log4jAnalyticsLogger.<init>(Log4jAnalyticsLogger.java:61) at com.atlassian.analytics.client.spring.shared.SharedBeans.log4jAnalyticsLogger(SharedBeans.java:124) at com.atlassian.analytics.client.spring.shared.SharedBeans$$EnhancerBySpringCGLIB$$6f461ded.CGLIB$log4jAnalyticsLogger$4(<generated>) at com.atlassian.analytics.client.spring.shared.SharedBeans$$EnhancerBySpringCGLIB$$6f461ded$$FastClassBySpringCGLIB$$47fb3bf5.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) at com.atlassian.analytics.client.spring.shared.SharedBeans$$EnhancerBySpringCGLIB$$6f461ded.log4jAnalyticsLogger(<generated>) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ... 76 more

Cause

The NullPointerException exception is related to loggers using log4j . The exception points towards permission issues for the atlassian-analytics.log file present under the JIRA_HOME/analytics-logs  directory.

The analytics should be logging in under JIRA_HOME/analytics-logs/atlassian-analytics.log*  with recent data. However, it may be observed that the logs are not updated since the issue started.

Solution

Start by verifying, if the Jira user has permission on the file JIRA_HOME/analytics-logs/atlassian-analytics.log*  . 

In some cases, even after providing the correct permissions analytics logs were not updating on a Windows environment. For such cases, following steps are recommended:

  • Take backup of the existing log file under JIRA_HOME/analytics-logs/* and remove it from the analytics-logs folder

  • Clear Plugin Cache and restart Jira.

  • Verify the plugin status on Manage Apps Page

Updated on March 18, 2025

Still need help?

The Atlassian Community is here for you.