Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-7896

Trying to pull from Docker registry fails with NPE at first attempt

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Duplicate
    • Affects Version/s: 4.0.0
    • Fix Version/s: 4.0.1
    • Component/s: Docker
    • Labels:
      None
    • Environment:

      RedHat 7.1 x86_64, Artifactory Pro 4.0.0 RPM, Oracle Java 1.8.0_51
      Docker 1.6 and 1.7 clients

      Description

      Created a Docker repository, V2 API, with Apache reverse proxy. Allowed access by anonymous. Pushed some Docker images.

      Directly after restarting artifactory (or randomly, possibly after some inactivity from that client), trying to pull an existing image fails once, then subsequent requests from the same client will work for some time.

      From the client:

      $ docker pull 192.168.1.122/nexinto/something:latest
      Error: Status 400 trying to pull repository nexinto/something: "{\n \"errors\" : [

      {\n \"status\" : 400,\n \"message\" : \"Unsupported docker v1 repository request for 'docker-nexinto'\"\n }

      ]\n}"

      The second request will then work.

      At the first request, this exception is logged in artifactory.log:

      2015-08-10 14:26:42,801 [http-nio-8081-exec-1] [ERROR] (o.a.r.c.e.GlobalExceptionMapper:46) - null
      java.lang.NullPointerException: null
      at org.artifactory.rest.common.GlobalMessageProvider.decorateWithGlobalMessages(GlobalMessageProvider.java:35) ~[artifactory-rest-4.0.0.jar:na]
      at org.artifactory.rest.common.RestResponseFilter.filter(RestResponseFilter.java:79) ~[artifactory-rest-4.0.0.jar:na]
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1494) [jersey-server-1.19.jar:1.19]
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) [jersey-server-1.19.jar:1.19]
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) [jersey-server-1.19.jar:1.19]
      at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) [jersey-servlet-1.19.jar:1.19]
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) [jersey-servlet-1.19.jar:1.19]
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) [jersey-servlet-1.19.jar:1.19]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:na]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) [catalina.jar:8.0.22]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.22]
      at org.artifactory.webapp.servlet.RepoFilter.execute(RepoFilter.java:207) [artifactory-web-application-4.0.0.jar:na]
      at org.artifactory.webapp.servlet.RepoFilter.doFilter(RepoFilter.java:94) [artifactory-web-application-4.0.0.jar:na]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.22]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.22]
      at org.artifactory.addon.docker.rest.DockerV2AuthenticationFilter.doFilter(DockerV2AuthenticationFilter.java:75) [artifactory-addon-docker-4.0.0.jar:na]
      at org.artifactory.webapp.servlet.authentication.ArtifactoryAuthenticationFilterChain.doFilter(ArtifactoryAuthenticationFilterChain.java:138) [artifactory-web-application-4.0.0.jar:na]
      at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:233) [artifactory-web-application-4.0.0.jar:na]
      at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:183) [artifactory-web-application-4.0.0.jar:na]
      at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:151) [artifactory-web-application-4.0.0.jar:na]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.22]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.22]
      at org.artifactory.webapp.servlet.RequestFilter.doFilter(RequestFilter.java:67) [artifactory-web-application-4.0.0.jar:na]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.22]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.22]
      at org.artifactory.webapp.servlet.ArtifactoryFilter.doFilter(ArtifactoryFilter.java:116) [artifactory-web-application-4.0.0.jar:na]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.22]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.22]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:8.0.22]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.22]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [catalina.jar:8.0.22]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.22]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.22]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) [catalina.jar:8.0.22]
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) [tomcat-coyote.jar:8.0.22]
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) [tomcat-coyote.jar:8.0.22]
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521) [tomcat-coyote.jar:8.0.22]
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478) [tomcat-coyote.jar:8.0.22]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51]
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.22]
      at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              ilja.weis Ilja Weis
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: