Details
-
Bug
-
Status: Resolved (View Workflow)
-
Blocker
-
Resolution: Fixed
-
Jenkins ver. 1.637, Jenkins ver. 1.638, Jenkins ver. 1.639
Plugin ver. 0.53
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
- depends on
-
JENKINS-31954 StackOverflow in hudson.model.Descriptor$NewInstanceBindInterceptor.onConvert
-
- Resolved
-
- is duplicated by
-
JENKINS-31733 Extended Choice Parameter throw exception for Check Boxes type
-
- Resolved
-
- links to
Anyone still seeing this in 1.640, can you come up with steps to reproduce from scratch?