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

Exception saving jobs using ClearCase after update to Jenkins Core 2.9 (Our case 14788)

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • clearcase-plugin, (1)
      core
    • Jenkins 2.9
      ClearCase Plugin 1.6.2
      Oracle server JDK 1.8.66 64 bit
      Windows Server 2008R2 64 Bit

      After updating Jenkins Core to 2.9 any Jobs using ClearCase for Version Control cannot be saved any longer. The following exceptions appears when clicking "Save" button:

      javax.servlet.ServletException: java.lang.IllegalArgumentException: Failed to instantiate class hudson.scm.SCM from {"value":"1","stapler-class":"hudson.plugins.clearcase.ClearCaseSCM","$class":"hudson.plugins.clearcase.ClearCaseSCM","viewname":"${COMPUTERNAME}-snap-${PROJECT}-${MajorVersion}-${MinorBaseVersion}x","viewpath":"${COMPUTERNAME}-snap-${PROJECT}-${MajorVersion}-${MinorBaseVersion}x","getConfigSpecFromFile":{"configSpecFileName":"${ClearCaseConfigSpec}"},"configspec":"TO_BE_SET_ON_FIRST_RUN","useupdate":true,"changeset":{"value":"branch"},"branch":"main\nbr_${PROJECT}_REL_${MajorVersion}_${MinorBaseVersion}x","label":"","excludedRegions":".*\\\\BuildIDs\\\\.*\n.*\\\\Specs\\\\.*\nMCT_INT\\\\.*\ncrtu_components\\\\.*\nMCT_Comp\\\\LIC_PROXY_API\\\\.*\ncrtx_product\\\\Tools\\\\VersionManager\ncrtu_rrm\\\\RRM_MLAPI\\\\Scenarios\\\\RRM\\\\PQA\\\\.*\ncrtu_rrm\\\\RRM_MLAPI\\\\RRMLib\\\\release\\\\lib\\\\BIN_.*\ncrtu_rrm\\\\RRM_MLAPI\\\\RRMLib\\\\release\\\\lib\\\\CONF_LTE_RRMLib.*\ncrtu_rrm\\\\RRM_MLAPI\\\\RRMLib\\\\release\\\\lib\\\\.*TDSCDMA.*","mkviewoptionalparam":"-vws \\\\${CCSTG_SNAP}\\${CLEARCASE_VIEWNAME}.vws","filterOutDestroySubBranchEvent":false,"rmviewonrename":true,"multiSitePollBuffer":"0"}
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	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:729)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201)
      	at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178)
      	at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)
      	at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:102)
      	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)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	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: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:76)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.scm.SCM from {"value":"1","stapler-class":"hudson.plugins.clearcase.ClearCaseSCM","$class":"hudson.plugins.clearcase.ClearCaseSCM","viewname":"${COMPUTERNAME}-snap-${PROJECT}-${MajorVersion}-${MinorBaseVersion}x","viewpath":"${COMPUTERNAME}-snap-${PROJECT}-${MajorVersion}-${MinorBaseVersion}x","getConfigSpecFromFile":{"configSpecFileName":"${ClearCaseConfigSpec}"},"configspec":"TO_BE_SET_ON_FIRST_RUN","useupdate":true,"changeset":{"value":"branch"},"branch":"main\nbr_${PROJECT}_REL_${MajorVersion}_${MinorBaseVersion}x","label":"","excludedRegions":".*\\\\BuildIDs\\\\.*\n.*\\\\Specs\\\\.*\nMCT_INT\\\\.*\ncrtu_components\\\\.*\nMCT_Comp\\\\LIC_PROXY_API\\\\.*\ncrtx_product\\\\Tools\\\\VersionManager\ncrtu_rrm\\\\RRM_MLAPI\\\\Scenarios\\\\RRM\\\\PQA\\\\.*\ncrtu_rrm\\\\RRM_MLAPI\\\\RRMLib\\\\release\\\\lib\\\\BIN_.*\ncrtu_rrm\\\\RRM_MLAPI\\\\RRMLib\\\\release\\\\lib\\\\CONF_LTE_RRMLib.*\ncrtu_rrm\\\\RRM_MLAPI\\\\RRMLib\\\\release\\\\lib\\\\.*TDSCDMA.*","mkviewoptionalparam":"-vws \\\\${CCSTG_SNAP}\\${CLEARCASE_VIEWNAME}.vws","filterOutDestroySubBranchEvent":false,"rmviewonrename":true,"multiSitePollBuffer":"0"}
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:676)
      	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
      	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:474)
      	at hudson.scm.SCMS.parseSCM(SCMS.java:59)
      	at hudson.model.AbstractProject.submit(AbstractProject.java:1864)
      	at hudson.model.Project.submit(Project.java:230)
      	at hudson.model.Job.doConfigSubmit(Job.java:1229)
      	at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:795)
      	at sun.reflect.GeneratedMethodAccessor1793.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:324)
      	at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:52)
      	at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:167)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:100)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:124)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	... 79 more
      Caused by: java.lang.IllegalArgumentException: Failed to convert the changeset parameter of the constructor public hudson.plugins.clearcase.ClearCaseSCM(java.lang.String,java.lang.String,boolean,java.lang.String,boolean,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,java.lang.String,boolean,java.lang.String,boolean,java.lang.String,java.lang.String,boolean,boolean,boolean,java.lang.String,java.lang.String,boolean,boolean,java.lang.String,hudson.plugins.clearcase.AbstractClearCaseScm$ChangeSetLevel,hudson.plugins.clearcase.viewstorage.ViewStorage)
      	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:773)
      	at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:674)
      	... 97 more
      Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.clearcase.AbstractClearCaseScm$ChangeSetLevel from {"value":"branch"}
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:676)
      	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
      	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:771)
      	... 99 more
      Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class hudson.plugins.clearcase.AbstractClearCaseScm$ChangeSetLevel
      	at org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames(ClassDescriptor.java:247)
      	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:758)
      	at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:674)
      	... 101 more
      

      Any jobs without ClearCase settings can be saved as usual.

      Downgrading to Jenkins Core 2.8 fixes the problem.

          [JENKINS-35906] Exception saving jobs using ClearCase after update to Jenkins Core 2.9 (Our case 14788)

          Daniel Beck added a comment -

          Daniel Beck added a comment - My guess is https://github.com/jenkinsci/jenkins/pull/2371/files#r68582664

          Jesse Glick added a comment -

          Best to delete ClearCaseScmDescriptor.newInstance and use standard Jenkins databinding.

          Jesse Glick added a comment - Best to delete ClearCaseScmDescriptor.newInstance and use standard Jenkins databinding.

          Oleg Nenashev added a comment -

          https://github.com/jenkinsci/jenkins/pull/2426 has been integrated. To be released in 2.12

          Oleg Nenashev added a comment - https://github.com/jenkinsci/jenkins/pull/2426 has been integrated. To be released in 2.12

          Daniel Beck added a comment -

          Fix released in 2.12

          Daniel Beck added a comment - Fix released in 2.12

          Oleg Nenashev added a comment -

          Better late than never. Added lts-candidate

          Oleg Nenashev added a comment - Better late than never. Added lts-candidate

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/java/hudson/scm/SCMS.java
          http://jenkins-ci.org/commit/jenkins/27d8f06f1baabb320cc86527250bed5a7dacf85e
          Log:
          JENKINS-35906 Ensure that SCMDescriptor.newInstance overrides are honored (#2426)

          • [FIXED JENKINS-35906] Ensure that SCMDescriptor.newInstance overrides are honored.
          • [FIXED JENKINS-36043] Work around fragile form submission design in multi-branch-project-plugin.

          (cherry picked from commit 1d176d1f19bfc717ffc335046539ffdd079efdf4)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/scm/SCMS.java http://jenkins-ci.org/commit/jenkins/27d8f06f1baabb320cc86527250bed5a7dacf85e Log: JENKINS-35906 Ensure that SCMDescriptor.newInstance overrides are honored (#2426) [FIXED JENKINS-35906] Ensure that SCMDescriptor.newInstance overrides are honored. [FIXED JENKINS-36043] Work around fragile form submission design in multi-branch-project-plugin. (cherry picked from commit 1d176d1f19bfc717ffc335046539ffdd079efdf4)

          satish k added a comment -

          hello Team I was getting the same issue and Im in Jenkins 2.19.1 version do I have to downgrade it to 2.8? to resovle this issue. I dont think so as Jenkins might had fixed in this version what could be other reasons for this issue in My current version 2.19.1 Jenkins ?
          It would be a great help as this piece of Load rules and config specs are working in conventional Jenkins plugins where as its not working with Jenkins Pipeline blue Ocean way and leading with the same below :RuntimeException: Failed to instantiate class.
          Your reply is well appreciated. Haritha

          satish k added a comment - hello Team I was getting the same issue and Im in Jenkins 2.19.1 version do I have to downgrade it to 2.8? to resovle this issue. I dont think so as Jenkins might had fixed in this version what could be other reasons for this issue in My current version 2.19.1 Jenkins ? It would be a great help as this piece of Load rules and config specs are working in conventional Jenkins plugins where as its not working with Jenkins Pipeline blue Ocean way and leading with the same below :RuntimeException: Failed to instantiate class. Your reply is well appreciated. Haritha

          Oleg Nenashev added a comment -

          If the issue happens in 2.19.1, likely it is somethig else.
          jglick could you please update the issue status?

          Oleg Nenashev added a comment - If the issue happens in 2.19.1, likely it is somethig else. jglick could you please update the issue status?

          satish k added a comment -

          i had made an alternative solution for this..

          satish k added a comment - i had made an alternative solution for this..

            jglick Jesse Glick
            klou Kurt
            Votes:
            9 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: