org.springframework.security.openid.OpenIDConsumerException: Error processing ConsumerManager authentication

Spring JIRA | Blair Zajac | 2 years ago
  1. 0

    The file samples/openid-xml/src/main/webapp/js/openid-jquery.js should replace the URL http://yahoo.com/ with https://me.yahoo.com/. The correct URL is used in samples/openid-jc/src/main/resources/resources/js/openid-jquery.js. Without this fix, the XML application fails to use OpenID against Yahoo!, otherwise you get this stack: 09:41:33.431 [http-nio-8080-exec-9] DEBUG o.s.s.o.OpenIDAuthenticationFilter - Failed to consume claimedIdentity: http://yahoo.com/ org.springframework.security.openid.OpenIDConsumerException: Error processing ConsumerManager authentication at org.springframework.security.openid.OpenID4JavaConsumer.beginConsumption(OpenID4JavaConsumer.java:123) ~[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.openid.OpenIDAuthenticationFilter.attemptAuthentication(OpenIDAuthenticationFilter.java:135) ~[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.15] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.15] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [catalina.jar:8.0.15] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.15] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.15] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) [catalina.jar:8.0.15] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) [tomcat-coyote.jar:8.0.15] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) [tomcat-coyote.jar:8.0.15] at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) [tomcat-coyote.jar:8.0.15] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) [tomcat-coyote.jar:8.0.15] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) [tomcat-coyote.jar:8.0.15] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.15] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] Caused by: org.openid4java.consumer.ConsumerException: 0xa00: Authentication cannot continue: no discovery information provided. at org.openid4java.consumer.ConsumerManager.authenticate(ConsumerManager.java:1029) ~[openid4java-nodeps-0.9.6.jar:na] at org.springframework.security.openid.OpenID4JavaConsumer.beginConsumption(OpenID4JavaConsumer.java:97) ~[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] ... 36 common frames omitted 09:41:33.431 [http-nio-8080-exec-9] DEBUG o.s.s.o.OpenIDAuthenticationFilter - Authentication request failed: org.springframework.security.authentication.AuthenticationServiceException: Unable to process claimed identity 'http://yahoo.com/'

    Spring JIRA | 2 years ago | Blair Zajac
    org.springframework.security.openid.OpenIDConsumerException: Error processing ConsumerManager authentication
  2. 0

    The file samples/openid-xml/src/main/webapp/js/openid-jquery.js should replace the URL http://yahoo.com/ with https://me.yahoo.com/. The correct URL is used in samples/openid-jc/src/main/resources/resources/js/openid-jquery.js. Without this fix, the XML application fails to use OpenID against Yahoo!, otherwise you get this stack: 09:41:33.431 [http-nio-8080-exec-9] DEBUG o.s.s.o.OpenIDAuthenticationFilter - Failed to consume claimedIdentity: http://yahoo.com/ org.springframework.security.openid.OpenIDConsumerException: Error processing ConsumerManager authentication at org.springframework.security.openid.OpenID4JavaConsumer.beginConsumption(OpenID4JavaConsumer.java:123) ~[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.openid.OpenIDAuthenticationFilter.attemptAuthentication(OpenIDAuthenticationFilter.java:135) ~[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176) [spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.15] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [catalina.jar:8.0.15] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) [catalina.jar:8.0.15] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.15] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) [catalina.jar:8.0.15] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.15] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) [catalina.jar:8.0.15] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) [tomcat-coyote.jar:8.0.15] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) [tomcat-coyote.jar:8.0.15] at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) [tomcat-coyote.jar:8.0.15] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) [tomcat-coyote.jar:8.0.15] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) [tomcat-coyote.jar:8.0.15] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.15] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45] Caused by: org.openid4java.consumer.ConsumerException: 0xa00: Authentication cannot continue: no discovery information provided. at org.openid4java.consumer.ConsumerManager.authenticate(ConsumerManager.java:1029) ~[openid4java-nodeps-0.9.6.jar:na] at org.springframework.security.openid.OpenID4JavaConsumer.beginConsumption(OpenID4JavaConsumer.java:97) ~[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT] ... 36 common frames omitted 09:41:33.431 [http-nio-8080-exec-9] DEBUG o.s.s.o.OpenIDAuthenticationFilter - Authentication request failed: org.springframework.security.authentication.AuthenticationServiceException: Unable to process claimed identity 'http://yahoo.com/'

    Spring JIRA | 2 years ago | Blair Zajac
    org.springframework.security.openid.OpenIDConsumerException: Error processing ConsumerManager authentication

    Root Cause Analysis

    1. org.openid4java.consumer.ConsumerException

      0xa00: Authentication cannot continue: no discovery information provided.

      at org.openid4java.consumer.ConsumerManager.authenticate()
    2. OpenID4Java no dependencies
      ConsumerManager.authenticate
      1. org.openid4java.consumer.ConsumerManager.authenticate(ConsumerManager.java:1029)[openid4java-nodeps-0.9.6.jar:na]
      1 frame
    3. spring-security-openid
      OpenIDAuthenticationFilter.attemptAuthentication
      1. org.springframework.security.openid.OpenID4JavaConsumer.beginConsumption(OpenID4JavaConsumer.java:97)[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      2. org.springframework.security.openid.OpenIDAuthenticationFilter.attemptAuthentication(OpenIDAuthenticationFilter.java:135)[spring-security-openid-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      2 frames
    4. Spring Security
      FilterChainProxy$VirtualFilterChain.doFilter
      1. org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      2. org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      3. org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      4. org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      4 frames
    5. org.springframework.security
      HeaderWriterFilter.doFilterInternal
      1. org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      1 frame
    6. Spring
      OncePerRequestFilter.doFilter
      1. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
      1 frame
    7. Spring Security
      FilterChainProxy$VirtualFilterChain.doFilter
      1. org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      1 frame
    8. org.springframework.security
      WebAsyncManagerIntegrationFilter.doFilterInternal
      1. org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      1 frame
    9. Spring
      OncePerRequestFilter.doFilter
      1. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
      1 frame
    10. Spring Security
      FilterChainProxy.doFilter
      1. org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      2. org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      3. org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      4. org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      5. org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)[spring-security-web-4.0.2.CI-SNAPSHOT.jar:4.0.2.CI-SNAPSHOT]
      5 frames
    11. Spring
      DelegatingFilterProxy.doFilter
      1. org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
      2. org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
      2 frames
    12. Glassfish Core
      CoyoteAdapter.service
      1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)[catalina.jar:8.0.15]
      2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)[catalina.jar:8.0.15]
      3. org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)[catalina.jar:8.0.15]
      4. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)[catalina.jar:8.0.15]
      5. org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)[catalina.jar:8.0.15]
      6. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)[catalina.jar:8.0.15]
      7. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)[catalina.jar:8.0.15]
      8. org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)[catalina.jar:8.0.15]
      9. org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)[catalina.jar:8.0.15]
      10. org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)[catalina.jar:8.0.15]
      10 frames
    13. Grizzly HTTP
      NioEndpoint$SocketProcessor.run
      1. org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)[tomcat-coyote.jar:8.0.15]
      2. org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)[tomcat-coyote.jar:8.0.15]
      3. org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)[tomcat-coyote.jar:8.0.15]
      4. org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)[tomcat-coyote.jar:8.0.15]
      5. org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)[tomcat-coyote.jar:8.0.15]
      5 frames
    14. Java RT
      ThreadPoolExecutor$Worker.run
      1. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[na:1.8.0_45]
      2. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[na:1.8.0_45]
      2 frames
    15. Tomcat Util
      TaskThread$WrappingRunnable.run
      1. org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)[tomcat-util.jar:8.0.15]
      1 frame
    16. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:745)[na:1.8.0_45]
      1 frame