Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-28933

Classloading issues in Docker-traceability: conflict with unshaded API

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • None
    • docker.traceability-1.0
      jenkins-1.609.1
      JDK 1.8u25

      The issue appears randomly on Ubuntu with latest JDK and JRE (1.7 and 1.8). Seems sometimes Jenkins loads unrelocated classes from a JAR file, which should not be used after the shading. The issue has been caused by org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.

      Log sample:

      Jun 15, 2015 3:22:23 PM org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportListenerImpl onReport
      WARNING: Cannot retrieve the fingerprint
      java.lang.NoSuchMethodError: org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getContainer()Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/command/InspectContainerResponse;
      	at org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportListenerImpl.processReport(DockerTraceabilityReportListenerImpl.java:102)
      	at org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportListenerImpl.onReport(DockerTraceabilityReportListenerImpl.java:57)
      	at org.jenkinsci.plugins.docker.traceability.model.DockerTraceabilityReportListener.fire(DockerTraceabilityReportListener.java:71)
      	at org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityRootAction.doSubmitReport(DockerTraceabilityRootAction.java:279)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:483)
      	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
      	at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      	at com.cloudbees.jenkins.ha.HAHealthCheckFilter.doFilter(HAHealthCheckFilter.java:35)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123)
      	at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at com.cloudbees.opscenter.client.plugin.OfflineSecurityRealmFilter._doFilter(OfflineSecurityRealmFilter.java:90)
      	at com.cloudbees.opscenter.client.plugin.OfflineSecurityRealmFilter.doFilter(OfflineSecurityRealmFilter.java:67)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at com.cloudbees.opscenter.security.ClusterSessionFilter._doFilter(ClusterSessionFilter.java:69)
      	at com.cloudbees.opscenter.security.ClusterSessionFilter.doFilter(ClusterSessionFilter.java:44)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at org.jenkinsci.plugins.suppress_stack_trace.SuppressionFilter.doFilter(SuppressionFilter.java:34)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:117)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176)
      	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
      	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:99)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	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:117)
      	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:73)
      	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:76)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      	at org.eclipse.jetty.server.Server.handle(Server.java:370)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      
      Jun 15, 2015 3:22:23 PM org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportLogger onReport
      INFO: org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport@43d3013a
      Jun 15, 2015 3:22:23 PM org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportListenerImpl onReport
      WARNING: Cannot retrieve the fingerprint
      java.lang.NoSuchMethodError: org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getContainer()Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/command/InspectContainerResponse;
      	at org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportListenerImpl.processReport(DockerTraceabilityReportListenerImpl.java:102)
      	at org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportListenerImpl.onReport(DockerTraceabilityReportListenerImpl.java:57)
      	at org.jenkinsci.plugins.docker.traceability.model.DockerTraceabilityReportListener.fire(DockerTraceabilityReportListener.java:71)
      	at org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityRootAction.doSubmitReport(DockerTraceabilityRootAction.java:279)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:483)
      	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:46)
      	at org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:399)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:411)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      	at com.cloudbees.jenkins.ha.HAHealthCheckFilter.doFilter(HAHealthCheckFilter.java:35)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123)
      	at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at com.cloudbees.opscenter.client.plugin.OfflineSecurityRealmFilter._doFilter(OfflineSecurityRealmFilter.java:90)
      	at com.cloudbees.opscenter.client.plugin.OfflineSecurityRealmFilter.doFilter(OfflineSecurityRealmFilter.java:67)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at com.cloudbees.opscenter.security.ClusterSessionFilter._doFilter(ClusterSessionFilter.java:69)
      	at com.cloudbees.opscenter.security.ClusterSessionFilter.doFilter(ClusterSessionFilter.java:44)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at org.jenkinsci.plugins.suppress_stack_trace.SuppressionFilter.doFilter(SuppressionFilter.java:34)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:117)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:198)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:176)
      	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
      	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:99)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	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:117)
      	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:73)
      	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:76)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      	at org.eclipse.jetty.server.Server.handle(Server.java:370)
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      	at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      
      Jun 15, 2015 3:22:23 PM org.jenkinsci.plugins.docker.traceability.core.DockerTraceabilityReportLogger onReport
      INFO: org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport@7fef6f4f
      

      Confirmed the issue. It has been caused by a collision of JAR files in the output HPI. An unshaded version has been loaded.

      import java.lang.reflect.Method;
      
      Class dtReport = org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport;
      Method[] methods = dtReport.getDeclaredMethods();
      for (Method method : methods) {
        println method;
      }
      

      Class output on the failing installation:

      public java.util.List org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getParents()
      public com.github.dockerjava.api.command.InspectImageResponse org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getImage()
      public java.lang.String org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getEnvironment()
      public java.lang.String org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getContainerId()
      public com.github.dockerjava.api.model.Event org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getEvent()
      public com.github.dockerjava.api.model.Info org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getHostInfo()
      public java.lang.String org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getImageName()
      public java.lang.String org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getImageId()
      public com.github.dockerjava.api.command.InspectContainerResponse org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.getContainer()
      

          [JENKINS-28933] Classloading issues in Docker-traceability: conflict with unshaded API

          Oleg Nenashev added a comment -

          docker-traceability-1.1 has been released using maven 3.2.5. I've checked the HPI in the jenkinsci repo, now everything is OK there

          Oleg Nenashev added a comment - docker-traceability-1.1 has been released using maven 3.2.5. I've checked the HPI in the jenkinsci repo, now everything is OK there

          Edmund Haselwanter added a comment - - edited

          is it possible that there is a regession? seeing

          java.lang.NoSuchMethodError: org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.<init>(Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/model/Event;Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/model/Info;Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/command/InspectContainerResponse;Ljava/lang/String;Ljava/lang/String;Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/command/InspectImageResponse;Ljava/util/List;Ljava/lang/String;)V
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
          	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:812)
          	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
          	at com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:46)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
          	at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
          
          <shortName>build-monitor-plugin</shortName>
          <version>1.6+build.138</version>
          <shortName>matrix-auth</shortName>
          <version>1.1</version>
          <shortName>ldap</shortName>
          <version>1.11</version>
          <shortName>multi-branch-project-plugin</shortName>
          <version>0.5.1</version>
          <shortName>pipeline-stage-step</shortName>
          <version>2.1</version>
          <shortName>workflow-cps</shortName>
          <version>2.9</version>
          <shortName>git-client</shortName>
          <version>1.19.7</version>
          <shortName>workflow-job</shortName>
          <version>2.3</version>
          <shortName>matrix-project</shortName>
          <version>1.6</version>
          <shortName>github-organization-folder</shortName>
          <version>1.3</version>
          <shortName>build-pipeline-plugin</shortName>
          <version>1.4.5</version>
          <shortName>external-monitor-job</shortName>
          <version>1.4</version>
          <shortName>cucumber-testresult-plugin</shortName>
          <version>0.7</version>
          <shortName>git</shortName>
          <version>2.5.2</version>
          <shortName>htmlpublisher</shortName>
          <version>1.11</version>
          <shortName>aws-java-sdk</shortName>
          <version>1.10.50</version>
          <shortName>authentication-tokens</shortName>
          <version>1.2</version>
          <shortName>mapdb-api</shortName>
          <version>1.0.6.0</version>
          <shortName>ssh-credentials</shortName>
          <version>1.12</version>
          <shortName>momentjs</shortName>
          <version>1.1.1</version>
          <shortName>cloudbees-folder</shortName>
          <version>5.12</version>
          <shortName>docker-workflow</shortName>
          <version>1.6</version>
          <shortName>artifactory</shortName>
          <version>2.4.7</version>
          <shortName>github</shortName>
          <version>1.20.0</version>
          <shortName>xvfb</shortName>
          <version>1.0.16</version>
          <shortName>workflow-basic-steps</shortName>
          <version>2.0</version>
          <shortName>translation</shortName>
          <version>1.10</version>
          <shortName>build-name-setter</shortName>
          <version>1.3</version>
          <shortName>credentials</shortName>
          <version>2.1.4</version>
          <shortName>checkstyle</shortName>
          <version>3.41</version>
          <shortName>junit</shortName>
          <version>1.11</version>
          <shortName>pipeline-rest-api</shortName>
          <version>1.6</version>
          <shortName>workflow-remote-loader</shortName>
          <version>1.2</version>
          <shortName>subversion</shortName>
          <version>2.5.7</version>
          <shortName>scriptler</shortName>
          <version>2.9</version>
          <shortName>copyartifact</shortName>
          <version>1.37</version>
          <shortName>greenballs</shortName>
          <version>1.15</version>
          <shortName>parameterized-trigger</shortName>
          <version>2.31</version>
          <shortName>jquery</shortName>
          <version>1.11.2-0</version>
          <shortName>gitlab-plugin</shortName>
          <version>1.3.0</version>
          <shortName>mailer</shortName>
          <version>1.16</version>
          <shortName>scm-api</shortName>
          <version>1.2</version>
          <shortName>envinject</shortName>
          <version>1.92.1</version>
          <shortName>cucumber-reports</shortName>
          <version>0.0.23</version>
          <shortName>ant</shortName>
          <version>1.2</version>
          <shortName>handlebars</shortName>
          <version>1.1.1</version>
          <shortName>javadoc</shortName>
          <version>1.1</version>
          <shortName>structs</shortName>
          <version>1.1</version>
          <shortName>run-condition</shortName>
          <version>1.0</version>
          <shortName>pipeline-build-step</shortName>
          <version>2.2</version>
          <shortName>ssh-slaves</shortName>
          <version>1.10</version>
          <shortName>thinBackup</shortName>
          <version>1.7.4</version>
          <shortName>workflow-scm-step</shortName>
          <version>2.2</version>
          <shortName>workflow-support</shortName>
          <version>2.2</version>
          <shortName>workflow-step-api</shortName>
          <version>2.2</version>
          <shortName>console-column-plugin</shortName>
          <version>1.5</version>
          <shortName>windows-slaves</shortName>
          <version>1.0</version>
          <shortName>cvs</shortName>
          <version>2.11</version>
          <shortName>pipeline-stage-view</shortName>
          <version>1.6</version>
          <shortName>branch-api</shortName>
          <version>1.10</version>
          <shortName>extra-columns</shortName>
          <version>1.14</version>
          <shortName>workflow-durable-task-step</shortName>
          <version>2.3</version>
          <shortName>docker-build-step</shortName>
          <version>1.35</version>
          <shortName>docker-traceability</shortName>
          <version>1.2</version>
          <shortName>credentials-binding</shortName>
          <version>1.8</version>
          <shortName>ace-editor</shortName>
          <version>1.1</version>
          <shortName>workflow-cps-global-lib</shortName>
          <version>2.1</version>
          <shortName>script-security</shortName>
          <version>1.21</version>
          <shortName>clover</shortName>
          <version>4.4.0</version>
          <shortName>envfile</shortName>
          <version>1.2</version>
          <shortName>tap</shortName>
          <version>1.20</version>
          <shortName>dashboard-view</shortName>
          <version>2.9.10</version>
          <shortName>antisamy-markup-formatter</shortName>
          <version>1.1</version>
          <shortName>conditional-buildstep</shortName>
          <version>1.3.5</version>
          <shortName>git-server</shortName>
          <version>1.7</version>
          <shortName>s3</shortName>
          <version>0.10.7</version>
          <shortName>jackson2-api</shortName>
          <version>2.5.4</version>
          <shortName>backup</shortName>
          <version>1.6.1</version>
          <shortName>cobertura</shortName>
          <version>1.9.6</version>
          <shortName>rvm</shortName>
          <version>0.4</version>
          <shortName>delivery-pipeline-plugin</shortName>
          <version>0.9.8</version>
          <shortName>embeddable-build-status</shortName>
          <version>1.9</version>
          <shortName>durable-task</shortName>
          <version>1.11</version>
          <shortName>docker-commons</shortName>
          <version>1.4.0</version>
          <shortName>docker-build-publish</shortName>
          <version>1.3.1</version>
          <shortName>plain-credentials</shortName>
          <version>1.2</version>
          <shortName>ansicolor</shortName>
          <version>0.4.2</version>
          <shortName>icon-shim</shortName>
          <version>2.0.2</version>
          <shortName>jquery-detached</shortName>
          <version>1.2.1</version>
          <shortName>maven-plugin</shortName>
          <version>2.13</version>
          <shortName>github-api</shortName>
          <version>1.76</version>
          <shortName>slack</shortName>
          <version>2.0.1</version>
          <shortName>ruby-runtime</shortName>
          <version>0.12</version>
          <shortName>pipeline-input-step</shortName>
          <version>2.0</version>
          <shortName>ssh</shortName>
          <version>2.4</version>
          <shortName>workflow-aggregator</shortName>
          <version>2.2</version>
          <shortName>analysis-core</shortName>
          <version>1.79</version>
          <shortName>github-branch-source</shortName>
          <version>1.8.1</version>
          <shortName>workflow-api</shortName>
          <version>2.1</version>
          <shortName>token-macro</shortName>
          <version>1.12.1</version>
          <shortName>pam-auth</shortName>
          <version>1.2</version>
          <shortName>workflow-multibranch</shortName>
          <version>2.8</version>
          <shortName>log-parser</shortName>
          <version>1.0.8</version>
          

          Edmund Haselwanter added a comment - - edited is it possible that there is a regession? seeing java.lang.NoSuchMethodError: org.jenkinsci.plugins.docker.traceability.api.DockerTraceabilityReport.&lt;init>(Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/model/Event;Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/model/Info;Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/command/InspectContainerResponse;Ljava/lang/ String ;Ljava/lang/ String ;Lorg/jenkinsci/plugins/docker/traceability/dockerjava/api/command/InspectImageResponse;Ljava/util/List;Ljava/lang/ String ;)V at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) 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:812) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135) at com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:46) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) <shortName> build-monitor-plugin </shortName> <version> 1.6+build.138 </version> <shortName> matrix-auth </shortName> <version> 1.1 </version> <shortName> ldap </shortName> <version> 1.11 </version> <shortName> multi-branch-project-plugin </shortName> <version> 0.5.1 </version> <shortName> pipeline-stage-step </shortName> <version> 2.1 </version> <shortName> workflow-cps </shortName> <version> 2.9 </version> <shortName> git-client </shortName> <version> 1.19.7 </version> <shortName> workflow-job </shortName> <version> 2.3 </version> <shortName> matrix-project </shortName> <version> 1.6 </version> <shortName> github-organization-folder </shortName> <version> 1.3 </version> <shortName> build-pipeline-plugin </shortName> <version> 1.4.5 </version> <shortName> external-monitor-job </shortName> <version> 1.4 </version> <shortName> cucumber-testresult-plugin </shortName> <version> 0.7 </version> <shortName> git </shortName> <version> 2.5.2 </version> <shortName> htmlpublisher </shortName> <version> 1.11 </version> <shortName> aws-java-sdk </shortName> <version> 1.10.50 </version> <shortName> authentication-tokens </shortName> <version> 1.2 </version> <shortName> mapdb-api </shortName> <version> 1.0.6.0 </version> <shortName> ssh-credentials </shortName> <version> 1.12 </version> <shortName> momentjs </shortName> <version> 1.1.1 </version> <shortName> cloudbees-folder </shortName> <version> 5.12 </version> <shortName> docker-workflow </shortName> <version> 1.6 </version> <shortName> artifactory </shortName> <version> 2.4.7 </version> <shortName> github </shortName> <version> 1.20.0 </version> <shortName> xvfb </shortName> <version> 1.0.16 </version> <shortName> workflow-basic-steps </shortName> <version> 2.0 </version> <shortName> translation </shortName> <version> 1.10 </version> <shortName> build-name-setter </shortName> <version> 1.3 </version> <shortName> credentials </shortName> <version> 2.1.4 </version> <shortName> checkstyle </shortName> <version> 3.41 </version> <shortName> junit </shortName> <version> 1.11 </version> <shortName> pipeline-rest-api </shortName> <version> 1.6 </version> <shortName> workflow-remote-loader </shortName> <version> 1.2 </version> <shortName> subversion </shortName> <version> 2.5.7 </version> <shortName> scriptler </shortName> <version> 2.9 </version> <shortName> copyartifact </shortName> <version> 1.37 </version> <shortName> greenballs </shortName> <version> 1.15 </version> <shortName> parameterized-trigger </shortName> <version> 2.31 </version> <shortName> jquery </shortName> <version> 1.11.2-0 </version> <shortName> gitlab-plugin </shortName> <version> 1.3.0 </version> <shortName> mailer </shortName> <version> 1.16 </version> <shortName> scm-api </shortName> <version> 1.2 </version> <shortName> envinject </shortName> <version> 1.92.1 </version> <shortName> cucumber-reports </shortName> <version> 0.0.23 </version> <shortName> ant </shortName> <version> 1.2 </version> <shortName> handlebars </shortName> <version> 1.1.1 </version> <shortName> javadoc </shortName> <version> 1.1 </version> <shortName> structs </shortName> <version> 1.1 </version> <shortName> run-condition </shortName> <version> 1.0 </version> <shortName> pipeline-build-step </shortName> <version> 2.2 </version> <shortName> ssh-slaves </shortName> <version> 1.10 </version> <shortName> thinBackup </shortName> <version> 1.7.4 </version> <shortName> workflow-scm-step </shortName> <version> 2.2 </version> <shortName> workflow-support </shortName> <version> 2.2 </version> <shortName> workflow-step-api </shortName> <version> 2.2 </version> <shortName> console-column-plugin </shortName> <version> 1.5 </version> <shortName> windows-slaves </shortName> <version> 1.0 </version> <shortName> cvs </shortName> <version> 2.11 </version> <shortName> pipeline-stage-view </shortName> <version> 1.6 </version> <shortName> branch-api </shortName> <version> 1.10 </version> <shortName> extra-columns </shortName> <version> 1.14 </version> <shortName> workflow-durable-task-step </shortName> <version> 2.3 </version> <shortName> docker-build-step </shortName> <version> 1.35 </version> <shortName> docker-traceability </shortName> <version> 1.2 </version> <shortName> credentials-binding </shortName> <version> 1.8 </version> <shortName> ace-editor </shortName> <version> 1.1 </version> <shortName> workflow-cps-global-lib </shortName> <version> 2.1 </version> <shortName> script-security </shortName> <version> 1.21 </version> <shortName> clover </shortName> <version> 4.4.0 </version> <shortName> envfile </shortName> <version> 1.2 </version> <shortName> tap </shortName> <version> 1.20 </version> <shortName> dashboard-view </shortName> <version> 2.9.10 </version> <shortName> antisamy-markup-formatter </shortName> <version> 1.1 </version> <shortName> conditional-buildstep </shortName> <version> 1.3.5 </version> <shortName> git-server </shortName> <version> 1.7 </version> <shortName> s3 </shortName> <version> 0.10.7 </version> <shortName> jackson2-api </shortName> <version> 2.5.4 </version> <shortName> backup </shortName> <version> 1.6.1 </version> <shortName> cobertura </shortName> <version> 1.9.6 </version> <shortName> rvm </shortName> <version> 0.4 </version> <shortName> delivery-pipeline-plugin </shortName> <version> 0.9.8 </version> <shortName> embeddable-build-status </shortName> <version> 1.9 </version> <shortName> durable-task </shortName> <version> 1.11 </version> <shortName> docker-commons </shortName> <version> 1.4.0 </version> <shortName> docker-build-publish </shortName> <version> 1.3.1 </version> <shortName> plain-credentials </shortName> <version> 1.2 </version> <shortName> ansicolor </shortName> <version> 0.4.2 </version> <shortName> icon-shim </shortName> <version> 2.0.2 </version> <shortName> jquery-detached </shortName> <version> 1.2.1 </version> <shortName> maven-plugin </shortName> <version> 2.13 </version> <shortName> github-api </shortName> <version> 1.76 </version> <shortName> slack </shortName> <version> 2.0.1 </version> <shortName> ruby-runtime </shortName> <version> 0.12 </version> <shortName> pipeline-input-step </shortName> <version> 2.0 </version> <shortName> ssh </shortName> <version> 2.4 </version> <shortName> workflow-aggregator </shortName> <version> 2.2 </version> <shortName> analysis-core </shortName> <version> 1.79 </version> <shortName> github-branch-source </shortName> <version> 1.8.1 </version> <shortName> workflow-api </shortName> <version> 2.1 </version> <shortName> token-macro </shortName> <version> 1.12.1 </version> <shortName> pam-auth </shortName> <version> 1.2 </version> <shortName> workflow-multibranch </shortName> <version> 2.8 </version> <shortName> log-parser </shortName> <version> 1.0.8 </version>

          Oleg Nenashev added a comment -

          Smells like another issue with the plugin, because constructor uses only shaded API classes.
          Could you please create a new issue?

          Oleg Nenashev added a comment - Smells like another issue with the plugin, because constructor uses only shaded API classes. Could you please create a new issue?

            oleg_nenashev Oleg Nenashev
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: