[RTFACT-10291] Docker login and docker push returning 500 error validating token Created: 19/May/16  Updated: 14/Nov/17  Resolved: 17/Jul/16

Status: Resolved
Project: Artifactory Binary Repository
Component/s: Docker
Affects Version/s: 4.5.1, 4.7.5, 4.7.6, 4.7.7
Fix Version/s: 4.10.0

Type: Bug Priority: Normal
Reporter: Ryan J. McDonough Assignee: Ofer Cohen (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relationship
is related to RTFACT-10403 Enabling debug logging causes Docker ... Resolved
Assigned QA: Matan Katz

 Description   

We are experiencing issues in setting up a docker registry with Artifactory Pro. When calling docker login, we get the following error response:

[ec2-user@host artifactory]$ docker login -u me -e me@company.com containers.mycompany.com
Password:
Error response from daemon: no successful auth challenge for https://containers.artifactory.mycompany.com/v2/ - errors: [token auth attempt to https://containers.artifactory.mycompany.com/v2/ realm "https://containers.artifactory.mycompany.com/artifactory/api/docker/containers/v2/token" failed with status: 500 Internal Server Error]

When inspecting the traffic and looking at the Catalina logs, we see the following:

19-May-2016 17:31:37.364 SEVERE [http-nio-8081-exec-9] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [Jersey Web Application] in context with path [/artifactory] threw exception
 java.util.MissingFormatArgumentException: Format specifier '%s'
	at java.util.Formatter.format(Formatter.java:2519)
	at java.util.Formatter.format(Formatter.java:2455)
	at java.lang.String.format(String.java:2940)
	at org.artifactory.storage.db.util.JdbcHelper.resolveQuery(JdbcHelper.java:282)
	at org.artifactory.storage.db.util.JdbcHelper.debugSql(JdbcHelper.java:252)
	at org.artifactory.storage.db.util.JdbcHelper.executeSelect(JdbcHelper.java:83)
	at org.artifactory.storage.db.util.JdbcHelper.executeSelect(JdbcHelper.java:77)
	at org.artifactory.storage.db.security.dao.UserPropertiesDao.getUserIdByProperty(UserPropertiesDao.java:40)
	at org.artifactory.storage.db.security.service.UserGroupServiceImpl.findUserByProperty(UserGroupServiceImpl.java:428)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
	at com.sun.proxy.$Proxy34.findUserByProperty(Unknown Source)
	at org.artifactory.security.db.apikey.PropsAuthenticationProvider.validateTokenAndFetchUser(PropsAuthenticationProvider.java:87)
	at org.artifactory.security.db.apikey.PropsAuthenticationProvider.authenticate(PropsAuthenticationProvider.java:60)
	at org.artifactory.security.PasswordDecryptingManager.authenticate(PasswordDecryptingManager.java:99)
	at org.artifactory.webapp.servlet.authentication.PropsAuthenticationFilter.tryAuthenticate(PropsAuthenticationFilter.java:170)
	at org.artifactory.webapp.servlet.authentication.PropsAuthenticationFilter.doFilter(PropsAuthenticationFilter.java:115)
	at org.artifactory.webapp.servlet.authentication.ArtifactoryAuthenticationFilterChain.doFilter(ArtifactoryAuthenticationFilterChain.java:160)
	at org.artifactory.webapp.servlet.AccessFilter.authenticateAndExecute(AccessFilter.java:262)
	at org.artifactory.webapp.servlet.AccessFilter.doFilterInternal(AccessFilter.java:193)
	at org.artifactory.webapp.servlet.AccessFilter.doFilter(AccessFilter.java:155)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.artifactory.webapp.servlet.RequestFilter.doFilter(RequestFilter.java:65)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.artifactory.webapp.servlet.ArtifactoryFilter.doFilter(ArtifactoryFilter.java:109)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

I run through a number of Artifactory versions and docker 1.9 and 1.10 and the result is the same. I've had success once, but I'm not sure what is going on here.



 Comments   
Comment by Ryan J. McDonough [ 19/May/16 ]

I should also note that the access.log does not make mention of the 500 response, which made it difficult to identify the problem.

Generated at Wed Aug 21 11:40:22 UTC 2019 using JIRA 7.6.3#76005-sha1:8a4e38d34af948780dbf52044e7aafb13a7cae58.