-
Bug
-
Resolution: Fixed
-
Major
-
Powered by SuggestiMate
gradle plugin version: 1.22, conditional-buildstep: 1.2.2
Status Code: 500
Exception: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["0","0","8"],"condition":
{"stapler-class":"org.jenkins_ci.plugins.run_condition.core.AlwaysRun"},"runner":
{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.gradle.Gradle","useWrapper":
{"value":"false","gradleName":"(Default)"},"description":"","switches":"","tasks":"","rootBuildScriptDir":"","buildFile":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"}
Stacktrace:
javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["0","0","8"],"condition":
,"runner":
{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.gradle.Gradle","useWrapper":
{"value":"false","gradleName":"(Default)"},"description":"","switches":"","tasks":"","rootBuildScriptDir":"","buildFile":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"}
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:719)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:583)
at org.kohsuke.stapler.Stapler.service(Stapler.java:214)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:594)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1366)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
at com.marvelution.hudson.plugins.apiv2.servlet.filter.HudsonAPIV2ServletFilter.doFilter(HudsonAPIV2ServletFilter.java:112)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
at org.jenkinsci.plugins.reverse_proxy_auth.ReverseProxySecurityRealm$1.doFilter(ReverseProxySecurityRealm.java:92)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:499)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:351)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:857)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["0","0","8"],"condition":
,"runner":
{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.gradle.Gradle","useWrapper":
{"value":"false","gradleName":"(Default)"},"description":"","switches":"","tasks":"","rootBuildScriptDir":"","buildFile":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"}
at hudson.model.Descriptor.newInstance(Descriptor.java:602)
at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:941)
at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:926)
at hudson.util.DescribableList.rebuildHetero(DescribableList.java:203)
at hudson.model.Project.submit(Project.java:200)
at hudson.model.Job.doConfigSubmit(Job.java:1076)
at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:758)
at sun.reflect.GeneratedMethodAccessor804.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
... 59 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["0","0","8"],"condition":
,"runner":
{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.gradle.Gradle","useWrapper":
{"value":"false","gradleName":"(Default)"},"description":"","switches":"","tasks":"","rootBuildScriptDir":"","buildFile":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:596)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:391)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:387)
at hudson.model.Descriptor.newInstance(Descriptor.java:593)
... 74 more
Caused by: java.lang.IllegalArgumentException: Failed to convert the buildStep parameter of the constructor public org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder(hudson.tasks.BuildStep,org.jenkins_ci.plugins.run_condition.RunCondition,org.jenkins_ci.plugins.run_condition.BuildStepRunner)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:590)
... 77 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate interface hudson.tasks.BuildStep from {"stapler-class":"hudson.plugins.gradle.Gradle","useWrapper":
,"description":"","switches":"","tasks":"","rootBuildScriptDir":"","buildFile":""}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:596)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:391)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:588)
... 77 more
Caused by: java.lang.IllegalArgumentException: Failed to convert the useWrapper parameter of the constructor public hudson.plugins.gradle.Gradle(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:590)
... 79 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate boolean from
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:596)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:391)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:588)
... 79 more
Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of boolean
at org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames(ClassDescriptor.java:176)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:575)
... 81 more
- depends on
-
JENKINS-20262 Fix for JENKINS-18629 caused a regression in several plugins
-
- Open
-
- is blocking
-
JENKINS-15445 DefaultBuilderDescriptorLister should not check buildstep class for @DataBoundConstructor
-
- Reopened
-
-
JENKINS-16259 xUnit publisher not showing into conditional build steps
-
- Resolved
-
[JENKINS-18629] Jenkins fails to save configuration when using Invoke Gradle script in Conditional Step (single).
Same problem here when using with "Execute Groovy Script", "Execute System Groovy Script" and "Editable email notification".
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/pom.xml
core/src/main/java/hudson/model/Descriptor.java
test/src/test/java/hudson/model/DescriptorTest.java
http://jenkins-ci.org/commit/jenkins/d15c15506e8aaa757983a71c868ed58e0fd48827
Log:
[FIXED JENKINS-18629]
Consult Descriptor.newInstance() even when proccessing is in the middle
of JSON tree.
Code changed in jenkins
User: Jesse Glick
Path:
core/pom.xml
core/src/main/java/hudson/model/Descriptor.java
test/src/test/java/hudson/model/DescriptorTest.java
http://jenkins-ci.org/commit/jenkins/ed03fbbc9d7a939a75c80bc90da67a46c12bc994
Log:
Revert "[FIXED JENKINS-18629]"
This reverts commit d15c15506e8aaa757983a71c868ed58e0fd48827.
Integrated in jenkins_main_trunk #2928
Revert "[FIXED JENKINS-18629]" (Revision ed03fbbc9d7a939a75c80bc90da67a46c12bc994)
Result = SUCCESS
Jesse Glick : ed03fbbc9d7a939a75c80bc90da67a46c12bc994
Files :
- core/pom.xml
- core/src/main/java/hudson/model/Descriptor.java
- test/src/test/java/hudson/model/DescriptorTest.java
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/pom.xml
core/src/main/java/hudson/model/Descriptor.java
test/src/test/java/hudson/model/DescriptorTest.java
http://jenkins-ci.org/commit/jenkins/c01333c346176c93e8cbf93b5822978d8d2c0bff
Log:
[FIXED JENKINS-18629]
Consult Descriptor.newInstance() even when proccessing is in the middle
of JSON tree.
(cherry picked from commit d15c15506e8aaa757983a71c868ed58e0fd48827)
Integrated in jenkins_main_trunk #2942
[FIXED JENKINS-18629] (Revision c01333c346176c93e8cbf93b5822978d8d2c0bff)
Result = UNSTABLE
kohsuke : c01333c346176c93e8cbf93b5822978d8d2c0bff
Files :
- core/pom.xml
- test/src/test/java/hudson/model/DescriptorTest.java
- core/src/main/java/hudson/model/Descriptor.java
Saving configuration cause exception as fllows after applying this change.
javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {"value":"2","userRemoteConfigs":{"url":"git://github.com/jenkinsci/jenkins.git","name":"","refspec":""},"branches":{"name":"master"},"includedRegions":"","excludedRegions":"changelog.html","excludedUsers":"","localBranch":"","relativeTargetDir":"","reference":"","scmName":"","gitConfigName":"","gitConfigEmail":"","pruneBranches":false,"skipTag":false,"clean":false,"remotePoll":false,"disableSubmodules":false,"recursiveSubmodules":false,"authorOrCommitter":false,"wipeOutWorkspace":false,"ignoreNotifyCommit":false,"useShallowClone":false,"":["hudson.plugins.git.util.DefaultBuildChooser","7"],"buildChooser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.util.DefaultBuildChooser"},"gitTool":"Default","browser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.browser.GithubWeb","url":"https://github.com/jenkinsci/jenkins/"}} at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:777) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:841) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:727) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:841) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:630) at org.kohsuke.stapler.Stapler.service(Stapler.java:224) at javax.servlet.http.HttpServlet.service(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:208) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:181) at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) 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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64) 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:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source) at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown Source) at org.apache.catalina.core.StandardContextValve.invoke(Unknown Source) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Unknown Source) at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source) at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown Source) at org.apache.catalina.core.StandardEngineValve.invoke(Unknown Source) at org.apache.catalina.connector.CoyoteAdapter.service(Unknown Source) at org.apache.coyote.ajp.AjpAprProcessor.process(Unknown Source) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Unknown Source) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {"value":"2","userRemoteConfigs":{"url":"git://github.com/jenkinsci/jenkins.git","name":"","refspec":""},"branches":{"name":"master"},"includedRegions":"","excludedRegions":"changelog.html","excludedUsers":"","localBranch":"","relativeTargetDir":"","reference":"","scmName":"","gitConfigName":"","gitConfigEmail":"","pruneBranches":false,"skipTag":false,"clean":false,"remotePoll":false,"disableSubmodules":false,"recursiveSubmodules":false,"authorOrCommitter":false,"wipeOutWorkspace":false,"ignoreNotifyCommit":false,"useShallowClone":false,"":["hudson.plugins.git.util.DefaultBuildChooser","7"],"buildChooser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.util.DefaultBuildChooser"},"gitTool":"Default","browser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.browser.GithubWeb","url":"https://github.com/jenkinsci/jenkins/"}} at hudson.model.Descriptor.newInstance(Descriptor.java:578) at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1498) at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1419) at hudson.scm.SCMS.parseSCM(SCMS.java:63) at hudson.model.AbstractProject.submit(AbstractProject.java:2002) at hudson.maven.MavenModuleSet.submit(MavenModuleSet.java:1137) at hudson.model.Job.doConfigSubmit(Job.java:1136) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:787) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:297) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:160) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:95) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:727) ... 63 more Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {"value":"2","userRemoteConfigs":{"url":"git://github.com/jenkinsci/jenkins.git","name":"","refspec":""},"branches":{"name":"master"},"includedRegions":"","excludedRegions":"changelog.html","excludedUsers":"","localBranch":"","relativeTargetDir":"","reference":"","scmName":"","gitConfigName":"","gitConfigEmail":"","pruneBranches":false,"skipTag":false,"clean":false,"remotePoll":false,"disableSubmodules":false,"recursiveSubmodules":false,"authorOrCommitter":false,"wipeOutWorkspace":false,"ignoreNotifyCommit":false,"useShallowClone":false,"":["hudson.plugins.git.util.DefaultBuildChooser","7"],"buildChooser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.util.DefaultBuildChooser"},"gitTool":"Default","browser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.browser.GithubWeb","url":"https://github.com/jenkinsci/jenkins/"}} at hudson.model.Descriptor.newInstance(Descriptor.java:578) at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1498) at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1419) at hudson.model.Descriptor$1.instantiate(Descriptor.java:1046) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:665) at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:81) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:587) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:396) at hudson.model.Descriptor.newInstance(Descriptor.java:569) ... 80 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.git.GitSCM from {"value":"2","userRemoteConfigs":{"url":"git://github.com/jenkinsci/jenkins.git","name":"","refspec":""},"branches":{"name":"master"},"includedRegions":"","excludedRegions":"changelog.html","excludedUsers":"","localBranch":"","relativeTargetDir":"","reference":"","scmName":"","gitConfigName":"","gitConfigEmail":"","pruneBranches":false,"skipTag":false,"clean":false,"remotePoll":false,"disableSubmodules":false,"recursiveSubmodules":false,"authorOrCommitter":false,"wipeOutWorkspace":false,"ignoreNotifyCommit":false,"useShallowClone":false,"":["hudson.plugins.git.util.DefaultBuildChooser","7"],"buildChooser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.util.DefaultBuildChooser"},"gitTool":"Default","browser":{"stapler-class<span class="code-quote">":"hudson.plugins.git.browser.GithubWeb","url":"https://github.com/jenkinsci/jenkins/"}} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:396) at hudson.model.Descriptor.newInstance(Descriptor.java:569) ... 89 more Caused by: java.lang.IllegalArgumentException: Failed to convert the browser parameter of the constructor public hudson.plugins.git.GitSCM(java.lang.String,java.util.List,java.util.List,hudson.plugins.git.UserMergeOptions,java.lang.Boolean,java.util.Collection,boolean,boolean,hudson.plugins.git.util.BuildChooser,hudson.plugins.git.browser.GitRepositoryBrowser,java.lang.String,boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean,boolean,java.lang.String,java.lang.String,boolean,java.lang.String,boolean,boolean) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:686) at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:81) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:587) ... 92 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.git.browser.GitRepositoryBrowser from {"stapler-class":"hudson.plugins.git.browser.GithubWeb","url":"https://github.com/jenkinsci/jenkins/"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:684) ... 94 more Caused by: java.lang.IllegalArgumentException: java.net.MalformedURLException at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:462) at org.kohsuke.stapler.RequestImpl.bindParameters(RequestImpl.java:392) at org.kohsuke.stapler.RequestImpl.bindParameters(RequestImpl.java:363) at hudson.plugins.git.browser.GithubWeb$GithubWebDescriptor.newInstance(GithubWeb.java:104) at hudson.plugins.git.browser.GithubWeb$GithubWebDescriptor.newInstance(GithubWeb.java:96) at hudson.model.Descriptor$1.instantiate(Descriptor.java:1046) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:665) at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:81) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:587) ... 96 more Caused by: java.net.MalformedURLException at java.net.URL.<init>(URL.java:601) at java.net.URL.<init>(URL.java:464) at java.net.URL.<init>(URL.java:413) at hudson.plugins.git.browser.GithubWeb.<init>(GithubWeb.java:29) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:447) ... 104 more
I'm using 1.536-SNAPSHOT(git master).
After roll-back [1] , works fine.
[1]https://github.com/jenkinsci/jenkins/commit/c01333c346176c93e8cbf93b5822978d8d2c0bff
I still get the error after upgrading to 1.535 (release version).
The stack trace is:
javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["2","0","4"],"condition":{"stapler-class":"org.jenkins_ci.plugins.run_condition.core.BooleanCondition","token":"${ENV,var=\"email_report\"}"},"runner":{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable\ncurrentBuild.setDescription(\"Email was sent\")"},"bindings":"","classpath":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"} at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:239) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:685) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:587) at org.kohsuke.stapler.Stapler.service(Stapler.java:218) 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:96) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) 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.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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:198) 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.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.jenkinsci.plugins.cas.spring.security.CasSingleSignOutFilter.doFilter(CasSingleSignOutFilter.java:39) 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.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) 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: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:724) Caused by: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["2","0","4"],"condition":{"stapler-class":"org.jenkins_ci.plugins.run_condition.core.BooleanCondition","token":"${ENV,var=\"email_report\"}"},"runner":{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable\ncurrentBuild.setDescription(\"Email was sent\")"},"bindings":"","classpath":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"} at hudson.model.Descriptor.newInstance(Descriptor.java:576) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:914) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:899) at hudson.util.DescribableList.rebuildHetero(DescribableList.java:203) at hudson.model.Project.submit(Project.java:207) at hudson.model.Job.doConfigSubmit(Job.java:1136) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:787) 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:297) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:160) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:95) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:685) ... 78 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["2","0","4"],"condition":{"stapler-class":"org.jenkins_ci.plugins.run_condition.core.BooleanCondition","token":"${ENV,var=\"email_report\"}"},"runner":{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable\ncurrentBuild.setDescription(\"Email was sent\")"},"bindings":"","classpath":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:597) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:392) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:388) at hudson.model.Descriptor.newInstance(Descriptor.java:567) ... 94 more Caused by: java.lang.IllegalArgumentException: Failed to convert the buildStep parameter of the constructor public org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder(hudson.tasks.BuildStep,org.jenkins_ci.plugins.run_condition.RunCondition,org.jenkins_ci.plugins.run_condition.BuildStepRunner) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:591) ... 97 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate interface hudson.tasks.BuildStep from {"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable\ncurrentBuild.setDescription(\"Email was sent\")"},"bindings":"","classpath":""} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:597) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:392) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589) ... 97 more Caused by: java.lang.IllegalArgumentException: Failed to convert the scriptSource parameter of the constructor public hudson.plugins.groovy.SystemGroovy(hudson.plugins.groovy.ScriptSource,java.lang.String,java.lang.String) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:591) ... 99 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate interface hudson.plugins.groovy.ScriptSource from {"value":"0","command":"def currentBuild = Thread.currentThread().executable\ncurrentBuild.setDescription(\"Email was sent\")"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:597) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:392) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589) ... 99 more Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of interface hudson.plugins.groovy.ScriptSource at org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames(ClassDescriptor.java:176) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:576) ... 101 more
Reopening since it's still present in 1.535, and it doesn't look like there are any unreleased fixes in this area.
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
http://jenkins-ci.org/commit/jenkins/4488e6c6544721d22370df5fdb5770caf82e6efb
Log:
JENKINS-18629 Noting retroactively.
@mwebber: 1.535 does not include the fix. It is in 1.536. @sogabe: your error is actually different from the originally reported one, though it does look related. GithubWeb is perhaps being passed a null URL? You seem to be running Java 6, which does not report the root exception; Java 7 would have included a more helpful cause.
BTW has anyone checked this in 1.509.4? I fear that the fix of JENKINS-19168, which was backported, may have included the Stapler update responsible for the regression.
Integrated in jenkins_main_trunk #2953
JENKINS-18629 Noting retroactively. (Revision 4488e6c6544721d22370df5fdb5770caf82e6efb)
Result = UNSTABLE
Jesse Glick : 4488e6c6544721d22370df5fdb5770caf82e6efb
Files :
- changelog.html
@jglick you are right.
After applying this changes, GithubWebDescriptor#newInstance seems to be invoked, instead of Descriptor#newInstance. The result is that newInstance throws NPE.
GithubWebDescriptor#newInstance
public GithubWeb newInstance(StaplerRequest req, JSONObject jsonObject) throws FormException { Return req. bindParameters (GithubWeb. class, "githubweb."); // "githubweb." ? }
should be
public GithubWeb newInstance(StaplerRequest req, JSONObject jsonObject) throws FormException { return req.bindJSON(GithubWeb.class, jsonObject); }
or remove it and deligate to Descriptor#newInstance.
I think this is true for BitbucketWeb, CGit, GitLab and so on. I'll file a new ticket.
@sogabe so I guess this ticket can be reclosed and you will link to whatever you file?
The similar JENKINS-20186 is not reproducible in 1.509.4 so I guess the regression was not backported.
It seems some similar issue might still be occurring in 1.536, see JENKINS-20198. I am not overriding newInstance in my descriptor, so it should be doing the correct thing.
Will file a new issue regarding the regression in behavior that this fix introduced.
1.509.4 should be immune from the regression if all it did was to include the new stapler release. For the problem to occur it needs c01333c346176c93e8cbf93b5822978d8d2c0bff.
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
core/src/main/java/hudson/model/Descriptor.java
test/src/test/java/hudson/model/DescriptorTest.java
http://jenkins-ci.org/commit/jenkins/b3225944d127412a21e9763394bd90a1c870adcf
Log:
Revert "[FIXED JENKINS-18629]"
This reverts commit c01333c346176c93e8cbf93b5822978d8d2c0bff.
See
https://issues.jenkins-ci.org/browse/JENKINS-20262?focusedCommentId=188404&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-188404
for the discussion why this should be reverted.
Conflicts:
core/pom.xml
Integrated in jenkins_main_trunk #2982
Revert "[FIXED JENKINS-18629]" (Revision b3225944d127412a21e9763394bd90a1c870adcf)
Result = SUCCESS
kohsuke : b3225944d127412a21e9763394bd90a1c870adcf
Files :
- test/src/test/java/hudson/model/DescriptorTest.java
- core/src/main/java/hudson/model/Descriptor.java
So I guess this is open again? Or has it already been fixed downstream in the Gradle plugin?
I just installed 1.538 and the problem is still there. Stack trace below.
Stack trace javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["2","0","4"],"condition":{"stapler-class":"org.jenkins_ci.plugins.run_condition.core.BooleanCondition","token":"${ENV,var=\"email_report\"}"},"runner":{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable"},"bindings":"","classpath":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"} at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:777) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:841) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:727) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:841) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:630) at org.kohsuke.stapler.Stapler.service(Stapler.java:224) 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:96) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88) 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.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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:198) 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.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.jenkinsci.plugins.cas.spring.security.CasSingleSignOutFilter.doFilter(CasSingleSignOutFilter.java:39) 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.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) 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: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:744) Caused by: java.lang.RuntimeException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["2","0","4"],"condition":{"stapler-class":"org.jenkins_ci.plugins.run_condition.core.BooleanCondition","token":"${ENV,var=\"email_report\"}"},"runner":{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable"},"bindings":"","classpath":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"} at hudson.model.Descriptor.newInstance(Descriptor.java:576) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:914) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:899) at hudson.util.DescribableList.rebuildHetero(DescribableList.java:203) at hudson.model.Project.submit(Project.java:207) at hudson.model.Job.doConfigSubmit(Job.java:1136) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:788) 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:297) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:160) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:95) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:727) ... 78 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder from {"":["2","0","4"],"condition":{"stapler-class":"org.jenkins_ci.plugins.run_condition.core.BooleanCondition","token":"${ENV,var=\"email_report\"}"},"runner":{"stapler-class":"org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail"},"buildStep":{"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable"},"bindings":"","classpath":""},"stapler-class":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder","kind":"org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:396) at hudson.model.Descriptor.newInstance(Descriptor.java:567) ... 94 more Caused by: java.lang.IllegalArgumentException: Failed to convert the buildStep parameter of the constructor public org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder(hudson.tasks.BuildStep,org.jenkins_ci.plugins.run_condition.RunCondition,org.jenkins_ci.plugins.run_condition.BuildStepRunner) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:686) at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:81) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:587) ... 97 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate interface hudson.tasks.BuildStep from {"stapler-class":"hudson.plugins.groovy.SystemGroovy","scriptSource":{"value":"0","command":"def currentBuild = Thread.currentThread().executable"},"bindings":"","classpath":""} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:684) ... 99 more Caused by: java.lang.IllegalArgumentException: Failed to convert the scriptSource parameter of the constructor public hudson.plugins.groovy.SystemGroovy(hudson.plugins.groovy.ScriptSource,java.lang.String,java.lang.String) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:686) at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:81) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:587) ... 101 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate interface hudson.plugins.groovy.ScriptSource from {"value":"0","command":"def currentBuild = Thread.currentThread().executable"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:684) ... 103 more Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of interface hudson.plugins.groovy.ScriptSource at org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames(ClassDescriptor.java:176) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:671) at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:81) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:587) ... 105 more
Note on my above comment, the exception occurred when I tried to add a "Execute System Groovy Script" build within a Conditional Step (not Gradle Script as per the original report). Should I open a separate ticket for this.
I placed a PR: https://github.com/jenkinsci/gradle-plugin/pull/20
Code changed in jenkins
User: imod
Path:
pom.xml
src/main/java/hudson/plugins/gradle/Gradle.java
src/main/resources/hudson/plugins/gradle/Gradle/config.jelly
http://jenkins-ci.org/commit/gradle-plugin/f4319ad6130bfbd6b1312577b1f10a2d944e10cf
Log:
[FIXED JENKINS-18629] inline attribute instead of deprecated newInstance() call, this allows use Gradle in ConditionalBuildstep with DataBoundConstructor
Code changed in jenkins
User: Gregory Boissinot
Path:
pom.xml
src/main/java/hudson/plugins/gradle/Gradle.java
src/main/resources/hudson/plugins/gradle/Gradle/config.jelly
http://jenkins-ci.org/commit/gradle-plugin/1dac78bcda1a5e0145d2906eafb80c1ad636bf68
Log:
Merge pull request #20 from imod/JENKINS-18629
JENKINS-18629 - use Gradle in conditional-buildstep
Compare: https://github.com/jenkinsci/gradle-plugin/compare/c6365698b1a9...1dac78bcda1a
Hi,
It would be great if you could delivrer a new gradle-plugin release containing this fix.
Right now, we can use Jenkins + Gradle + Conditionnal BuildStep together.
Regards,
Code changed in jenkins
User: Nicolas De Loof
Path:
pom.xml
src/main/java/org/jenkinsci/plugins/conditionalbuildstep/lister/DefaultBuilderDescriptorLister.java
http://jenkins-ci.org/commit/conditional-buildstep-plugin/132178a305c0d8ece4bd58622811497745816667
Log:
[FIXED JENKINS-15445] rely on 1.536 so JENKINS-18629 doesn’t prevent BuildStep without a @DataBoundConstructor to be used.
ndeloof how come this can now be marked as fixed, as on other places we communicated this will not be fixed, see JENKINS-20262
It appears that this might still be an issue. I have installed Gradle Plugin 1.24 and I am getting this error in Hudson Build 3.3.0. Any suggestion. I see this is for Jenkin's but Hudson link takes me here.
Don.
You'll want to contact the Hudson developers. This is specific to Jenkins. Hudson and Jenkins have diverged a great deal since the split.
Actually this seems like a pure gradle plugin issue.
The class 'hudson.plugins.gradle.Gradle' defines a DataBoundConstuctor AND its descriptor also defines a newInstance() method.
Although this seems to work for the plugin itself, I think this against the contract/convention.
The condiontional-buildstep plugin only allows to add build steps which provide a DataBoundConstructor, because in the creation via the newInstance() method does not work in this usecase. I'm afraid, but the Gradle plugin should make the decision whether to provide the DataBoundConstructor or the newInstance() method - but NOT both.