In the latest Bamboo 5.7, LDAP users are not able to login and it fails with an NPE. The following is thrown in the logs:

      2014-11-13 21:50:07,029 ERROR [http-bio-1057-exec-7] [FiveOhOh] 500 Exception was thrown.
      com.atlassian.cache.CacheException: java.lang.NullPointerException
      	at com.atlassian.cache.memory.DelegatingCache.put(DelegatingCache.java:88)
      	at com.atlassian.user.impl.cache.CachingUserManager.cacheRepository(CachingUserManager.java:86)
      	at com.atlassian.user.impl.cache.CachingUserManager.getRepository(CachingUserManager.java:269)
      	at com.atlassian.user.impl.delegation.DelegatingUserManager.getRepository(DelegatingUserManager.java:288)
      	at com.atlassian.user.impl.delegation.security.authentication.DelegatingAuthenticator.authenticate(DelegatingAuthenticator.java:34)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at com.atlassian.crowd.integration.atlassianuser.DynamicDelegationAccessor$DelegatingInvocationHandler.invoke(DynamicDelegationAccessor.java:125)
      	at com.sun.proxy.$Proxy33.authenticate(Unknown Source)
      	at bucket.user.DefaultUserAccessor.authenticate(DefaultUserAccessor.java:686)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      	at com.sun.proxy.$Proxy50.authenticate(Unknown Source)
      	at com.atlassian.bamboo.user.authentication.BambooAuthenticator.authenticate(BambooAuthenticator.java:37)
      	at com.atlassian.seraph.auth.DefaultAuthenticator.login(DefaultAuthenticator.java:88)
      	at com.atlassian.bamboo.user.authentication.BambooAuthenticator.login(BambooAuthenticator.java:28)
      	at com.atlassian.seraph.filter.PasswordBasedLoginFilter.runAuthentication(PasswordBasedLoginFilter.java:133)
      	at com.atlassian.seraph.filter.PasswordBasedLoginFilter.login(PasswordBasedLoginFilter.java:78)
      	at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:110)
      	at com.atlassian.seraph.filter.BambooLoginFilter.doFilter(BambooLoginFilter.java:34)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      	at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:61)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      	at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	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:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
      	at com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31)
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203)
      	at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:193)
      	at com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:73)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:27)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      	at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	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:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
      	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NullPointerException
      	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187)
      	at com.google.common.cache.LocalCache.put(LocalCache.java:4180)
      	at com.atlassian.cache.memory.DelegatingCache.put(DelegatingCache.java:78)
      

      The issue here is with the caching feature switch.Setting it to true or false will always cause this issue with log in above and the users are not synched to the database. However, logging in with local admin and browsing the users, will show the ldap users and the following is thrown in the logs

      2014-11-13 21:28:09,791 INFO [http-bio-1057-exec-18] [AccessLogFilter] admin GET http://127.0.1.1:1057/bamboo57/admin/user/viewUsers.action 112647kb
      2014-11-13 21:28:10,063 ERROR [http-bio-1057-exec-18] [runtime] Method public java.lang.Iterable com.atlassian.bamboo.ww2.actions.admin.user.SearchUserAction.getGroups(com.atlassian.user.User) threw an exception when invoked on com.atlassian.bamboo.ww2.actions.admin.user.SearchUserAction@6b13d7b
      
      Method public java.lang.Iterable com.atlassian.bamboo.ww2.actions.admin.user.SearchUserAction.getGroups(com.atlassian.user.User) threw an exception when invoked on com.atlassian.bamboo.ww2.actions.admin.user.SearchUserAction@6b13d7b
      The problematic instruction:
      ----------
      ==> assignment: groups=(action.getGroups(userInfo)!) [on line 43, column 9 in admin/user/viewPaginatedUsers.ftl]
      ----------
      
      Java backtrace for programmers:
      ----------
      freemarker.template.TemplateModelException: Method public java.lang.Iterable com.atlassian.bamboo.ww2.actions.admin.user.SearchUserAction.getGroups(com.atlassian.user.User) threw an exception when invoked on com.atlassian.bamboo.ww2.actions.admin.user.SearchUserAction@6b13d7b
      	at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)
      	at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:104)
      	at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      	at freemarker.core.DefaultToExpression._getAsTemplateModel(DefaultToExpression.java:100)
      	at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      	at freemarker.core.ParentheticalExpression._getAsTemplateModel(ParentheticalExpression.java:75)
      	at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      	at freemarker.core.Assignment.accept(Assignment.java:90)
      	at freemarker.core.Environment.visit(Environment.java:210)
      	at freemarker.core.MixedContent.accept(MixedContent.java:92)
      	at freemarker.core.Environment.visit(Environment.java:210)
      	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
      	at freemarker.core.Environment.visit(Environment.java:417)
      	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
      	at freemarker.core.Environment.visit(Environment.java:210)
      	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
      	at freemarker.core.Environment.visit(Environment.java:210)
      	at freemarker.core.MixedContent.accept(MixedContent.java:92)
      	at freemarker.core.Environment.visit(Environment.java:210)
      .
      .
      .
      .
      	
      Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER): Turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition.
      	at org.springframework.orm.hibernate.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1000)
      	at org.springframework.orm.hibernate.HibernateTemplate$9.doInHibernate(HibernateTemplate.java:567)
      	at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370)
      	at org.springframework.orm.hibernate.HibernateTemplate.save(HibernateTemplate.java:565)
      	at com.atlassian.user.impl.hibernate.DefaultExternalEntityDAO.saveExternalEntity(DefaultExternalEntityDAO.java:55)
      	at com.atlassian.user.impl.hibernate.DefaultExternalEntityDAO.createExternalEntity(DefaultExternalEntityDAO.java:65)
      	at com.atlassian.user.impl.hibernate.CachingExternalEntityDAO.createExternalEntity(CachingExternalEntityDAO.java:41)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
      	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      	at com.sun.proxy.$Proxy36.createExternalEntity(Unknown Source)
      

      Some users mentioned that setting both caching to false allows ldap users to login, but this introduce another issue mentioned in this old bug: BAM-11615 where editing or creating task fails

            [BAM-15211] LDAP authentication fails with NPE

            aarmistead There's another bug opened to track that issue.

            Marcin Gardias added a comment - aarmistead There's another bug opened to track that issue.

            Oliver's above stacktrace is extremely similar (probably the same, just haven't done a diff yet) to the error I'm getting when trying to login after applying the patch listed above.

            Aaron Armistead added a comment - Oliver's above stacktrace is extremely similar (probably the same, just haven't done a diff yet) to the error I'm getting when trying to login after applying the patch listed above.

            This also happens when I try to search for a user.

            Oliver Pereira added a comment - This also happens when I try to search for a user.

            One of my colleagues is trying to log into Bamboo and he is getting the following exception

            org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER): Turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition.
                    at org.springframework.orm.hibernate.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1000)
                    at org.springframework.orm.hibernate.HibernateTemplate$9.doInHibernate(HibernateTemplate.java:567)
                    at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370)
                    at org.springframework.orm.hibernate.HibernateTemplate.save(HibernateTemplate.java:565)
                    at com.atlassian.user.impl.hibernate.DefaultExternalEntityDAO.saveExternalEntity(DefaultExternalEntityDAO.java:55)
                    at com.atlassian.user.impl.hibernate.DefaultExternalEntityDAO.createExternalEntity(DefaultExternalEntityDAO.java:65)
                    at com.atlassian.user.impl.hibernate.CachingExternalEntityDAO.createExternalEntity(CachingExternalEntityDAO.java:41)
                    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
                    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
                    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
                    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
                    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
                    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
                    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
                    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
                    at com.sun.proxy.$Proxy36.createExternalEntity(Unknown Source)
                    at com.atlassian.user.impl.hibernate.HibernateGroupManager.getCorrespondingExternalEntity(HibernateGroupManager.java:331)
                    at com.atlassian.user.impl.hibernate.HibernateGroupManager.getAllGroupsForUser(HibernateGroupManager.java:85)
                    at com.atlassian.user.impl.hibernate.HibernateGroupManager.getGroups(HibernateGroupManager.java:76)
                    at com.atlassian.user.impl.cache.CachingGroupManager.getGroups(CachingGroupManager.java:95)
                    at com.atlassian.user.impl.delegation.DelegatingGroupManager.getGroups(DelegatingGroupManager.java:93)
                    at sun.reflect.GeneratedMethodAccessor393.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at com.atlassian.crowd.integration.atlassianuser.DynamicDelegationAccessor$DelegatingInvocationHandler.invoke(DynamicDelegationAccessor.java:125)
                    at com.sun.proxy.$Proxy31.getGroups(Unknown Source)
                    at bucket.user.DefaultUserAccessor.getGroups(DefaultUserAccessor.java:441)
                    at com.atlassian.bamboo.user.BambooUserManagerImpl.getGroupNamesAsList(BambooUserManagerImpl.java:457)
                    at sun.reflect.GeneratedMethodAccessor392.invoke(Unknown Source)
                    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                    at java.lang.reflect.Method.invoke(Method.java:606)
                    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
                    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
                    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
                    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
                    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
                    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
                    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
                    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
                    at com.sun.proxy.$Proxy50.getGroupNamesAsList(Unknown Source)
                    at com.atlassian.bamboo.user.DefaultBambooUser.getAuthorities(DefaultBambooUser.java:151)
                    at com.atlassian.bamboo.security.ImpersonationHelper.runAs(ImpersonationHelper.java:66)
                    at com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:75)
                    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
                    at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
                    at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
                    at com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:26)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:75)
                    at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:240)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:148)
                    at com.atlassian.seraph.filter.BambooLoginFilter.doFilter(BambooLoginFilter.java:34)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
                    at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:61)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
                    at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
                    at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
                    at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
                    at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
                    at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
                    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:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
                    at com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31)
                    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203)
                    at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:193)
                    at com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:73)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:27)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
                    at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)
                    at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
                    at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
                    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:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
                    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
                    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
                    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
                    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
                    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
                    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
                    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                    at java.lang.Thread.run(Thread.java:745)
            

            Oliver Pereira added a comment - One of my colleagues is trying to log into Bamboo and he is getting the following exception org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER): Turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition. at org.springframework.orm.hibernate.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1000) at org.springframework.orm.hibernate.HibernateTemplate$9.doInHibernate(HibernateTemplate.java:567) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370) at org.springframework.orm.hibernate.HibernateTemplate.save(HibernateTemplate.java:565) at com.atlassian.user.impl.hibernate.DefaultExternalEntityDAO.saveExternalEntity(DefaultExternalEntityDAO.java:55) at com.atlassian.user.impl.hibernate.DefaultExternalEntityDAO.createExternalEntity(DefaultExternalEntityDAO.java:65) at com.atlassian.user.impl.hibernate.CachingExternalEntityDAO.createExternalEntity(CachingExternalEntityDAO.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) at com.sun.proxy.$Proxy36.createExternalEntity(Unknown Source) at com.atlassian.user.impl.hibernate.HibernateGroupManager.getCorrespondingExternalEntity(HibernateGroupManager.java:331) at com.atlassian.user.impl.hibernate.HibernateGroupManager.getAllGroupsForUser(HibernateGroupManager.java:85) at com.atlassian.user.impl.hibernate.HibernateGroupManager.getGroups(HibernateGroupManager.java:76) at com.atlassian.user.impl.cache.CachingGroupManager.getGroups(CachingGroupManager.java:95) at com.atlassian.user.impl.delegation.DelegatingGroupManager.getGroups(DelegatingGroupManager.java:93) at sun.reflect.GeneratedMethodAccessor393.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.atlassian.crowd.integration.atlassianuser.DynamicDelegationAccessor$DelegatingInvocationHandler.invoke(DynamicDelegationAccessor.java:125) at com.sun.proxy.$Proxy31.getGroups(Unknown Source) at bucket.user.DefaultUserAccessor.getGroups(DefaultUserAccessor.java:441) at com.atlassian.bamboo.user.BambooUserManagerImpl.getGroupNamesAsList(BambooUserManagerImpl.java:457) at sun.reflect.GeneratedMethodAccessor392.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) at com.sun.proxy.$Proxy50.getGroupNamesAsList(Unknown Source) at com.atlassian.bamboo.user.DefaultBambooUser.getAuthorities(DefaultBambooUser.java:151) at com.atlassian.bamboo.security.ImpersonationHelper.runAs(ImpersonationHelper.java:66) at com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:75) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:26) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:75) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:240) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:148) at com.atlassian.seraph.filter.BambooLoginFilter.doFilter(BambooLoginFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:61) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 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:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) at com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203) at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:193) at com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:73) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:27) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) 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:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)

            Hi Aaron,

            Can you please contact support with your support zip attached?

            Regards,
            Sultan

            Sultan Maiyaki (Inactive) added a comment - Hi Aaron, Can you please contact support with your support zip attached? Regards, Sultan

            I've run into this issue and attempted the workaround listed here and it does not fix the issue.

            Anything else I can try?

            Aaron Armistead added a comment - I've run into this issue and attempted the workaround listed here and it does not fix the issue. Anything else I can try?

            We're currently scheduling the point release.

            Przemek Bruski added a comment - We're currently scheduling the point release.

            achieved=obtained..

            Can I edit my own comments?

            Oliver Pereira added a comment - achieved=obtained.. Can I edit my own comments?

            I know that already.

            But like I mentioned before

            1) I didn't know the Bamboo war file could easily be achieved.
            2) I am not into patching applications manually and expect a patched war file.

            Oliver Pereira added a comment - I know that already. But like I mentioned before 1) I didn't know the Bamboo war file could easily be achieved. 2) I am not into patching applications manually and expect a patched war file.

            But because I had to patch the war file with the supplied jar I tried to rebuild the war file from source.

            WAR is a simple zip archive. You can remove file from the archive and add new ones using any zip-compatible tool

            Krystian Brazulewicz added a comment - But because I had to patch the war file with the supplied jar I tried to rebuild the war file from source. WAR is a simple zip archive. You can remove file from the archive and add new ones using any zip-compatible tool

            Ignore my last comment. I sorted it

            Oliver Pereira added a comment - Ignore my last comment. I sorted it

            Also trying to download the war file throws the following error.

            404 - Not Found
            
            The path /com/atlassian/bamboo/atlassian-bamboo-web-app/5.7.0/atlassian-bamboo-web-app-5.7.0.jar is cached until 2014-11-18T14:01:29.550Z as not found in repository M2Repository(id=atlassian-public)
            

            Oliver Pereira added a comment - Also trying to download the war file throws the following error. 404 - Not Found The path /com/atlassian/bamboo/atlassian-bamboo-web-app/5.7.0/atlassian-bamboo-web-app-5.7.0.jar is cached until 2014-11-18T14:01:29.550Z as not found in repository M2Repository(id=atlassian-public)

            But because I had to patch the war file with the supplied jar I tried to rebuild the war file from source.

            Ideally I would expect a patched war file with the bug fixes so it's easier for me to perform upgrades or downgrades.

            Oliver Pereira added a comment - But because I had to patch the war file with the supplied jar I tried to rebuild the war file from source. Ideally I would expect a patched war file with the bug fixes so it's easier for me to perform upgrades or downgrades.

            No there is no reason I can't use the atlassian built war.

            I never knew it existed until today. In fact it makes my life much easier now.

            Oliver Pereira added a comment - No there is no reason I can't use the atlassian built war. I never knew it existed until today. In fact it makes my life much easier now.

            Krystian Brazulewicz added a comment - - edited

            Oliver,
            I'm clarifying this with our Product Manager.
            Is there a reason why you can't use atlassian-built WAR: https://maven.atlassian.com/#nexus-search;gav~com.atlassian.bamboo~atlassian-bamboo-web-app~~~~kw,versionexpand ?

            Krystian Brazulewicz added a comment - - edited Oliver, I'm clarifying this with our Product Manager. Is there a reason why you can't use atlassian-built WAR: https://maven.atlassian.com/#nexus-search;gav~com.atlassian.bamboo~atlassian-bamboo-web-app~~~~kw,versionexpand ?

            Please explain "custom builds".

            All I have done is downloaded the source code and built the Bamboo war file from the source with no modifications to the source.

            And the reason behind this is because

            1) We don't want to use the all-in-one Atlassian provided package where during every upgrade we have to manually copy the custom settings across between versions.

            2) It's easy to automate the server using Puppet when we using the war file.

            I don't see how that would disable Atlassian support.

            Oliver Pereira added a comment - Please explain "custom builds". All I have done is downloaded the source code and built the Bamboo war file from the source with no modifications to the source. And the reason behind this is because 1) We don't want to use the all-in-one Atlassian provided package where during every upgrade we have to manually copy the custom settings across between versions. 2) It's easy to automate the server using Puppet when we using the war file. I don't see how that would disable Atlassian support.

            I misunderstood your question. Generally problem occurred when you used multiple user repositories in atlassian-user.xml with caching enabled and tried to login to account provided by any other than the first repository in atlassian-user.xml. So depending on the order of user repository definitions it could be just local "admin" account or all LDAP-based accounts.

            Krystian Brazulewicz added a comment - I misunderstood your question. Generally problem occurred when you used multiple user repositories in atlassian-user.xml with caching enabled and tried to login to account provided by any other than the first repository in atlassian-user.xml. So depending on the order of user repository definitions it could be just local "admin" account or all LDAP-based accounts.

            Oh no. I mean if there is a problem when i connect my bamboo to jira.

            Dirk Bromberg added a comment - Oh no. I mean if there is a problem when i connect my bamboo to jira.

            bromberg I believe JIRA uses different user management library so it should be safe to upgrade. You should however contact JIRA support when in doubt.
            oliver.pereira You should not use custom builds of Bamboo for production. I'm pretty sure that such installation is not eligible for support.

            Krystian Brazulewicz added a comment - bromberg I believe JIRA uses different user management library so it should be safe to upgrade. You should however contact JIRA support when in doubt. oliver.pereira You should not use custom builds of Bamboo for production. I'm pretty sure that such installation is not eligible for support.

            I tried rebuilding Bamboo from source with the attached jar file and it failed to load.

            So I ended up rebuilding Bamboo with the previous version and then replacing the jar file inside the war file.

            It seems to be holding now.

            Oliver Pereira added a comment - I tried rebuilding Bamboo from source with the attached jar file and it failed to load. So I ended up rebuilding Bamboo with the previous version and then replacing the jar file inside the war file. It seems to be holding now.

            Does is occur with the JIRA user management integration too? Or is it safe to upgrade then?

            Dirk Bromberg added a comment - Does is occur with the JIRA user management integration too? Or is it safe to upgrade then?

            I've attached patched atlassian-user JAR which should fix the problem causing 500 error when user is logging in.
            In order to install the patch please do the following:

            • stop Bamboo instance
            • backup existing atlassian-user-3.1.11.jar located in atlassian-bamboo/WEB-INF/lib folder in your Bamboo installation directory
            • copy attached atlassian-user-3.1.12-SNAPSHOT.jar to atlassian-bamboo/WEB-INF/lib folder in your Bamboo installation directory
            • start Bamboo instance

            Krystian Brazulewicz added a comment - I've attached patched atlassian-user JAR which should fix the problem causing 500 error when user is logging in. In order to install the patch please do the following: stop Bamboo instance backup existing atlassian-user-3.1.11.jar located in atlassian-bamboo/WEB-INF/lib folder in your Bamboo installation directory copy attached atlassian-user-3.1.12-SNAPSHOT.jar to atlassian-bamboo/WEB-INF/lib folder in your Bamboo installation directory start Bamboo instance

            I just downgraded to Bamboo 5.6.2.

            I am in no rush to upgrade looking at Atlassian recent track record.

            Oliver Pereira added a comment - I just downgraded to Bamboo 5.6.2. I am in no rush to upgrade looking at Atlassian recent track record.

            I have the exact opposite problems.

            I cannot login using the local accounts but I can login using the LDAP accounts.

            Oliver Pereira added a comment - I have the exact opposite problems. I cannot login using the local accounts but I can login using the LDAP accounts.

              kbrazulewicz Krystian Brazulewicz
              smaiyaki Sultan Maiyaki (Inactive)
              Affected customers:
              2 This affects my team
              Watchers:
              11 Start watching this issue

                Created:
                Updated:
                Resolved: