Details
-
Bug
-
Resolution: Fixed
-
High
-
2.8.0
-
None
-
None
Description
If a review has attachments, and for some reason, those attachments are deleted on disk after a comment has been added to the attachment item, the following NullPointerException is thrown:
[java] 2012-08-27 13:09:11,234 ERROR - Nested in org.apache.jasper.JasperException: javax.el.ELException: java.lang.NullPointerException: [java] javax.el.ELException: java.lang.NullPointerException [java] at javax.el.BeanELResolver.getValue(BeanELResolver.java:298) [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.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206) [java] at org.apache.jasper.runtime.PageContextImpl.evaluateExpression(PageContextImpl.java:1001) [java] at org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.displayFrxInnerDiv_jsp._jspx_meth_rev_diffOptionsFormAjax_0(org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.displayFrxInnerDiv_jsp:317) [java] at org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.displayFrxInnerDiv_jsp._jspx_meth_cru_asJavascriptString_2(org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.displayFrxInnerDiv_jsp:284) [java] at org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.displayFrxInnerDiv_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.crucible.review.monolithic.displayFrxInnerDiv_jsp:113) [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:511) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1272) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) [java] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:146) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:218) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) [java] at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:55) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) [java] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) [java] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) [java] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) [java] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) [java] at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) [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:51) [java] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) [java] at com.cenqua.crucible.interceptors.CruciblePermissionInterceptor.intercept(CruciblePermissionInterceptor.java:52) [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.atlassian.fisheye.xwork.SimpleConversionErrorInterceptor.intercept(SimpleConversionErrorInterceptor.java:64) [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:511) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1272) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) [java] at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [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:1264) [java] at com.atlassian.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:146) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:286) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) [java] at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:55) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) [java] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) [java] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) [java] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) [java] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) [java] at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) [java] at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) [java] at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:187) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) [java] at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:55) [java] at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78) [java] at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:131) [java] at com.cenqua.fisheye.web.filters.CustomIncludableGzipFilter.doFilter(CustomIncludableGzipFilter.java:27) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:44) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) [java] at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:54) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at com.atlassian.fecru.profiling.ProfilingServletFilter.doFilter(ProfilingServletFilter.java:74) [java] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) [java] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) [java] at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1264) [java] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) [java] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) [java] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) [java] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) [java] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) [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:326) [java] at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) [java] at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945) [java] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756) [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:410) [java] at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451) [java] Caused by: java.lang.NullPointerException [java] at com.cenqua.crucible.revision.source.UploadSource.getFileContents(UploadSource.java:83) [java] at com.cenqua.crucible.revision.managers.DefaultContentManager.getContents(DefaultContentManager.java:650) [java] at com.cenqua.fisheye.diff.DiffHelper.getDiffExp(DiffHelper.java:82) [java] at com.cenqua.crucible.revision.source.Source.getDiffPrinter(Source.java:218) [java] at com.cenqua.crucible.view.FRXDO.getDiffPrinter(FRXDO.java:1255) [java] at com.cenqua.crucible.view.FRXDO.isSideBySide(FRXDO.java:509) [java] at sun.reflect.GeneratedMethodAccessor548.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [java] at java.lang.reflect.Method.invoke(Method.java:597) [java] at javax.el.BeanELResolver.getValue(BeanELResolver.java:293) [java] ... 186 more