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

NPE in Crucible on posting review comment

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Highest
    • None
    • 2.0-M1
    • Integrations
    • None

    Description

      Currently we are not able to post comments (e.g. file revision comments) to some reviews on AtlasEye.
      E.g posting

      <?xml version="1.0" encoding="UTF-8"?>
      <versionedLineCommentData>
        <createDate>2009-03-06T13:51:40.575+01:00</createDate>
        <user>
          <userName>wseliga</userName>
        </user>
        <defectRaised>false</defectRaised>
        <defectApproved>false</defectApproved>
        <deleted>false</deleted>
        <draft>true</draft>
        <message>fsdfsd</message>
        <metrics />
        <replies />
        <reviewItemId>
          <id>CFR-25687</id>
        </reviewItemId>
      </versionedLineCommentData>
      
      
      

      to AtlasEye (from Connector) results in:

      <?xml version='1.0' encoding='UTF-8'?><error><code>NullPointer</code><message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /><stacktrace>java.lang.NullPointerException
      	at com.atlassian.crucible.spi.impl.DefaultReviewService.buildVersionedLineCommentData(DefaultReviewService.java:1092)
      	at com.atlassian.crucible.spi.impl.DefaultReviewService.access$1600(DefaultReviewService.java:78)
      	at com.atlassian.crucible.spi.impl.DefaultReviewService$10.doInTransaction(DefaultReviewService.java:634)
      	at com.atlassian.crucible.spi.impl.DefaultReviewService$10.doInTransaction(DefaultReviewService.java:613)
      	at com.atlassian.fisheye.spi.TxTemplate.execute(TxTemplate.java:138)
      	at com.atlassian.crucible.spi.impl.DefaultReviewService.addComment(DefaultReviewService.java:612)
      	at com.atlassian.crucible.spi.rpc.RestReviewService.addVersionedComment(RestReviewService.java:743)
      	at sun.reflect.GeneratedMethodAccessor1335.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.sun.jersey.impl.model.method.dispatch.EntityParamDispatchProvider$ResponseOutInvoker._dispatch(EntityParamDispatchProvider.java:156)
      	at com.sun.jersey.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:85)
      	at com.sun.jersey.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:123)
      	at com.sun.jersey.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
      	at com.sun.jersey.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
      	at com.sun.jersey.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
      	at com.sun.jersey.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
      	at com.sun.jersey.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:722)
      	at com.sun.jersey.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:692)
      	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:344)
      	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 com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:54)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:40)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:54)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:40)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.cenqua.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:143)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:187)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:54)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:40)
      	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:145)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:32)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:54)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:40)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1136)
      	at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:54)
      	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:726)
      	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
      	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:152)
      	at org.mortbay.jetty.Server.handle(Server.java:324)
      	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
      	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
      	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
      	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)
      </stacktrace></error>
      

      Could you let us know if you recently changed REST API and there are new requirements imposed on the message format/contents while posting new comments/drafts?

      This is blocker as it blocks totally dogfooding of Eclipse and IntelliJ Connectors on AtlasEye

      How to reproduce:

      • open CR-BAM-183 on AtlasEye via Connector
      • try to add (Edwin has access to this review) a revision comment to any file (e.g. save as draft)
      • you will always get HTTP 500

      Strangely enough I have no such issues with CR-ACC-1 on the same server

      Attachments

        Activity

          People

            bhumphreys BrendanA
            wseliga Wojtek Seliga (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: