Uploaded image for project: 'Crucible'
  1. Crucible
  2. CRUC-545

NPE Closing Review

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 1.6.0Beta1
    • 1.5.2, 1.6.0Beta1
    • User interface
    • None

    Description

      When clicking to 'Summarize' a particular review, then 'Summarize Anyway' (because all Reviewers haven't completed it), Crucible gives an NPE. The stack trace printed in the logs is:

      2008-07-25 15:27:37,204 WARN [btpool0-8] fisheye.app com.cenqua.crucible.hibernate.TxHelper-rollbackTxIfNotCommited - Rolled back transaction
      2008-07-25 15:27:38,240 ERROR [btpool0-8] com.opensymphony.webwork.dispatcher.ServletDispatcher com.opensymphony.webwork.dispatcher.ServletDispatcher-service
      Action - Could not execute action
      java.lang.NullPointerException
      at com.cenqua.crucible.model.Review.cleanupAllComments(Review.java:725)
      at com.cenqua.crucible.model.Review.cleanupAllComments(Review.java:712)
      at com.cenqua.crucible.model.managers.ActionManager.doAction(ActionManager.java:57)
      at com.cenqua.crucible.model.State.processEntryScripts(State.java:71)
      at com.cenqua.crucible.model.Review.changeState(Review.java:247)
      at com.cenqua.crucible.actions.StateActionAction.execute(StateActionAction.java:118)
      at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:283)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:166)
      at com.cenqua.crucible.interceptors.ReviewInterceptor.intercept(ReviewInterceptor.java:49)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.cenqua.crucible.interceptors.CruciblePermissionInterceptor.intercept(CruciblePermissionInterceptor.java:40)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
      at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:272)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:237)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1144)
      at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:63)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at com.cenqua.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:131)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:167)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:119)
      at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
      at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
      at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
      at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
      at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:124)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:119)
      at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
      at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
      at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:39)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
      at org.mortbay.jetty.Server.handle(Server.java:324)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
      at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
      at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)

      Attachments

        Activity

          People

            pmcneil Peter McNeil [Atlassian]
            392fb6eb772b Sam Berlin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: