Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-2979

RuntimeException when retrieving content for git file

    XMLWordPrintable

Details

    Description

      I wrote a small REST-Plugin for FishEye which returns the raw content of a specific file/revision:

      final FileRevisionKeyData fileData = new FileRevisionKeyData(path, revision);
      StreamingOutput output = new StreamingOutput() {
        public void write(OutputStream output) throws IOException, WebApplicationException {
          contentService.getContent(fishEyeRepo, fileData, output);
        }
      };
      

      This works fine when used with cvs. But if used with git the following error message appears:

      Error Message
      Your request was unable to be processedjava.lang.RuntimeException - Error retrieving content for file revisionautobuild.proj@1f201e67eca93c2e567ef3b10f9fe3905d00a57c in repository TestError retrieving content for file revisionautobuild.proj@1f201e67eca93c2e567ef3b10f9fe3905d00a57c in repository Test
      com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS:
      Error while communicating with VCS:
      While executing: "git cat-file blob 80347e98f1d647f29a5cf17ef1af5cb73939fbb1 "
      java.lang.NullPointerException

      You are running release CR2.5.2 FE2.5.2 (20110307050326 2011-03-07), please report your release number when reporting bugs.

      Error Message from the Log-File:
      2011-03-14 13:14:43,062 ERROR [btpool0-2 ] org.mortbay.log org.mortbay.log.Slf4jLog-warn - /fecru/rest/download/1.0/getFile
      java.lang.RuntimeException: Error retrieving content for file revisionautobuild.proj@1f201e67eca93c2e567ef3b10f9fe3905d00a57c in repository Test
      at com.atlassian.fisheye.spi.impl.DefaultContentService.getContent(DefaultContentService.java:34)
      at sun.reflect.GeneratedMethodAccessor266.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:77)
      at com.cenqua.crucible.hibernate.WithSessionAspect.doCloseSession(WithSessionAspect.java:37)
      at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:627)
      at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:616)
      at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:64)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:160)
      at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      at $Proxy39.getContent(Unknown Source)
      at sun.reflect.GeneratedMethodAccessor266.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      at $Proxy51.getContent(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
      at $Proxy51.getContent(Unknown Source)
      at com.garaio.fisheye.plugins.RestFileDownloadService$1.write(RestFileDownloadService.java:25)
      at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:68)
      at com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:55)
      at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:254)
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:689)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:612)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:603)
      at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
      at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:130)
      at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:689)
      at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:64)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilterInternal(RestServletUtilsUpdaterFilter.java:26)
      at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilter(RestServletUtilsUpdaterFilter.java:40)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      at com.atlassian.labs.httpservice.resource.ResourceFilter.doFilter(ResourceFilter.java:59)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1209)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1209)
      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:1209)
      at com.cenqua.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:141)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1209)
      at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:248)
      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:1209)
      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:1209)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:40)
      at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1209)
      at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)
      at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:131)
      at com.cenqua.fisheye.web.filters.CustomIncludableGzipFilter.doFilter(CustomIncludableGzipFilter.java:21)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1209)
      at com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:36)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1209)
      at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
      at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
      at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1209)
      at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:52)
      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:1209)
      at com.atlassian.fecru.profiling.ProfilingServletFilter.doFilter(ProfilingServletFilter.java:73)
      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:1209)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
      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:326)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
      at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)
      Caused by: com.cenqua.fisheye.rep.DbException: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS:
      at com.atlassian.fisheye.git.GitCache.getBinaryRevision(GitCache.java:81)
      at com.atlassian.fisheye.dvcs.DvcsCache.getTextRevision(DvcsCache.java:96)
      at com.atlassian.fisheye.spi.impl.DefaultContentService.getContent(DefaultContentService.java:32)
      ... 127 more
      Caused by: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS:
      at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:184)
      at com.atlassian.fisheye.git.GitCache.getBinaryRevision(GitCache.java:77)
      ... 129 more
      Caused by: com.atlassian.utils.process.ProcessException: While executing: "git cat-file blob 80347e98f1d647f29a5cf17ef1af5cb73939fbb1 "
      at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:227)
      at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:219)
      at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:182)
      ... 130 more
      Caused by: com.atlassian.utils.process.ProcessException: java.lang.NullPointerException
      at com.atlassian.utils.process.ExternalProcess$4.doTask(ExternalProcess.java:268)
      at com.atlassian.utils.process.LatchedRunnable.run(LatchedRunnable.java:25)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: java.lang.NullPointerException
      at org.mortbay.servlet.jetty.IncludableGzipFilter$IncludableGzipStream.setContentEncodingGzip(IncludableGzipFilter.java:86)
      at org.mortbay.servlet.GzipFilter$GzipStream.doGzip(GzipFilter.java:526)
      at org.mortbay.servlet.GzipFilter$GzipStream.<init>(GzipFilter.java:416)
      at org.mortbay.servlet.jetty.IncludableGzipFilter$IncludableGzipStream.<init>(IncludableGzipFilter.java:80)
      at org.mortbay.servlet.jetty.IncludableGzipFilter$IncludableResponseWrapper.newGzipStream(IncludableGzipFilter.java:71)
      at org.mortbay.servlet.GzipFilter$GZIPResponseWrapper.getOutputStream(GzipFilter.java:341)
      at javax.servlet.ServletResponseWrapper.getOutputStream(ServletResponseWrapper.java:112)
      at com.sun.jersey.spi.container.servlet.WebComponent$Writer.initiate(WebComponent.java:247)
      at com.sun.jersey.spi.container.servlet.WebComponent$Writer.write(WebComponent.java:229)
      at com.sun.jersey.spi.container.ContainerResponse$CommittingOutputStream.write(ContainerResponse.java:114)
      at com.atlassian.utils.process.CopyOutputHandler.process(CopyOutputHandler.java:29)
      at com.atlassian.utils.process.PluggableProcessHandler.processOutput(PluggableProcessHandler.java:34)
      at com.atlassian.utils.process.ExternalProcess$4.doTask(ExternalProcess.java:265)
      ... 4 more

      Attachments

        Activity

          People

            Unassigned Unassigned
            mjeanrichard Meinrad Jean-Richard
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: