Details
-
Bug
-
Resolution: Fixed
-
Medium
-
None
-
None
Description
you basically end up with two different stored paths with the same path.
stack trace when loading a review with with one of these invalid stored paths:
[java] ERROR - Problem getting previous revisions
[java] org.hibernate.NonUniqueResultException: query did not return a unique result: 2
[java] at org.hibernate.impl.AbstractQueryImpl.uniqueElement(AbstractQueryImpl.java:820)
[java] at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
[java] at com.cenqua.crucible.model.managers.StoredPathManager.findStoredPath(StoredPathManager.java:29)
[java] at com.cenqua.crucible.model.managers.FileRevisionManager.findRevision(FileRevisionManager.java:115)
[java] at com.cenqua.crucible.revision.managers.DefaultContentManager.getLazyCrucibleRevision(DefaultContentManager.java:367)
[java] at com.cenqua.crucible.revision.managers.DefaultContentManager.getLazyCrucibleRevision(DefaultContentManager.java:363)
[java] at com.cenqua.crucible.view.RevInfoDO.annotateFileHistory(RevInfoDO.java:120)
[java] at com.cenqua.crucible.view.RevInfoDO.processFileRevisions(RevInfoDO.java:77)
[java] at com.cenqua.crucible.view.RevInfoDO.<init>(RevInfoDO.java:58)
[java] at com.cenqua.crucible.view.FRXDO$AnnotatedFileHistory.getRevInfoDO(FRXDO.java:108)
[java] at com.cenqua.crucible.view.FRXDO.getCanProvideAnnotatedFileHistory(FRXDO.java:1017)
[java] at sun.reflect.GeneratedMethodAccessor344.invoke(Unknown Source)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at javax.el.BeanELResolver.getValue(BeanELResolver.java:293)
[java] at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
[java] at com.sun.el.parser.AstValue.getValue(AstValue.java:138)
[java] at com.sun.el.parser.AstAnd.getValue(AstAnd.java:54)
[java] at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)
[java] at org.apache.jasper.runtime.PageContextImpl.evaluateExpression(PageContextImpl.java:1001)
[java] at org.apache.jsp.tag.web.review.frxControls_tag._jspx_meth_c_if_4(org.apache.jsp.tag.web.review.frxControls_tag:494)
[java] at org.apache.jsp.tag.web.review.frxControls_tag.doTag(org.apache.jsp.tag.web.review.frxControls_tag:175)
[java] at org.apache.jsp.tag.web.review.reviewPage_tag._jspx_meth_rev_frxControls_0(org.apache.jsp.tag.web.review.reviewPage_tag:5585)
[java] at org.apache.jsp.tag.web.review.reviewPage_tag._jspx_meth_c_forEach_32(org.apache.jsp.tag.web.review.reviewPage_tag:5528)
[java] at org.apache.jsp.tag.web.review.reviewPage_tag._jspx_meth_c_when_9(org.apache.jsp.tag.web.review.reviewPage_tag:5495)
[java] at org.apache.jsp.tag.web.review.reviewPage_tag._jspx_meth_c_choose_6(org.apache.jsp.tag.web.review.reviewPage_tag:5461)
[java] at org.apache.jsp.tag.web.review.reviewPage_tag.doTag(org.apache.jsp.tag.web.review.reviewPage_tag:937)
[java] at org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.review_jsp._jspx_meth_rev_reviewPage_0(org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.review_jsp:145)
[java] at org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.review_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.review_jsp:118)
[java] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
[java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
[java] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
[java] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
[java] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
[java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
[java] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1208)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.cenqua.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:118)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:159)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)
[java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
[java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
[java] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
[java] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
[java] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
[java] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
[java] at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:334)
[java] at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
[java] at com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:114)
[java] at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143)
[java] at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208)
[java] at com.cenqua.crucible.interceptors.ReviewInterceptor.intercept(ReviewInterceptor.java:49)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.cenqua.crucible.interceptors.CruciblePermissionInterceptor.intercept(CruciblePermissionInterceptor.java:40)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.cenqua.crucible.interceptors.HasCrucibleInterceptor.intercept(HasCrucibleInterceptor.java:27)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186)
[java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
[java] at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
[java] at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)
[java] at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)
[java] at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
[java] at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1208)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
[java] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.cenqua.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:118)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:224)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)
[java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
[java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
[java] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
[java] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
[java] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
[java] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
[java] at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:334)
[java] at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
[java] at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:145)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)
[java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
[java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
[java] at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
[java] at com.cenqua.fisheye.web.filters.CustomIncludableGzipFilter.doFilter(CustomIncludableGzipFilter.java:21)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:36)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
[java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:59)
[java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
[java] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
[java] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
[java] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
[java] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
[java] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
[java] at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
[java] at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
[java] at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[java] at org.mortbay.jetty.Server.handle(Server.java:324)
[java] at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
[java] at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
[java] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
[java] at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
[java] at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
[java] at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
[java] at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)