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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: core
    • Labels:
    • Environment:
      Jenkins ver. 1.637, Jenkins ver. 1.638, Jenkins ver. 1.639
      Plugin ver. 0.53
    • Similar Issues:

      Description

      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
      
      

        Attachments

          Issue Links

            Activity

            Hide
            jglick Jesse Glick added a comment -

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

            Show
            jglick Jesse Glick added a comment - Anyone still seeing this in 1.640, can you come up with steps to reproduce from scratch?
            Hide
            dogfood 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
            Show
            dogfood 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
            Hide
            smith9 David Smith added a comment -

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

            Show
            smith9 David Smith added a comment - I had this issue and it works for me after upgrading to 1.648
            Hide
            scm_issue_link 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

            Show
            scm_issue_link 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
            Hide
            scm_issue_link 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

            Show
            scm_issue_link 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

              People

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

                Dates

                Created:
                Updated:
                Resolved: