Crowd fails to start after the 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

Crowd fails to start after the upgrade.

Environment

Crowd 5.3.2

Diagnosis

Crowd fails to start after upgrading to Crowd 5.3.2, and the following error is observed in the UI when attempting to access Crowd:

(Auto-migrated image: description temporarily unavailable)

Upon reviewing the logs, the following error is observed in the Crowd application logs (atlassian-crowd.log)

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 024-07-11 06:36:27,126 main ERROR [springframework.web.context.ContextLoader] Context initialization failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tokenDAOHibernate': Unsatisfied dependency expressed through method 'setBatchFinder' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'batchFinder' defined in class path resource [applicationContext-CrowdDAO.xml]: Cannot resolve reference to bean 'sessionFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext-CrowdPersistence.xml]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.resolveMethodArguments(AutowiredAnnotationBeanPostProcessor.java:824) ~[spring-beans-5.3.35.jar:5.3.35] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:777) ~[spring-beans-5.3.35.jar:5.3.35] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.3.35.jar:5.3.35] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:408) ~[spring-beans-5.3.35.jar:5.3.35] . . Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'batchFinder' defined in class path resource [applicationContext-CrowdDAO.xml]: Cannot resolve reference to bean 'sessionFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext-CrowdPersistence.xml]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:342) ~[spring-beans-5.3.35.jar:5.3.35] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113) ~[spring-beans-5.3.35.jar:5.3.35] at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:695) ~[spring-beans-5.3.35.jar:5.3.35] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189) ~[spring-beans-5.3.35.jar:5.3.35] . . Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext-CrowdPersistence.xml]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.35.jar:5.3.35] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.35.jar:5.3.35] . . Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] . . Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: HHH010003: JDBC Driver class not found: com.microsoft.sqlserver.jdbc.SQLServerDriver at org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:130) ~[hibernate-c3p0-5.4.33.Final.jar:5.4.33.Final] at com.atlassian.crowd.util.persistence.hibernate.connection.DelegatingConnectionProvider.configure(DelegatingConnectionProvider.java:74) ~[crowd-persistence-hibernate5-5.3.2.jar:?] at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:107) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:246) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] . . Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [com.microsoft.sqlserver.jdbc.SQLServerDriver] at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:133) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final] at org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:127) ~[hibernate-c3p0-5.4.33.Final.jar:5.4.33.Final] at com.atlassian.crowd.util.persistence.hibernate.connection.DelegatingConnectionProvider.configure(DelegatingConnectionProvider.java:74) ~[crowd-persistence-hibernate5-5.3.2.jar:?] . .

Cause

The error observed in the logs is due to the missing Microsoft SQL Server JDBC driver during startup, which caused Crowd initialisation to fail after the upgrade.

As outlined in the Upgrading Crowd via Automatic Database Upgrade, you need to back up the JDBC driver from your existing installation directory and then copy it to the new installation directory at the following path as part of the upgrade process:

1 {CROWD_INSTALL}/apache-tomcat/lib/

Solution

To resolve the issue:

Please copy the Microsoft SQL Server JDBC driver from your old Crowd installation directory backup and place it in the following path under the latest Crowd installation:

1 {CROWD_INSTALL}/apache-tomcat/lib/

After copying the JDBC driver, please restart your Crowd application and verify if you can access it.

In case of issues or concerns to follow this procedure, please reach out to the Atlassian Support team and share the information that's been gathered so far along with a fresh Support zip file.

Updated on March 14, 2025

Still need help?

The Atlassian Community is here for you.