-
Bug
-
Resolution: Fixed
-
Critical
-
None
-
jenkins/jenkins:2.279
After updating to the jenkins/jenkins:2.279, which includes the base OS/JDK changes, we're receiving the error: java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+
The docker api endpoint is secured with x509 certs. Both the spinning up of containers on the swarm as well as the "Test Connection" button fail with the same error.
We are not having any issues with jenkins/jenkins:2.278.
Installed plugin list is below stack trace.
Error while serving http://####/test/descriptorByName/org.jenkinsci.plugins.docker.swarm.DockerSwarmCloud/validateTestDockerApiConnection java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+ at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.java:81) at okhttp3.internal.platform.Platform.buildCertificateChainCleaner(Platform.java:176) at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.java:673) at org.jenkinsci.plugins.docker.swarm.docker.api.request.ApiRequest.<init>(ApiRequest.java:69) at org.jenkinsci.plugins.docker.swarm.docker.api.ping.PingRequest.<init>(PingRequest.java:10) at org.jenkinsci.plugins.docker.swarm.DockerSwarmCloud$DescriptorImpl.doValidateTestDockerApiConnection(DockerSwarmCloud.java:135) at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) Caused: java.lang.reflect.InvocationTargetException at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77) at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694) at org.kohsuke.stapler.Stapler.service(Stapler.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at com.splunk.splunkjenkins.WebPostAccessLogger.doFilter(WebPostAccessLogger.java:39) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:92) at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:62) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:109) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.lang.Thread.run(Thread.java:748)
And the error that happens when a agent is started:
Caught unhandled exception with ID 865a2159-1f0e-4769-ba6e-8f1b6fbf80cb java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+ at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.java:81) at okhttp3.internal.platform.Platform.buildCertificateChainCleaner(Platform.java:176) at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.java:673) at org.jenkinsci.plugins.docker.swarm.docker.api.request.ApiRequest.<init>(ApiRequest.java:69) at org.jenkinsci.plugins.docker.swarm.docker.api.ping.PingRequest.<init>(PingRequest.java:10) at org.jenkinsci.plugins.docker.swarm.DockerSwarmCloud$DescriptorImpl.doValidateTestDockerApiConnection(DockerSwarmCloud.java:135) at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77) at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) Caused: javax.servlet.ServletException at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:816) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694) at org.kohsuke.stapler.Stapler.service(Stapler.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at com.splunk.splunkjenkins.WebPostAccessLogger.doFilter(WebPostAccessLogger.java:39) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) ....
List of installed plugins1:
windows-slaves WMI Windows Agents Plugin 1.7 antisamy-markup-formatter OWASP Markup Formatter Plugin 2.1 ace-editor JavaScript GUI Lib: ACE Editor bundle plugin 1.1 ansible-tower Ansible Tower Plugin 0.16.0 ant Ant Plugin 1.11 apache-httpcomponents-client-4-api Apache HttpComponents Client 4.x API Plugin 4.5.13-1.0 authentication-tokens Authentication Tokens API Plugin 1.4 blueocean-autofavorite Autofavorite for Blue Ocean 1.2.4 blueocean-bitbucket-pipeline Bitbucket Pipeline for Blue Ocean 1.24.4 blueocean-commons Common API for Blue Ocean 1.24.4 blueocean-config Config API for Blue Ocean 1.24.4 blueocean-core-js Blue Ocean Core JS 1.24.4 blueocean-dashboard Dashboard for Blue Ocean 1.24.4 blueocean-display-url Display URL for Blue Ocean 2.4.1 blueocean-events Events API for Blue Ocean 1.24.4 blueocean-git-pipeline Git Pipeline for Blue Ocean 1.24.4 blueocean-github-pipeline GitHub Pipeline for Blue Ocean 1.24.4 blueocean-i18n i18n for Blue Ocean 1.24.4 blueocean-jira JIRA Integration for Blue Ocean 1.24.4 blueocean-jwt JWT for Blue Ocean 1.24.4 blueocean-pipeline-api-impl Pipeline implementation for Blue Ocean 1.24.4 workflow-durable-task-step Pipeline: Nodes and Processes 2.37 blueocean-pipeline-scm-api Pipeline SCM API for Blue Ocean 1.24.4 blueocean-rest-impl REST Implementation for Blue Ocean 1.24.4 blueocean-rest REST API for Blue Ocean 1.24.4 blueocean-web Web for Blue Ocean 1.24.4 blueocean-pipeline-editor Blue Ocean Pipeline Editor 1.24.4 blueocean Blue Ocean 1.24.4 bouncycastle-api bouncycastle API Plugin 2.18 branch-api Branch API Plugin 2.6.3 build-timeout Build Timeout 1.20 cloud-stats Cloud Statistics Plugin 0.26 cloudbees-bitbucket-branch-source Bitbucket Branch Source Plugin 2.9.7 cloudbees-folder Folders Plugin 6.15 command-launcher Command Agent Launcher Plugin 1.5 config-file-provider Config File Provider Plugin 3.7.0 credentials-binding Credentials Binding Plugin 1.24 credentials Credentials Plugin 2.3.15 okhttp-api OkHttp Plugin 3.14.9 display-url-api Display URL API 2.3.4 docker-commons Docker Commons Plugin 1.17 docker-java-api Docker API Plugin 3.1.5.2 docker-workflow Docker Pipeline 1.25 durable-task Durable Task Plugin 1.35 email-ext Email Extension Plugin 2.81 favorite Favorite 2.3.3 git-client Git client plugin 3.6.0 git-server GIT server Plugin 1.9 workflow-cps-global-lib Pipeline: Shared Groovy Libraries 2.17 github-api GitHub API Plugin 1.122 github-branch-source GitHub Branch Source Plugin 2.10.1 variant Variant Plugin 1.4 gradle Gradle Plugin 1.36 handlebars JavaScript GUI Lib: Handlebars bundle plugin 1.1.1 handy-uri-templates-2-api Handy Uri Templates 2.x API Plugin 2.1.8-1.0 htmlpublisher HTML Publisher plugin 1.25 icon-shim Icon Shim 3.0.0 ivy Ivy Plugin 2.1 jackson2-api Jackson 2 API Plugin 2.12.1 javadoc Javadoc Plugin 1.6 jdk-tool Oracle Java SE Development Kit Installer Plugin 1.4 jenkins-design-language Design Language 1.24.4 jira Jira plugin 3.2 jquery-detached JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin 1.2.1 jsch JSch dependency plugin 0.1.55.2 junit JUnit Plugin 1.48 ldap LDAP Plugin 2.3 lockable-resources Lockable Resources plugin 2.10 mailer Mailer Plugin 1.32.1 mapdb-api MapDB API Plugin 1.0.9.0 matrix-auth Matrix Authorization Strategy Plugin 2.6.5 matrix-project Matrix Project Plugin 1.18 maven-plugin Maven Integration plugin 3.9 mercurial Mercurial plugin 2.12 momentjs JavaScript GUI Lib: Moment.js bundle plugin 1.1.1 pam-auth PAM Authentication plugin 1.6 pipeline-build-step Pipeline: Build Step 2.13 pipeline-github-lib Pipeline: GitHub Groovy Libraries 1.0 pipeline-graph-analysis Pipeline Graph Analysis Plugin 1.10 pipeline-input-step Pipeline: Input Step 2.12 pipeline-milestone-step Pipeline: Milestone Step 1.3.2 pipeline-model-api Pipeline: Model API 1.8.4 pipeline-model-declarative-agent Pipeline: Declarative Agent API 1.1.1 pipeline-model-definition Pipeline: Declarative 1.8.4 pipeline-model-extensions Pipeline: Declarative Extension Points API 1.8.4 pipeline-rest-api Pipeline: REST API Plugin 2.19 pipeline-stage-step Pipeline: Stage Step 2.5 pipeline-stage-tags-metadata Pipeline: Stage Tags Metadata 1.8.4 pipeline-stage-view Pipeline: Stage View Plugin 2.19 plain-credentials Plain Credentials Plugin 1.7 pubsub-light Pub-Sub "light" Bus 1.13 resource-disposer Resource Disposer Plugin 0.14 scm-api SCM API Plugin 2.6.4 script-security Script Security Plugin 1.76 selenium Selenium Plugin 3.141.59 splunk-devops Splunk Plugin 1.9.5 sse-gateway Server Sent Events (SSE) Gateway Plugin 1.24 ssh-agent SSH Agent Plugin 1.21 ssh-credentials SSH Credentials Plugin 1.18.1 ssh-slaves SSH Build Agents plugin 1.31.5 structs Structs Plugin 1.21 subversion Subversion Plug-in 2.14.0 timestamper Timestamper 1.11.8 token-macro Token Macro Plugin 2.15 workflow-aggregator Pipeline 2.6 workflow-api Pipeline: API 2.41 workflow-basic-steps Pipeline: Basic Steps 2.23 workflow-cps Pipeline: Groovy 2.87 jquery jQuery plugin 1.12.4-1 workflow-job Pipeline: Job 2.40 workflow-multibranch Pipeline: Multibranch 2.22 workflow-scm-step Pipeline: SCM Step 2.11 workflow-step-api Pipeline: Step API 2.23 workflow-support Pipeline: Supporting APIs 3.7 ws-cleanup Workspace Cleanup Plugin 0.38 git Git plugin 4.5.2 external-monitor-job External Monitor Job Type Plugin 1.7 pipeline-utility-steps Pipeline Utility Steps 2.6.1 jquery-ui jQuery UI plugin 1.0.2 role-strategy Role-based Authorization Strategy 3.1 blueocean-executor-info DEPRECATED Blue Ocean Executor Info 1.24.4 blueocean-personalization Personalization for Blue Ocean 1.24.4 trilead-api Trilead API Plugin 1.0.13 docker-swarm Docker Swarm Plugin 1.9 github GitHub plugin 1.33.0 saml SAML Plugin 1.1.7 extended-read-permission Extended Read Permission Plugin 3.2 snakeyaml-api Snakeyaml API Plugin 1.27.0 jquery3-api JQuery3 API Plugin 3.5.1-2 plugin-util-api Plugin Utilities API Plugin 1.7.1 echarts-api ECharts API Plugin 4.9.0-3 ibm-ucdeploy-build-steps IBM UrbanCode Deploy Pipeline (Build Steps) Plugin 2.9.993392 font-awesome-api Font Awesome API Plugin 5.15.2-1 popper-api Popper.js API Plugin 1.16.1-1 bootstrap4-api Bootstrap 4 API Plugin 4.6.0-1 metrics Metrics Plugin 4.0.2.7 support-core Support Core Plugin 2.72 checks-api Checks API plugin 1.5.0 yet-another-docker-plugin Yet Another Docker Plugin 0.2.0 jjwt-api Java JSON Web Token (JJWT) Plugin 0.11.2-8.82737cbfa6f5