Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

install problem: Could not create disk store. Initial cause was Permission denied

Julian C. Dunn November 6, 2012

We are trying to install Crowd 2.5.2 on a new server, and run it unprivileged as the crowd user. I have run the script here https://confluence.atlassian.com/display/CROWD/Setting+Crowd+to+Run+Automatically+and+Use+an+Unprivileged+System+User+on+UNIX to change the relevant directories to crowd, but when we first try to set up Crowd, the following error occurs.

Can you please advise what directory the disk store is created in, so that it could be changed in ownership to the crowd user?

Cause :

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tokenDAOHibernate' defined in class path resource applicationContext-CrowdDAO.xml : Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehCacheProvider' while setting bean property 'cacheProvider'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehCacheProvider' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehcacheManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheManager' defined in class path resource applicationContext-CrowdConsoleClient.xml : Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: com.atlassian.crowd.model.token.Token.identifier-hash-cacheCache: Could not create disk store. Initial cause was Permission denied

Stack Trace :

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tokenDAOHibernate' defined in class path resource applicationContext-CrowdDAO.xml : Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehCacheProvider' while setting bean property 'cacheProvider'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehCacheProvider' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehcacheManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheManager' defined in class path resource applicationContext-CrowdConsoleClient.xml : Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: com.atlassian.crowd.model.token.Token.identifier-hash-cacheCache: Could not create disk store. Initial cause was Permission denied

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)

at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384)

at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)

at com.atlassian.config.spring.BootstrappedContainerContext.refresh(BootstrappedContainerContext.java:22)

at com.atlassian.crowd.console.setup.DefaultHibernateConfigurator.refreshSpringContextAndCreateDatabase(DefaultHibernateConfigurator.java:119)

at com.atlassian.crowd.console.setup.DefaultHibernateConfigurator.configureDatabase(DefaultHibernateConfigurator.java:58)

at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.bootstrapDatabase(DefaultAtlassianBootstrapManager.java:253)

at com.atlassian.crowd.console.action.setup.Database.configureJdbc(Database.java:299)

at com.atlassian.crowd.console.action.setup.Database.doUpdate(Database.java:96)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)

at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

at com.atlassian.xwork.interceptors.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:58)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

at com.atlassian.crowd.console.interceptor.SetupCheckInterceptor.intercept(SetupCheckInterceptor.java:29)

at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)

at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)

at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)

at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)

at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)

at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)

at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:67)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.crowd.console.filter.CrowdOpenSessionInViewFilter.doFilterInternal(CrowdOpenSessionInViewFilter.java:30)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.crowd.plugin.web.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:31)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.crowd.console.filter.CrowdDelegatingFilterProxy.doFilter(CrowdDelegatingFilterProxy.java:42)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)

at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)

at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter(AbstractCachingFilter.java:33)

at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:41)

at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:41)

at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

at java.lang.Thread.run(Thread.java:662)

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehCacheProvider' while setting bean property 'cacheProvider'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehCacheProvider' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehcacheManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheManager' defined in class path resource applicationContext-CrowdConsoleClient.xml : Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: com.atlassian.crowd.model.token.Token.identifier-hash-cacheCache: Could not create disk store. Initial cause was Permission denied

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)

... 112 more

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehCacheProvider' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehcacheManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheManager' defined in class path resource applicationContext-CrowdConsoleClient.xml : Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: com.atlassian.crowd.model.token.Token.identifier-hash-cacheCache: Could not create disk store. Initial cause was Permission denied

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)

at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630)

at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)

... 122 more

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheManager' defined in class path resource applicationContext-CrowdConsoleClient.xml : Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: com.atlassian.crowd.model.token.Token.identifier-hash-cacheCache: Could not create disk store. Initial cause was Permission denied

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)

at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)

... 134 more

Caused by: net.sf.ehcache.CacheException: com.atlassian.crowd.model.token.Token.identifier-hash-cacheCache: Could not create disk store. Initial cause was Permission denied

at net.sf.ehcache.store.DiskStore.(DiskStore.java:164)

at net.sf.ehcache.Cache.createDiskStore(Cache.java:577)

at net.sf.ehcache.Cache.initialise(Cache.java:549)

at net.sf.ehcache.CacheManager.addCacheNoCheck(CacheManager.java:707)

at net.sf.ehcache.CacheManager.addConfiguredCaches(CacheManager.java:368)

at net.sf.ehcache.CacheManager.init(CacheManager.java:235)

at net.sf.ehcache.CacheManager.(CacheManager.java:202)

at org.springframework.cache.ehcache.EhCacheManagerFactoryBean.afterPropertiesSet(EhCacheManagerFactoryBean.java:104)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)

... 141 more

Caused by: java.io.IOException: Permission denied

at java.io.UnixFileSystem.createFileExclusively(Native Method)

at java.io.File.createNewFile(File.java:883)

at net.sf.ehcache.store.DiskStore.createNewIndexFile(DiskStore.java:845)

at net.sf.ehcache.store.DiskStore.readIndex(DiskStore.java:830)

at net.sf.ehcache.store.DiskStore.initialiseFiles(DiskStore.java:193)

at net.sf.ehcache.store.DiskStore.(DiskStore.java:152)

... 150 more

Referer : http://localhost:8095/crowd/console/setup/setupdatabase!update.action

Build Information :

Version : 2.5.2 (Build:#584 - 18-10-2012)

Memory Information :

Total Memory : 235 MB

Free Memory : 167 MB

Used Memory : 67 MB

Request Information :

- Request URL : http://localhost:8095/crowd/console/500.jsp

- Scheme : http

- Server : localhost

- Port : 8095

- URI : /crowd/console/500.jsp

- Context Path : /crowd

- - Servlet Path : /console/500.jsp

- - Path Info : null

- - Query String :

Request Attributes :

- javax.servlet.forward.request_uri : /crowd/console/setup/setupdatabase!update.action

- javax.servlet.forward.context_path : /crowd

- javax.servlet.forward.servlet_path : /console/setup/setupdatabase!update.action

- javax.servlet.forward.path_info : /console/500.jsp

- javax.servlet.error.message :

- javax.servlet.error.status_code : 500

- webwork.valueStack : com.opensymphony.xwork.util.OgnlValueStack@65b1fd9c

- javax.servlet.error.servlet_name : default

- javax.servlet.error.exception : org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tokenDAOHibernate' defined in class path resource applicationContext-CrowdDAO.xml : Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehCacheProvider' while setting bean property 'cacheProvider'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehCacheProvider' defined in class path resource applicationContext-CrowdPersistence.xml : Cannot resolve reference to bean 'ehcacheManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcacheManager' defined in class path resource applicationContext-CrowdConsoleClient.xml : Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: com.atlassian.crowd.model.token.Token.identifier-hash-cacheCache: Could not create disk store. Initial cause was Permission denied

- javax.servlet.error.request_uri : /crowd/console/setup/setupdatabase!update.action

Request Parameters:

- jdbcPassword : XXXXXXXX

- datasourceJndiName :

- jdbcHibernateDialect : org.hibernate.dialect.PostgreSQLDialect

- datasourceDatabaseType :

- datasourceHibernateDialect :

- jdbcUsername : crowd

- jdbcDatabaseType : postgresql

- jdbcUrl : jdbc:postgresql://localhost:5432/crowd

- jdbcDriverClassName : org.postgresql.Driver

- databaseOption : db.jdbc

2 answers

1 accepted

5 votes
Answer accepted
Steve Baker November 12, 2012

Hey Julian!

I think I can help. Just struggled with this same exact issue myself here tonight and eventually sorted it out.

Was trying to upgrade to Crowd 2.5.2. Got everything in place, fired it up, hit our normal URL, and ... 404. Our logs were showing the same thing you were talking about:

"Could not create disk store.  Initial cause was permission denied"

I dialed our logging up to DEBUG, which now revealed the following line in atlassian-crowd.log just before all of those "Permission denied" errors:

2012-11-12 23:36:30,120 main DEBUG [sf.ehcache.config.DiskStoreConfiguration] Disk Store Path: /opt/atlassian/crowd/apache-tomcat/temp

Playing a hunch, I checked to see if that directory was owned by the "crowd" user. Sure enough, it wasn't.

Simple fix:

chown crowd /opt/atlassian/crowd/apache-tomcat/temp

After a Crowd restart, boom, everything was working again.

Give that a shot. (Obviously, your specific paths may vary.) Good luck!

Denny Schäfer November 13, 2012

We run in the same error. Thankyou for write down a fix.

RAHUL MIGLANI August 31, 2016

Awesome !!!!!!! I got the fix and it works !!! Thanks Steve 

0 votes
Janet Albion
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 7, 2012

Hi Julian,

Can't determine which directory that you need to change the ownership as this is depending on where is the INSTALL_BASE and CROWD_HOME that you have specified in the BASH file. In the guide, the example is like:

#!/bin/bash
CROWD_USER="crowd"
CROWD_GROUP="crowd"
INSTALL_BASE="/opt/crowd/atlassian-crowd-2.2.2"
CROWD_HOME="/var/crowd-home"
sudo chgrp ${CROWD_GROUP} ${INSTALL_BASE}/{*.sh,apache-tomcat/bin/*.sh}
sudo chmod g+x ${INSTALL_BASE}/{*.sh,apache-tomcat/bin/*.sh}
sudo chown -R ${CROWD_USER} ${CROWD_HOME} ${INSTALL_BASE}/apache-tomcat/{logs,work}
sudo touch -a ${INSTALL_BASE}/atlassian-crowd-openid-server.log
sudo mkdir ${INSTALL_BASE}/database
sudo chown -R ${CROWD_USER} ${INSTALL_BASE}/{database,atlassian-crowd-openid-server.log}

So, in this example the ownership should be given in for user "crowd" for directory:

  • /opt/crowd/atlassian-crowd-2.2.2
  • /var/crowd-home

Good luck

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events