-
Bug
-
Resolution: Fixed
-
High
-
9.6.0, 9.6.1
-
1
-
Severity 2 - Major
-
7
-
Issue Summary
When starting Bitbucket Data Center version 9.6.0 or later, it fails with the following error if jmx.enabled=false is set in the bitbucket.properties file.
2025-04-22 11:49:01,928 ERROR [spring-startup] c.a.j.s.w.s.JohnsonDispatcherServlet SpringMVC dispatcher [springMvc] could not be started org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'getPluginIpdFactory' defined in com.atlassian.stash.internal.IpdWiring: Unsatisfied dependency expressed through method 'getPluginIpdFactory' parameter 1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian.diagnostics.ipd.api.jobs.IpdJobRegistry' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:794) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) at javax.servlet.GenericServlet.init(GenericServlet.java:143) at java.base/java.lang.Thread.run(Thread.java:1583) ... 18 frames trimmed Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian.diagnostics.ipd.api.jobs.IpdJobRegistry' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1801) ... 5 common frames omitted 2025-04-22 11:49:16,269 WARN [http-nio-7991-exec-1] c.a.j.s.w.f.BypassableDelegatingFilterProxy Bypassing [hazelcastFilter]; no Spring WebApplicationContext is available
Steps to Reproduce
- Install Bitbucket Data Center 9.6.0.
- Configure jmx.enabled=false in the bitbucket.properties file and attempt to restart Bitbucket.
Expected Results
The Bitbucket Data Center instance should start successfully.
Actual Results
Bitbucket fails to start and log the following error in atlassian-bitbucket.log file.
2025-04-22 11:49:00,816 WARN [spring-startup] o.s.w.c.s.XmlWebApplicationContext Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'getPluginIpdFactory' defined in com.atlassian.stash.internal.IpdWiring: Unsatisfied dependency expressed through method 'getPluginIpdFactory' parameter 1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian.diagnostics.ipd.api.jobs.IpdJobRegistry' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 2025-04-22 11:49:00,900 WARN [spring-startup] o.s.c.a.CommonAnnotationBeanPostProcessor Destroy method on bean with name 'meshController' threw an exception: java.lang.NullPointerException: Listener ID should not be null! 2025-04-22 11:49:01,847 INFO [spring-startup] c.a.s.i.s.g.m.DefaultSidecarManager Sidecar has stopped (Exit code: 0) 2025-04-22 11:49:01,889 WARN [spring-startup] c.h.h.i.IHazelcastInstanceFactory hibernate.cache.hazelcast.shutdown_on_session_factory_close property is set to 'false'. Leaving current HazelcastInstance active! (Warning: Do not disable Hazelcast hazelcast.shutdownhook.enabled property!) 2025-04-22 11:49:01,890 INFO [spring-startup] c.a.s.internal.home.HomeLockAcquirer Releasing lock on /var/atlassian/application-data/bitbucket/shared 2025-04-22 11:49:01,901 INFO [spring-startup] c.a.s.internal.home.HomeLockAcquirer Releasing lock on /var/atlassian/application-data/bitbucket 2025-04-22 11:49:01,928 ERROR [spring-startup] c.a.j.s.w.s.JohnsonDispatcherServlet SpringMVC dispatcher [springMvc] could not be started org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'getPluginIpdFactory' defined in com.atlassian.stash.internal.IpdWiring: Unsatisfied dependency expressed through method 'getPluginIpdFactory' parameter 1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian.diagnostics.ipd.api.jobs.IpdJobRegistry' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:794) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) at javax.servlet.GenericServlet.init(GenericServlet.java:143) at java.base/java.lang.Thread.run(Thread.java:1583) ... 18 frames trimmed Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.atlassian.diagnostics.ipd.api.jobs.IpdJobRegistry' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1801) ... 5 common frames omitted 2025-04-22 11:49:16,269 WARN [http-nio-7991-exec-1] c.a.j.s.w.f.BypassableDelegatingFilterProxy Bypassing [hazelcastFilter]; no Spring WebApplicationContext is available
Workaround
Remove the jmx.enabled=false property or change it to jmx.enabled=true and restart Bitbucket. This action simply allows Bitbucket to publish metrics, which can be utilised by external monitoring systems, like Prometheus, if integrated.