-
Bug
-
Resolution: Fixed
-
Critical
-
MacOs 10.15.5
Docker 19.03.8
Jenkins Image: Jenkins/Jenkins:latest
Blue Ocean: 1.23.2
Jenkins: 2.241
-
Powered by SuggestiMate -
git client plugin 3.3.1
when I create pipeline via Blue Ocean on 3rd step,
I got this error in jenkins log
Error while serving [http://localhost:4400/blue/rest/organizations/jenkins/pipelines/] java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:757) at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1155) at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:715) at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1326) at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1377) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) at io.jenkins.blueocean.blueocean_git_pipeline.GitPipelineCreateRequest.validate(GitPipelineCreateRequest.java:55) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.validateInternal(AbstractMultiBranchCreateRequest.java:250) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.create(AbstractMultiBranchCreateRequest.java:74) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:54) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:50) 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.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:717) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) 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) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) 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 io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566) 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:1610) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215) 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:500) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) 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:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) 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:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.lang.Thread.run(Thread.java:748)
- git-client.jpi
- 3.22 MB
- jenkins.value
- 29 kB
- blueocean-events.jpi
- 23 kB
[JENKINS-62767] Blue Ocean Pipeline creation fails with class not found exception
URGENT: since today we stuck on the same error!
At this moment the only method to create a pipeline is the OLD UI method by copying an existent one.
Here is our exception stacktrace:
2020-06-24 07:15:27.548+0000 [id=40] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://172.1.0.10:8080/jenkins/blue/rest/organizations/jenkins/pipelines/2020-06-24 07:15:27.548+0000 [id=40] WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://172.1.0.10:8080/jenkins/blue/rest/organizations/jenkins/pipelines/java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1155) at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:715) at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1326) at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1377) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at io.jenkins.blueocean.blueocean_git_pipeline.GitPipelineCreateRequest.validate(GitPipelineCreateRequest.java:55) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.validateInternal(AbstractMultiBranchCreateRequest.java:250) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.create(AbstractMultiBranchCreateRequest.java:74) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:54) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:50) 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.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:717) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) 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) at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566) 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:1610) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215) 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:500) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) 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:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) 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:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.lang.Thread.run(Thread.java:748)2020-06-24 07:15:27.551+0000 [id=40] WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 5d2ab1f4-4237-4175-8139-0a4160990389java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1155) at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:715) at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1326) at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1377) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at io.jenkins.blueocean.blueocean_git_pipeline.GitPipelineCreateRequest.validate(GitPipelineCreateRequest.java:55) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.validateInternal(AbstractMultiBranchCreateRequest.java:250) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.create(AbstractMultiBranchCreateRequest.java:74) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:54) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:50) 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.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)Caused: javax.servlet.ServletException at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:797) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:717) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) 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) at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566) 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:1610) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215) 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:500) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) 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:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) 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:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.lang.Thread.run(Thread.java:748)
My last updated plugins was:
rw-rr-. 1 root root 1212750 Jun 22 12:20 github-api.jpi
rw-rr-. 1 root root 3347368 Jun 22 12:20 git-client.jpi
rw-rr-. 1 root root 514279 Jun 22 12:20 okhttp-api.jpi
rw-rr-. 1 root root 718657 Jun 22 12:20 git.jpi
PROBLEM SOLVED by downgrading the above plugins, please fix one ore more of them!
This is currently blocking a new Jenkins installation for me. I can't downgrade the plugins since I have no older version to downgrade to. To me this issue is also urgent as there is no way for me to create any blueocean jobs at all.
I am using the Docker image to run jenkins on Debian 10.
I'm running Jenkins in a Bare-Metal Kubernetes Cluster and have the same issue.
It can't even validate git credentials. I've deleted the whole deployment (and namespace) multiple times now to no avail.
One month before I tried it again yesterday, Blue Ocean could create pipelines without any problem.
Jul 01, 2020 12:37:31 PM WARNING org.eclipse.jetty.server.handler.ContextHandler$Context logError while serving http://192.168.10.66:8080/blue/rest/organizations/jenkins/pipelines/ java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:757) at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1155) at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:715) at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1326) at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1377) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) at io.jenkins.blueocean.blueocean_git_pipeline.GitPipelineCreateRequest.validate(GitPipelineCreateRequest.java:55) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.validateInternal(AbstractMultiBranchCreateRequest.java:250) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.create(AbstractMultiBranchCreateRequest.java:74) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:54) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:50) 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.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:220) 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$9.dispatch(MetaClass.java:457) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:457) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:457) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:457) 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:763) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) 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) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) 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 io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:118) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549) 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:1610) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1369) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1284) 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:501) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:272) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) 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:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.lang.Thread.run(Thread.java:748) Jul 01, 2020 12:37:31 PM WARNING hudson.init.impl.InstallUncaughtExceptionHandler handleExceptionCaught unhandled exception with ID 9f5c34a7-d0b3-428a-bcbf-d31e6069b664 java.lang.ClassNotFoundException: org.eclipse.jgit.transport.JschConfigSessionFactory at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1387) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) Caused: java.lang.NoClassDefFoundError: org/eclipse/jgit/transport/JschConfigSessionFactory at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:757) at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1155) at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:715) at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1326) at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1377) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1342) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1089) at java.lang.ClassLoader.loadClass(ClassLoader.java:352) at io.jenkins.blueocean.blueocean_git_pipeline.GitPipelineCreateRequest.validate(GitPipelineCreateRequest.java:55) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.validateInternal(AbstractMultiBranchCreateRequest.java:250) at io.jenkins.blueocean.scm.api.AbstractMultiBranchCreateRequest.create(AbstractMultiBranchCreateRequest.java:74) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:54) at io.jenkins.blueocean.rest.model.BluePipelineContainer.create(BluePipelineContainer.java:50) 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.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36) at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48) at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27) 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$2.doDispatch(MetaClass.java:220) 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$9.dispatch(MetaClass.java:457) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:457) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:457) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:457) 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:763) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) 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) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) 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 io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:118) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549) 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:1610) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1369) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1284) 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:501) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:272) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) 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:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.lang.Thread.run(Thread.java:748)
I have this issue with Jenkins docker image jenkinsci/blueocean and it could come from the jgit version used by [Git client|https://plugins.jenkins.io/git-client/] and [Events API for Blue Ocean|https://plugins.jenkins.io/blueocean-events/] plugins.
Events API for Blue Ocean plugin comes with jgit version 4.5.4, Git client plugin comes with jgit version 5.8.0 and this jgit version does not have the class org.eclipse.jgit.transport.JschConfigSessionFactory (or it has been refactored elsewhere in the package). It's probable that only 5.8.0 version is loaded (or first on the classpath) and that would explain why the pipeline creation with Git in Blue Ocean fails.
I thought [Jenkins plugin Jsch plugin|https://plugins.jenkins.io/jsch/]'s purpose was to avoid these kinds of issues.
As a workaround, you can use the old Jenkins interface to create your pipelines and you will still be able to view/start/stop them in Blue Ocean.
CC markewaite. Looks there is a JGit version conflict between Git Client Plugin and Blue Ocean
Thanks for the pointer oleg_nenashev. I'll investigate further. I wasn't aware that the events API for Blue Ocean was bundling its own version of JGit. It should be depending on the JGit version that is bundled with the git client plugin, not bundling its own implementation. Thanks also to lolokun and others for the investigation.
The relevant portion of the blueocean-events build log which creates the issue is:
[2020-05-15T22:18:31.805Z] [INFO] --- maven-hpi-plugin:3.12:hpi (default-hpi) @ blueocean-events --- [2020-05-15T22:18:31.805Z] [INFO] Generating /home/jenkins/workspace/Plugins_blueocean-plugin_master/blueocean-events/target/blueocean-events/META-INF/MANIFEST.MF [2020-05-15T22:18:31.805Z] [INFO] Checking for attached .jar artifact ... [2020-05-15T22:18:31.805Z] [INFO] Generating jar /home/jenkins/workspace/Plugins_blueocean-plugin_master/blueocean-events/target/blueocean-events.jar [2020-05-15T22:18:31.805Z] [INFO] Building jar: /home/jenkins/workspace/Plugins_blueocean-plugin_master/blueocean-events/target/blueocean-events.jar [2020-05-15T22:18:31.805Z] [INFO] Exploding webapp... [2020-05-15T22:18:31.805Z] [INFO] Copy webapp webResources to /home/jenkins/workspace/Plugins_blueocean-plugin_master/blueocean-events/target/blueocean-events [2020-05-15T22:18:31.805Z] [INFO] Assembling webapp blueocean-events in /home/jenkins/workspace/Plugins_blueocean-plugin_master/blueocean-events/target/blueocean-events [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency JavaEWAH-0.7.9.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency bridge-method-annotation-1.17.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency joda-time-2.9.9.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency commons-lang3-3.9.jar (via jenkins-test-harness) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency fluent-hc-4.5.10.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency httpasyncclient-cache-4.1.4.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency httpasyncclient-4.1.4.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency httpclient-cache-4.5.10.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency httpclient-4.5.10.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency httpcore-nio-4.4.10.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency httpcore-4.4.12.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency httpmime-4.5.10.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency org.eclipse.jgit.http.apache-4.5.4.201711221230-r.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency org.eclipse.jgit.http.server-4.5.4.201711221230-r.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency org.eclipse.jgit-4.5.4.201711221230-r.jar (via git) [2020-05-15T22:18:31.805Z] [WARNING] Bundling transitive dependency json-20160212.jar (via unirest-java) [2020-05-15T22:18:31.805Z] [INFO] Generating hpi /home/jenkins/workspace/Plugins_blueocean-plugin_master/blueocean-events/target/blueocean-events.hpi
No plugin but the git client plugin should be bundling JGit. JGit is a part of the contract that the git client plugin provides to the rest of the Jenkins infrastructure. I'll work on a pull request to Blue Ocean to define the exclusions to prevent that plugin from delivering JGit.
An even more likely problem seems to be coming with the gitlab-plugin. It bundles JGit 3.5.2. The workflow-remote-loader plugin also bundles a JGit version.
Thanks for the clarification robindegen. The pull request is building now. I'm not yet sure that pull request will build successfully, but it is certainly worth the attempt.
I've stopped my work on this issue and closed the pull request that I started. I made several attempts to provide a change without being able to compile Blue Ocean and none of the changes pass the tests. Someone that can compile Blue Ocean on their configuration will need to do the work.
The changes for the gitlab plugin are merged. A pre-release build of the gitlab plugin is available. The changes for the workflow remote loader plugin are passing tests and ready to merge.
I found a way to build Blue Ocean on my Linux computer using bin/build-in-docker.sh .
I've followed the advice from jglick and teilo and have updated the parent pom to the latest version (4.3). That required that I update the minimum supported Jenkins version from 2.150.3 to 2.164.3. I've built the code, confirmed that JGit is no longer packaged in blueocean-events, and have installed it on my test server. It seems to be fully functional.
The pull request proposing the change has been submitted. Pre-release build of Blue Ocean is attached to this bug report. I'm using that pre-release build on my Jenkins installation.
As a word of warning, do not install the blueocean-executor-info.jpi into your Jenkins instance. That plugin has caused me problems. You may have a different experience, but I've removed it from my installation.
All those watching this issue should test drive the pre-release build from the pull request. Delivery of the final build for this fix may be delayed. There are acceptance tests that need to be fixed before the release
The acceptance test failures seem to be due to the change of minimum Jenkins version from 2.150.3 to 2.164.3. I don't have the skills or the environment to work on those acceptance tests.
Interactive testing of the pre-release build (and reports of the results) will be a great help to assure that the pre-release build does not contain lurking surprises.
Here's my report of my testing so far:
- Installed the pre-release build into my docker-lfs image and am running it with Jenkins 2.235.1 on Java 8u252 with 30 agents from various operating system mixes. I mostly use Blue Ocean for pipeline visualization, not for pipeline creation or editing
- Installed the pre-release build into an Alpine 3.11 image and am running it with Jenkins 2.243 on Java 11.0.7 with 30 agents from various operating system mixes.
- Installed the pre-release build on my publicly facing Jenkins server and am running it with Jenkins 2.235.1 on Debian 10 with Java 11
I've also attached blueocean-events.jpi as potentially the only file that a test user needs to install. I'm testing with all the files from the same build in case there are version checks or other defenses to protect against running an inconsistent set of releases.
The instance where I'm running only the blueocean-events.jpi file is working well, just as the other test instances are. Testers should be able to upload that single plugin through the "Advanced" menu of the plugin manager page (so long as they are running Blue Ocean 1.23.2)
@markewaite: Only installing the blueocean-events.jpi didn't fix the problem on my end. Will try the zip you posted now and update my post here.
Edit: Installed all the files in the ZIP through Configuration -> Manage Plugins -> Advanced -> Upload Plugins and still the same error I had before.
haasya thanks for trying the updated plugins. I'm sorry to hear that they did not work. I assume that you restarted the Jenkins server after you installed the new versions. If not, that is a necessary step.
Can you provide instructions that will allow me to duplicate the problem?
My environment is described in the lts-with-plugins branch of my docker-lfs repository.
If you're willing to run a command in your plugins directory, it will also allow us to confirm that no other plugins in your environment are incorrectly packaging JGit inside their hpi/jpi file. The command is:
for jpi in $(find . -type f -name '*.jpi' -print); do jar tvf $plugin | grep jgit && echo JGit found in $plugin done for hpi in $(find . -type f -name '*.hpi' -print); do jar tvf $plugin | grep jgit && echo JGit found in $plugin done
In my set of plugins (after upgrading gitlab-plugin to fix its incorrect inclusion of JGit and after removing workflow-remote-loader-plugin to avoid its incorrect inclusion of JGit), the only plugin that I have that bundles JGit is git-client-plugin.
When I ran that command prior to replacing Blue Ocean 1.23.2 with a snapshot and prior to replacing gitlab plugin with a snapshot and prior to removing workflow remote loader, the output was:
97098 Thu Jun 06 12:43:20 MDT 2019 WEB-INF/lib/org.eclipse.jgit.http.server-4.5.4.201711221230-r.jar 21793 Thu Jun 06 12:43:20 MDT 2019 WEB-INF/lib/org.eclipse.jgit.http.apache-4.5.4.201711221230-r.jar 2384093 Thu Jun 06 12:43:20 MDT 2019 WEB-INF/lib/org.eclipse.jgit-4.5.4.201711221230-r.jar found in ref/plugins/blueocean-events.jpi 22234 Sat Jun 13 17:00:18 MDT 2020 WEB-INF/lib/org.eclipse.jgit.http.apache-5.8.0.202006091008-r.jar 2832059 Sat Jun 13 17:00:18 MDT 2020 WEB-INF/lib/org.eclipse.jgit-5.8.0.202006091008-r.jar 97263 Sat Jun 13 17:00:18 MDT 2020 WEB-INF/lib/org.eclipse.jgit.http.server-5.8.0.202006091008-r.jar 72068 Sat Jun 13 17:00:18 MDT 2020 WEB-INF/lib/org.eclipse.jgit.lfs-5.8.0.202006091008-r.jar found in ref/plugins/git-client.jpi 1931108 Wed Sep 11 22:01:02 MDT 2019 WEB-INF/lib/org.eclipse.jgit-3.5.2.201411120430-r.jar found in ref/plugins/gitlab-plugin.jpi 2012214 Mon May 27 22:53:30 MDT 2019 WEB-INF/lib/org.eclipse.jgit-3.7.1.201504261725-r.jar 92315 Mon May 27 22:53:30 MDT 2019 WEB-INF/lib/org.eclipse.jgit.http.server-3.7.1.201504261725-r.jar found in ref/plugins/workflow-remote-loader.jpi
The JGit 3.x versions that were previously packaged in gitlab-plugin and workflow-remote-loader plugin were even more scary to me than the JGit 4.5.4 bundled in Blue Ocean. In all three cases, the issue was due to a bug in the hpi plugin used to package those releases. That bug has been fixed and the fixed plugin is used in current parent pom versions (version 4.3).
The same type of commands could be run for jsch, just in case there are multiple plugins including
markewaite: I ticked the little checkbox to restart Jenkins after the installation has finished. I hope this is enough.
I installed it with helm on a bare-metal, single node Kubernetes cluster. The values file used for the current installation is jenkins.value.
I can't really give you instructions on how to recreate it because it "just happened". It was likely after a restart when Kubernetes created a new pod, which probably downloaded newer versions of the plugins. We had it working before.
// Output of // for jpi in $(find . -type f -name '*.jpi' -print); do // jar tvf $plugin | grep jgit && echo JGit found in $plugin // done 22234 Sat Jun 13 17:00:18 UTC 2020 WEB-INF/lib/org.eclipse.jgit.http.apache-5.8.0.202006091008-r.jar 2832059 Sat Jun 13 17:00:18 UTC 2020 WEB-INF/lib/org.eclipse.jgit-5.8.0.202006091008-r.jar 97263 Sat Jun 13 17:00:18 UTC 2020 WEB-INF/lib/org.eclipse.jgit.http.server-5.8.0.202006091008-r.jar 72068 Sat Jun 13 17:00:18 UTC 2020 WEB-INF/lib/org.eclipse.jgit.lfs-5.8.0.202006091008-r.jar JGit found in ./git-client.jpi // No output for the second command
If it's possible to backup current settings and projects then I can create new, clean installations of jenkins, as it's not needed in the next 3 weeks. So if you want to test something then I'd be more than happy to help!
If needed I can create a visualization of our current environment (Kubernetes + Git).
haasya I don't see anything surprising in the jenkins.value that you provided. The plugins that you reference seem current. They are different than the plugins I install, since you install the workflow-aggregator plugin and I prefer to install specific plugins rather than rely on the aggregator plugin.
Could you list the plugins and their versions as installed on the failing system? The "System Information" page provides a block that is easy to copy and paste.
Plugins
Name ↓ | Version | Enabled |
---|---|---|
ace-editor | 1.1 | true |
antisamy-markup-formatter | 2.0 | true |
apache-httpcomponents-client-4-api | 4.5.10-2.0 | true |
authentication-tokens | 1.4 | true |
azure-commons | 1.0.4 | true |
blueocean | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-autofavorite | 1.2.4 | true |
blueocean-bitbucket-pipeline | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-commons | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-config | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-core-js | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-dashboard | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-display-url | 2.3.1 | true |
blueocean-events | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-executor-info | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-git-pipeline | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-github-pipeline | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-i18n | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-jira | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-jwt | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-personalization | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-pipeline-api-impl | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-pipeline-editor | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-pipeline-scm-api | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-rest | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-rest-impl | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
blueocean-web | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
bouncycastle-api | 2.18 | true |
branch-api | 2.5.6 | true |
cloudbees-bitbucket-branch-source | 2.8.0 | true |
cloudbees-folder | 6.14 | true |
command-launcher | 1.4 | true |
configuration-as-code | 1.41 | true |
credentials | 2.3.11 | true |
credentials-binding | 1.23 | true |
display-url-api | 2.3.2 | true |
docker-commons | 1.17 | true |
docker-workflow | 1.23 | true |
durable-task | 1.34 | true |
external-monitor-job | 1.7 | true |
favorite | 2.3.2 | true |
git | 4.3.0 | true |
git-client | 3.3.0 | true |
git-server | 1.9 | true |
github | 1.30.0 | true |
github-api | 1.114.3 | true |
github-branch-source | 2.8.2 | true |
handlebars | 1.1.1 | true |
handy-uri-templates-2-api | 2.1.8-1.0 | true |
htmlpublisher | 1.23 | true |
jackson2-api | 2.11.1 | true |
jdk-tool | 1.4 | true |
jenkins-design-language | 1.23.3-SNAPSHOT (private-9e939746-jenkins) | true |
jira | 3.1.1 | true |
jquery-detached | 1.2.1 | true |
jsch | 0.1.55.2 | true |
junit | 1.29 | true |
kubernetes | 1.26.2 | true |
kubernetes-cd | 2.3.0 | true |
kubernetes-client-api | 4.9.2-2 | true |
kubernetes-credentials | 0.7.0 | true |
ldap | 1.24 | true |
lockable-resources | 2.8 | true |
mailer | 1.32 | true |
matrix-auth | 2.6.1 | true |
matrix-project | 1.16 | true |
mercurial | 2.10 | true |
momentjs | 1.1.1 | true |
okhttp-api | 3.14.9 | true |
pam-auth | 1.6 | true |
pathignore | 0.6 | true |
pipeline-build-step | 2.12 | true |
pipeline-graph-analysis | 1.10 | true |
pipeline-input-step | 2.11 | true |
pipeline-milestone-step | 1.3.1 | true |
pipeline-model-api | 1.7.0 | true |
pipeline-model-definition | 1.7.0 | true |
pipeline-model-extensions | 1.7.0 | true |
pipeline-rest-api | 2.13 | true |
pipeline-stage-step | 2.5 | true |
pipeline-stage-tags-metadata | 1.7.0 | true |
pipeline-stage-view | 2.13 | true |
plain-credentials | 1.7 | true |
pubsub-light | 1.13 | true |
ruby-runtime | 0.12 | true |
scm-api | 2.6.3 | true |
script-security | 1.74 | true |
snakeyaml-api | 1.26.4 | true |
sse-gateway | 1.23 | true |
ssh-credentials | 1.18.1 | true |
structs | 1.20 | true |
token-macro | 2.12 | true |
trilead-api | 1.0.8 | true |
variant | 1.3 | true |
windows-slaves | 1.6 | true |
workflow-aggregator | 2.6 | true |
workflow-api | 2.40 | true |
workflow-basic-steps | 2.20 | true |
workflow-cps | 2.81 | true |
workflow-cps-global-lib | 2.16 | true |
workflow-durable-task-step | 2.35 | true |
workflow-job | 2.39 | true |
workflow-multibranch | 2.21 | true |
workflow-scm-step | 2.11 | true |
workflow-step-api | 2.22 | true |
workflow-support | 3.5 | true |
I think the workflow-aggregator plugin is installed by default when getting the values from helm. If I remember correctly I only added "blueocean:1.23.2" and "kubernetes-cd:2.3.0"
Differences between your plugins and mine include:
- antisamy-markup-formatter 2.0 in yours, 2.1 in mine
- kubernetes-cd is not installed in my instance (I'm not running on Kubernetes)
- pathignore is not installed in my instance
- ruby-runtime plugin is not installed in my instance
- many plugins installed in my instance that are not in yours
I don't expect any of those differences to cause this problem, though ruby-runtime has been a challenge in other areas, so might be a challenge here.
Just did a few tests:
1.) Current installation without pathignore and ruby-runtime (+ updated markup): Same error.
2.) New installation with the same plugins as you have (+ kubernetes-cd:latest) (just dropped it into the .value file): Same error.
3.) with blueocean-events.jpi: Same error.
4.) with files from .zip: Same error.
I always restarted jenkins after changes to the plugins.
Should I try an installation without kubernetes-cd?
Worth trying without kubernetes-cd, though I will be truly surprised if that has any different behavior.
What Java version are you running?
Are there any other things about your installation environment that might make it different from other installations?
I've just uploaded the plugin to my installation too (docker image jenkinsci/blueocean). No change for me either. I've restarted the docker container. This was after I upgraded the container to the latest version and applied all available updates to plugins.
Thanks realflash. That confirms there must be some other problem that is causing the issue. I believe it is the right thing to remove outdated copies of JGit from plugins that should not include JGit in their packaging, but that doesn't seem to be enough to solve the issue that you and haasya are seeing consistently.
I don’t know which Java version as I’m using the jenkins/jenkins:latest image if I remember correctly.
I’ll try an installation without the Kubernetes-cd plugin tomorrow.
haasya the System Information page will display the Java version that is running Jenkins.
I see that the ivy plugin is including a slightly older version of jsch (0.1.54) than the version that is provided by the jsch plugin (0.1.55) . If you are not using the Ivy plugin but have it installed, you might try removing it.
Not sure why you would be testing a patch to blueocean-events when it is blueocean-git-pipeline that is mentioned in the original stack trace.
Anyway, even if this plugin were bundling a redundant copy of JGit, it should not matter: the version from the git-client plugin should be preferred, since we are not setting pluginFirstClassLoader.
If there is no known way to reproduce, then reporters will need to diagnose using the /script console: look up the Class object for GitUtils, check where it is loading various JGit and JSch deps from.
Never mind, I think this is a straightforward regression in git-client. See this change.
git bisect on
echo 'System.out.println(org.eclipse.jgit.transport.JschConfigSessionFactory.class)' | mvn com.github.johnpoth:jshell-maven-plugin:1.3:run
confirms that https://github.com/jenkinsci/git-client-plugin/pull/561 was the cause.
Thus rolling git-client from 3.3.0 back to 3.2.1 should suffice as a workaround.
Special thanks to jglick for finding and fixing the issue.
haasya and wayne_john and realflash could you test drive the git-client.jpi attached to the issue? I'm running it in my environment now with the hopes that one of you will be able to confirm it fixes the problem for you as well.
Alternately, if it is easier for you to check, you could revert back to git client plugin 3.2.1. That isn't as complete a test as I would like, but it would be a nice confirmation that the critical difference is the packaging mistake I made during the upgrade from JGit 5.7 to JGit 5.8.
Hi Mark, Jesse,
I am running Jenkins version 2.235.1. I installed the new git-client.jpi, and I am not seeing the issue anymore.
Here is the plugin version: 3.3.1-SNAPSHOT (private-5e6d359b-mwaite)
I also tested with git-client 3.2.1 version, and that seems to be work fine too.
Just updated to 3.3.1 and can confirm it works.
Thank you for the fast fix!
Same here. Maybe some more details (at least for my observation)
OS: CentOS 7 running in a Virtualbox
Installed: Java 11, Jenkins 2.235 or 2.241 from Jenkins Redhat Repos
Standard Plugins + BlueOcean plugin installed
How to reproduce the error:
1. Go to BlueOcean
2. Create New Pipeline with the wizzard
3. Choose SSH
4. Enter a SSH git address, e.g., git@github.com:username/projectname.git
5. Install the presented key at Github as valid key
6. Click "Create Pipeline"
7. Wait forever
8. Find in the Jenkins log file at /var/log/jenkins the above error message