Details
-
Bug
-
Resolution: Answered
-
Low
-
2.10.4, 3.6.1, 4.6.0
-
None
-
Severity 3 - Minor
-
1
-
Description
After changing database parameter and pressing Save on /admin/database.do?editMode=true page Hibernate session factory is recreated. However some threads or jobs (eg. UserSynchroniserJob) do not properly close session causing to reuse old closed session which leads to
2014-10-29 12:12:46,574 ERROR [quartzScheduler_Worker-5 ] org.hibernate.util.JDBCExceptionReporter JDBCExceptionReporter-logExceptions - Attempting to obtain a connection from a pool that has already been shutdown. Stack trace of location where pool was shutdown follows: java.lang.Thread.getStackTrace(Thread.java:1589)^M com.jolbox.bonecp.BoneCP.captureStackTrace(BoneCP.java:543)^M com.jolbox.bonecp.BoneCP.shutdown(BoneCP.java:159)^M com.jolbox.bonecp.provider.BoneCPConnectionProvider.close(BoneCPConnectionProvider.java:77)^M org.hibernate.impl.SessionFactoryImpl.close(SessionFactoryImpl.java:978)^M com.cenqua.crucible.hibernate.HibernateUtil.destroy(HibernateUtil.java:295)^M com.cenqua.crucible.hibernate.DefaultDBControl.stop(DefaultDBControl.java:215)^M com.atlassian.crucible.actions.admin.database.DBEditHelper.stopDB(DBEditHelper.java:414)^M com.atlassian.crucible.actions.admin.database.DBEditHelper.changeDB(DBEditHelper.java:209)^M com.atlassian.crucible.actions.admin.database.UpdateDatabaseAction.execute(UpdateDatabaseAction.java:18)^M sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)^M sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)^M sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)^M java.lang.reflect.Method.invoke(Method.java:606)^M com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)^M com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.atlassian.fisheye.xwork.SimpleConversionErrorInterceptor.intercept(SimpleConversionErrorInterceptor.java:64)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.cenqua.fisheye.web.admin.interceptors.LoginInterceptor.intercept(LoginInterceptor.java:33)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)^M com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)^M com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)^M javax.servlet.http.HttpServlet.service(HttpServlet.java:820)^M org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1272)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)^M com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)^M com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:54)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)^M org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:146)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:287)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.cenqua.fisheye.web.admin.interceptors.LoginInterceptor.intercept(LoginInterceptor.java:33)^M com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)^M com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)^M com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)^M com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)^M javax.servlet.http.HttpServlet.service(HttpServlet.java:820)^M org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1272)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)^M com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)^M com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:54)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)^M org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:146)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:287)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)^M com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:55)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)^M org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:131)^M com.cenqua.fisheye.web.filters.CustomIncludableGzipFilter.doFilter(CustomIncludableGzipFilter.java:27)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:44)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:54)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.fecru.profiling.ProfilingServletFilter.doFilter(ProfilingServletFilter.java:74)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)^M com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:55)^M com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)^M org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:131)^M com.cenqua.fisheye.web.filters.CustomIncludableGzipFilter.doFilter(CustomIncludableGzipFilter.java:27)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:44)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)^M com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:54)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M com.atlassian.fecru.profiling.ProfilingServletFilter.doFilter(ProfilingServletFilter.java:74)^M org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)^M org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)^M org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264)^M org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)^M org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)^M org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)^M org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)^M org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)^M org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)^M org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)^M org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)^M org.mortbay.jetty.Server.handle(Server.java:326)^M org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)^M org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)^M org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)^M org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)^M org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)^M org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)^M org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)^M 2014-10-29 12:12:46,575 ERROR [quartzScheduler_Worker-5 ] fisheye UserSynchroniserJob-execute - Error during the current user synchronisation org.hibernate.exception.GenericJDBCException: Cannot open connection at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449) at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1616) at org.hibernate.loader.Loader.doQuery(Loader.java:717) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270) at org.hibernate.loader.Loader.doList(Loader.java:2449) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2192) at org.hibernate.loader.Loader.list(Loader.java:2187) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258) org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)^M org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)^M org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)^M org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)^M org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)^M org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)^M org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)^M org.mortbay.jetty.Server.handle(Server.java:326)^M org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)^M org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)^M org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)^M org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)^M org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)^M org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)^M org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)^M
Workaround
Crucible instance restart should be enough to get valid session factory