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

NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core
    • Jenkins ver. 1.637, Jenkins ver. 1.638, Jenkins ver. 1.639
      Plugin ver. 0.53

      When changing the configuration for a job that includes a parameter provided by the plugin, the following stack trace is shown after saving, and the job is not updated.
      This is preventing any job using an Extended Choice Parameter to be reconfigured.

      Error while serving https://[redacted]:8080/job/Deploy/job/Staging/configSubmit
      java.lang.reflect.InvocationTargetException
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      	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$6.doDispatch(MetaClass.java:249)
      	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$6.doDispatch(MetaClass.java:249)
      	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.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 hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:123)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49)
      	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: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.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:240)
      	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:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.model.ParametersDefinitionProperty from {"specified":true,"parameterDefinitions":[{"name":"REVISION","defaultValue":"","description":"","stapler-class<span class="code-quote">":"hudson.model.StringParameterDefinition","$class<span class="code-quote">":"hudson.model.StringParameterDefinition"},{"name":"COUNTRIES","description":"","parameterGroup":{"value":"0","type":"PT_CHECKBOX","visibleItemCount":"20","multiSelectDelimiter":" ","quoteValue":false,"propertySource":{"value":"0","propertyValue":"ae,at,au,de,fr,it,nl,sg"},"defaultPropertySource":{"value":"0","defaultPropertyValue":"ae,at,au,de,fr,it,nl,sg"}},"stapler-class<span class="code-quote">":"com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition","$class<span class="code-quote">":"com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition"}]}
      	at hudson.model.Descriptor.newInstance(Descriptor.java:586)
      	at hudson.model.JobPropertyDescriptor.newInstance(JobPropertyDescriptor.java:72)
      	at jenkins.model.OptionalJobProperty$OptionalJobPropertyDescriptor.newInstance(OptionalJobProperty.java:56)
      	at hudson.model.JobProperty.reconfigure(JobProperty.java:184)
      	at hudson.model.JobProperty.reconfigure(JobProperty.java:78)
      	at hudson.util.DescribableList.rebuild(DescribableList.java:175)
      	at hudson.model.Job.doConfigSubmit(Job.java:1202)
      	at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:796)
      	... 77 more
      Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.model.ParametersDefinitionProperty from {"specified":true,"parameterDefinitions":[{"name":"REVISION","defaultValue":"","description":"","stapler-class<span class="code-quote">":"hudson.model.StringParameterDefinition","$class<span class="code-quote">":"hudson.model.StringParameterDefinition"},{"name":"COUNTRIES","description":"","parameterGroup":{"value":"0","type":"PT_CHECKBOX","visibleItemCount":"20","multiSelectDelimiter":" ","quoteValue":false,"propertySource":{"value":"0","propertyValue":"ae,at,au,de,fr,it,nl,sg"},"defaultPropertySource":{"value":"0","defaultPropertyValue":"ae,at,au,de,fr,it,nl,sg"}},"stapler-class<span class="code-quote">":"com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition","$class<span class="code-quote">":"com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition"}]}
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:602)
      	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:404)
      	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)
      	at hudson.model.Descriptor.newInstance(Descriptor.java:577)
      	... 84 more
      Caused by: java.lang.IllegalArgumentException: Failed to convert the parameterDefinitions parameter of the constructor public hudson.model.ParametersDefinitionProperty(java.util.List)
      	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:699)
      	at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:81)
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:600)
      	... 87 more
      Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.model.ParameterDefinition from {"name":"COUNTRIES","description":"","parameterGroup":{"value":"0","type":"PT_CHECKBOX","visibleItemCount":"20","multiSelectDelimiter":" ","quoteValue":false,"propertySource":{"value":"0","propertyValue":"ae,at,au,de,fr,it,nl,sg"},"defaultPropertySource":{"value":"0","defaultPropertyValue":"ae,at,au,de,fr,it,nl,sg"}},"stapler-class<span class="code-quote">":"com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition","$class<span class="code-quote">":"com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition"}
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:602)
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:647)
      	at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:404)
      	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:697)
      	... 89 more
      Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition
      	at org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames(ClassDescriptor.java:177)
      	at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:684)
      	at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:81)
      	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:600)
      	... 92 more
      
      

          [JENKINS-31458] NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition

          I have the same problem.

          Tomas Skalicky added a comment - I have the same problem.

          Steve Haworth added a comment - - edited

          It has stopped me deploying this plugin also, I also tried an earlier version of the plugin 0.44, the result was the same.
          So it might be a change in core jenkins code which has an impact with this plugin?
          I haven't been able to roll back jenkins to check this out though.

          Steve Haworth added a comment - - edited It has stopped me deploying this plugin also, I also tried an earlier version of the plugin 0.44, the result was the same. So it might be a change in core jenkins code which has an impact with this plugin? I haven't been able to roll back jenkins to check this out though.

          We keep jenkins always up-to-date, but since we didn't edit/create jobs so often I can't tell exactly which version broke the plugin. I can roughly assume it's something released in the last 4 weeks.

          Giuseppe Iannello added a comment - We keep jenkins always up-to-date, but since we didn't edit/create jobs so often I can't tell exactly which version broke the plugin. I can roughly assume it's something released in the last 4 weeks.

          Max Burdge added a comment -

          Same problem after upgrading to Jenkins 1.638. Using Extended Choice Parameters 0.52.

          Max Burdge added a comment - Same problem after upgrading to Jenkins 1.638. Using Extended Choice Parameters 0.52.

          Roberto Sena added a comment - - edited

          I am having the same issue. I was using version 1.634 and was still able to save jobs that had Extended Choice Parameters in the job. After the upgrade to 1.638 I am not able to save any jobs.
          I am in the middle of migrating from an old build tool to Jenkins and this is causing an all halt on that migration.

          Roberto Sena added a comment - - edited I am having the same issue. I was using version 1.634 and was still able to save jobs that had Extended Choice Parameters in the job. After the upgrade to 1.638 I am not able to save any jobs. I am in the middle of migrating from an old build tool to Jenkins and this is causing an all halt on that migration.

          Also affected after the uprade to 1.638. The only workaround seems to be to edit the job's configuration file manually.

          Can we get some feedback on when this is expected to be fixed, and/or if it's actually being worked on?

          Aleksandr Sidorenko added a comment - Also affected after the uprade to 1.638. The only workaround seems to be to edit the job's configuration file manually. Can we get some feedback on when this is expected to be fixed, and/or if it's actually being worked on?

          Reverting to 1.636 avoids the issue, but this is far from satisfactory since 1.638 was released to correct major security flaws.

          This is not advisable if you run a publicly accessible server. Let's hope this bug is fixed soon, or that a good workaround is found.

          Aleksandr Sidorenko added a comment - Reverting to 1.636 avoids the issue, but this is far from satisfactory since 1.638 was released to correct major security flaws. This is not advisable if you run a publicly accessible server. Let's hope this bug is fixed soon, or that a good workaround is found.

          Dave Taddei added a comment -

          Also observed on Jenkins 1.638 as of 16/11/2015

          Dave Taddei added a comment - Also observed on Jenkins 1.638 as of 16/11/2015

          I just started using this plugin but unfortunately this bug prevents me from doing anything with it. I'm using the most current version of Jenkins (1.638).

          Christian Becker added a comment - I just started using this plugin but unfortunately this bug prevents me from doing anything with it. I'm using the most current version of Jenkins (1.638).

          Dave Taddei added a comment -

          The only work around at the moment is to edit the job config.xml directly which obviously is not ideal.

          Dave Taddei added a comment - The only work around at the moment is to edit the job config.xml directly which obviously is not ideal.

          Rich Skorski added a comment -

          Not knowing much about creating Jenkins plugins, I think the logs suggest that the ExtendedChoiceParameterDefinition ctor needs a //@DataBoundConstructor tag. That comment would go on this line in the source:
          https://github.com/jenkinsci/extended-choice-parameter-plugin/blob/master/src/main/java/com/cwctravel/hudson/plugins/extended_choice_parameter/ExtendedChoiceParameterDefinition.java#L400

          I tried fixing and testing this locally following the Jenkins Plugin tutorial
          https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial

          I didn't get to far, though. My test Jenkins server saw my local build of the plugin and had it installed, but I don't get "Extended Choice Parameter" as an option when I go to add parameters to a job, with or without my suggested change.

          If anyone has an idea what may be wrong with my test setup or already knows how to set up a test env correctly and can test this change, please speak up!

          Rich Skorski added a comment - Not knowing much about creating Jenkins plugins, I think the logs suggest that the ExtendedChoiceParameterDefinition ctor needs a //@DataBoundConstructor tag. That comment would go on this line in the source: https://github.com/jenkinsci/extended-choice-parameter-plugin/blob/master/src/main/java/com/cwctravel/hudson/plugins/extended_choice_parameter/ExtendedChoiceParameterDefinition.java#L400 I tried fixing and testing this locally following the Jenkins Plugin tutorial https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial I didn't get to far, though. My test Jenkins server saw my local build of the plugin and had it installed, but I don't get "Extended Choice Parameter" as an option when I go to add parameters to a job, with or without my suggested change. If anyone has an idea what may be wrong with my test setup or already knows how to set up a test env correctly and can test this change, please speak up!

          Björn Pedersen added a comment - Duplicated by https://issues.jenkins-ci.org/browse/JENKINS-31733

          Björn Pedersen added a comment - Likely caused by https://github.com/jenkinsci/jenkins/pull/1888

          Noam Manos added a comment - - edited

          Another workaround is to use Dynamic Extended Choice Parameter plugin instead.

          If Dynamic Extended Choice Parameter plugin doesn't work for your needs, redeploy previous Jenkins WAR, for me 1.636 works:
          https://updates.jenkins-ci.org/download/war/1.636/jenkins.war
          (Replace the jenkins.war with it, and restart)

          Noam Manos added a comment - - edited Another workaround is to use Dynamic Extended Choice Parameter plugin instead. If Dynamic Extended Choice Parameter plugin doesn't work for your needs, redeploy previous Jenkins WAR, for me 1.636 works: https://updates.jenkins-ci.org/download/war/1.636/jenkins.war (Replace the jenkins.war with it, and restart)

          Going back to 1.636 is not an option, as 1.638 fixes some critical security bugs!

          Björn Pedersen added a comment - Going back to 1.636 is not an option, as 1.638 fixes some critical security bugs!

          Jesse Glick added a comment -

          This commit does not suffice. The newInstance override needs to be deleted and plain old form binding used in config.jelly rather than the complex customized code currently there. See ui-samples-plugin for conventional usage.

          The broader issue is that Descriptor.newInstance overrides are not supported by Stapler itself; this method is called only from certain places in Jenkins, but not generally for nested objects. The old ParametersDefinitionProperty.DescriptorImpl.newInstance happened to call Descriptor.newInstancesFromHeteroList, which does call Descriptor.newInstance on direct children, in this case ParameterDescriptor instances.

          Jesse Glick added a comment - This commit does not suffice. The newInstance override needs to be deleted and plain old form binding used in config.jelly rather than the complex customized code currently there. See ui-samples-plugin for conventional usage. The broader issue is that Descriptor.newInstance overrides are not supported by Stapler itself; this method is called only from certain places in Jenkins, but not generally for nested objects. The old ParametersDefinitionProperty.DescriptorImpl.newInstance happened to call Descriptor.newInstancesFromHeteroList , which does call Descriptor.newInstance on direct children , in this case ParameterDescriptor instances.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          multibranch/src/main/java/org/jenkinsci/plugins/workflow/multibranch/JobPropertyStep.java
          step-api/src/test/java/org/jenkinsci/plugins/workflow/steps/StepConfigTester.java
          http://jenkins-ci.org/commit/workflow-plugin/393aa3abca8e6fa974e4ae02ce30e96ab8f4c7c6
          Log:
          JENKINS-31458 Noting places where https://github.com/jenkinsci/jenkins/pull/1936 might allow for simplifications.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java multibranch/src/main/java/org/jenkinsci/plugins/workflow/multibranch/JobPropertyStep.java step-api/src/test/java/org/jenkinsci/plugins/workflow/steps/StepConfigTester.java http://jenkins-ci.org/commit/workflow-plugin/393aa3abca8e6fa974e4ae02ce30e96ab8f4c7c6 Log: JENKINS-31458 Noting places where https://github.com/jenkinsci/jenkins/pull/1936 might allow for simplifications.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java
          test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly
          http://jenkins-ci.org/commit/jenkins/c6f66be8df7974186e014681912bdfdec01bb123
          Log:
          JENKINS-31458 Reproduced problem in test (passes in 53c86ec but fails in 600b1f0).

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly http://jenkins-ci.org/commit/jenkins/c6f66be8df7974186e014681912bdfdec01bb123 Log: JENKINS-31458 Reproduced problem in test (passes in 53c86ec but fails in 600b1f0).

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/java/hudson/model/Descriptor.java
          core/src/main/java/hudson/model/Node.java
          test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java
          http://jenkins-ci.org/commit/jenkins/dca86078c36fbc8aeeefec22d8483c9e8bbcd986
          Log:
          [FIXED JENKINS-31458] Ensuring that Descriptor.newInstance is called even on nested objects.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/model/Node.java test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java http://jenkins-ci.org/commit/jenkins/dca86078c36fbc8aeeefec22d8483c9e8bbcd986 Log: [FIXED JENKINS-31458] Ensuring that Descriptor.newInstance is called even on nested objects.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          changelog.html
          core/src/main/java/hudson/model/Descriptor.java
          core/src/main/java/hudson/model/Node.java
          test/src/test/java/hudson/model/JobPropertyTest.java
          test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java
          test/src/test/java/hudson/slaves/NodePropertyTest.java
          test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly
          http://jenkins-ci.org/commit/jenkins/b8d4d2b49217e9b84c9eccc9eeae447c1f6459c1
          Log:
          JENKINS-31458 Noting merge of #1936.

          Compare: https://github.com/jenkinsci/jenkins/compare/7c9ba7011cb9...b8d4d2b49217

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/model/Node.java test/src/test/java/hudson/model/JobPropertyTest.java test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java test/src/test/java/hudson/slaves/NodePropertyTest.java test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly http://jenkins-ci.org/commit/jenkins/b8d4d2b49217e9b84c9eccc9eeae447c1f6459c1 Log: JENKINS-31458 Noting merge of #1936. Compare: https://github.com/jenkinsci/jenkins/compare/7c9ba7011cb9...b8d4d2b49217

          Jesse Glick added a comment -

          Fix should be in 1.640.

          Jesse Glick added a comment - Fix should be in 1.640.

          dogfood added a comment -

          Integrated in jenkins_main_trunk #4384
          JENKINS-31458 Reproduced problem in test (passes in 53c86ec but fails (Revision c6f66be8df7974186e014681912bdfdec01bb123)
          [FIXED JENKINS-31458] Ensuring that Descriptor.newInstance is called (Revision dca86078c36fbc8aeeefec22d8483c9e8bbcd986)

          Result = SUCCESS
          Jesse Glick : c6f66be8df7974186e014681912bdfdec01bb123
          Files :

          • test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly
          • test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java

          Jesse Glick : dca86078c36fbc8aeeefec22d8483c9e8bbcd986
          Files :

          • core/src/main/java/hudson/model/Descriptor.java
          • core/src/main/java/hudson/model/Node.java
          • test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java

          dogfood added a comment - Integrated in jenkins_main_trunk #4384 JENKINS-31458 Reproduced problem in test (passes in 53c86ec but fails (Revision c6f66be8df7974186e014681912bdfdec01bb123) [FIXED JENKINS-31458] Ensuring that Descriptor.newInstance is called (Revision dca86078c36fbc8aeeefec22d8483c9e8bbcd986) Result = SUCCESS Jesse Glick : c6f66be8df7974186e014681912bdfdec01bb123 Files : test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java Jesse Glick : dca86078c36fbc8aeeefec22d8483c9e8bbcd986 Files : core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/model/Node.java test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java

          Giuseppe Iannello added a comment - - edited

          Confirmed solved in 1.640 + Extended Choice Parameter v0.55
          Thanks!

          Giuseppe Iannello added a comment - - edited Confirmed solved in 1.640 + Extended Choice Parameter v0.55 Thanks!

          Paul D added a comment -

          Are you sure this has been fixed in 1.640?
          The problem still persists for me having 1.640 installed will all the latest plugin updates.

          Open a job configuration containing a ExtendedChoiceParameter field and click 'Save'.

          Paul D added a comment - Are you sure this has been fixed in 1.640? The problem still persists for me having 1.640 installed will all the latest plugin updates. Open a job configuration containing a ExtendedChoiceParameter field and click 'Save'.

          Jenkins ver. 1.640
          Extended Choice Parameter Plug-In 0.55 and 0.52

          Problem still reproduced.

          Vyacheslav Terdunov added a comment - Jenkins ver. 1.640 Extended Choice Parameter Plug-In 0.55 and 0.52 Problem still reproduced.

          Roberto Sena added a comment -

          I have updated to Jenkins ver. 1.640 and Extended Choice Parameter Plug-In ver 0.55 and I am able to save jobs successfully.
          I did see the error if I didnt have one the Radio button choices selected or have a value in the value field. I havent tried multiple combinations. Maybe it is only during specific use cases.

          Roberto Sena added a comment - I have updated to Jenkins ver. 1.640 and Extended Choice Parameter Plug-In ver 0.55 and I am able to save jobs successfully. I did see the error if I didnt have one the Radio button choices selected or have a value in the value field. I havent tried multiple combinations. Maybe it is only during specific use cases.

          Daniel Beck added a comment -

          jglick Comments indicate this isn't resolved after all.

          Daniel Beck added a comment - jglick Comments indicate this isn't resolved after all.

          Jesse Glick added a comment -

          Anyone still seeing this in 1.640, can you come up with steps to reproduce from scratch?

          Jesse Glick added a comment - Anyone still seeing this in 1.640, can you come up with steps to reproduce from scratch?

          dogfood added a comment -

          Integrated in jenkins_2.0 #5
          JENKINS-31458 Reproduced problem in test (passes in 53c86ec but fails (Revision c6f66be8df7974186e014681912bdfdec01bb123)
          [FIXED JENKINS-31458] Ensuring that Descriptor.newInstance is called (Revision dca86078c36fbc8aeeefec22d8483c9e8bbcd986)

          Result = SUCCESS
          jesse glick : c6f66be8df7974186e014681912bdfdec01bb123
          Files :

          • test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly
          • test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java

          jesse glick : dca86078c36fbc8aeeefec22d8483c9e8bbcd986
          Files :

          • core/src/main/java/hudson/model/Node.java
          • test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java
          • core/src/main/java/hudson/model/Descriptor.java

          dogfood added a comment - Integrated in jenkins_2.0 #5 JENKINS-31458 Reproduced problem in test (passes in 53c86ec but fails (Revision c6f66be8df7974186e014681912bdfdec01bb123) [FIXED JENKINS-31458] Ensuring that Descriptor.newInstance is called (Revision dca86078c36fbc8aeeefec22d8483c9e8bbcd986) Result = SUCCESS jesse glick : c6f66be8df7974186e014681912bdfdec01bb123 Files : test/src/test/resources/hudson/model/ParametersDefinitionPropertyTest/KrazyParameterDefinition/config.jelly test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java jesse glick : dca86078c36fbc8aeeefec22d8483c9e8bbcd986 Files : core/src/main/java/hudson/model/Node.java test/src/test/java/hudson/model/ParametersDefinitionPropertyTest.java core/src/main/java/hudson/model/Descriptor.java

          David Smith added a comment -

          I had this issue and it works for me after upgrading to 1.648

          David Smith added a comment - I had this issue and it works for me after upgrading to 1.648

          Code changed in jenkins
          User: Jesse Glick
          Path:
          cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java
          http://jenkins-ci.org/commit/workflow-cps-plugin/627d6f127a7d4632441aa3c613368403cf528372
          Log:
          JENKINS-31458 Noting places where https://github.com/jenkinsci/jenkins/pull/1936 might allow for simplifications.

          Originally-Committed-As: 393aa3abca8e6fa974e4ae02ce30e96ab8f4c7c6

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: cps/src/main/java/org/jenkinsci/plugins/workflow/cps/Snippetizer.java http://jenkins-ci.org/commit/workflow-cps-plugin/627d6f127a7d4632441aa3c613368403cf528372 Log: JENKINS-31458 Noting places where https://github.com/jenkinsci/jenkins/pull/1936 might allow for simplifications. Originally-Committed-As: 393aa3abca8e6fa974e4ae02ce30e96ab8f4c7c6

          Code changed in jenkins
          User: Jesse Glick
          Path:
          multibranch/src/main/java/org/jenkinsci/plugins/workflow/multibranch/JobPropertyStep.java
          http://jenkins-ci.org/commit/workflow-multibranch-plugin/f3a40cf79f89626a2c4cfabbbb126dfad903e687
          Log:
          JENKINS-31458 Noting places where https://github.com/jenkinsci/jenkins/pull/1936 might allow for simplifications.

          Originally-Committed-As: 393aa3abca8e6fa974e4ae02ce30e96ab8f4c7c6

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: multibranch/src/main/java/org/jenkinsci/plugins/workflow/multibranch/JobPropertyStep.java http://jenkins-ci.org/commit/workflow-multibranch-plugin/f3a40cf79f89626a2c4cfabbbb126dfad903e687 Log: JENKINS-31458 Noting places where https://github.com/jenkinsci/jenkins/pull/1936 might allow for simplifications. Originally-Committed-As: 393aa3abca8e6fa974e4ae02ce30e96ab8f4c7c6

            jglick Jesse Glick
            giuseppeiannello Giuseppe Iannello
            Votes:
            36 Vote for this issue
            Watchers:
            39 Start watching this issue

              Created:
              Updated:
              Resolved: