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: Done
    • Priority: 4 - 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

    • Severity:
      Medium

      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 (Inactive)
                Votes:
                2 Vote for this issue
                Watchers:
                6 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Sync Status

                    Connection: RTFACT Sync
                    RTMID-7896 -
                    SYNCHRONIZED
                    • Last Sync Date: