-
Bug
-
Resolution: Fixed
-
Blocker
-
JDK 1.8.0_25 x64 , Jenkins 1.611 & 1.610 - Performance Plugin Version 1.12
-
Powered by SuggestiMate
When adding the performance plugin to the post build steps and selecting a jmeter report saving will fail with a NoStaplerConstrucorException.
- is blocking
-
JENKINS-26781 regression resolving Descriptor using "$class" vs "kind"
-
- Resolved
-
- is duplicated by
-
JENKINS-28114 Update to 1.610 causing main Jenkins config page to throw
-
- Resolved
-
- links to
[JENKINS-28110] 1.610 “Failed to instantiate” error
Code changed in jenkins
User: Jesse Glick
Path:
core/src/main/resources/lib/form/class-entry.jelly
http://jenkins-ci.org/commit/jenkins/ef2b6580a8621a4a627ef015481d58bf4c83a682
Log:
[FIXED JENKINS-28110] Always generate stapler-class, even when generating kind.
Code changed in jenkins
User: Jesse Glick
Path:
test/src/test/java/hudson/model/DescriptorTest.java
test/src/test/resources/hudson/model/DescriptorTest/B1/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/B2/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D1/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D2/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D3/config.jelly
http://jenkins-ci.org/commit/jenkins/1f41bec8ef656da014b7145fdff82563c030ca29
Log:
JENKINS-28110 Reproduced problem in test.
Starting in 4f24a02 (1.587-SNAPSHOT, before #1443 or stapler #39), nestedDescribableOverridingId passes.
nestedDescribableSharingClass fails given
.
(Stapler has no way of interpreting kind since it knows nothing of Descriptor, only implementation class names.)
In master (3080573), both fail in the way reported (only kind is passed in).
After adding stapler-class back, nestedDescribableOverridingId passes again.
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
core/src/main/java/hudson/model/Descriptor.java
core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java
core/src/main/resources/lib/form/class-entry.jelly
test/src/test/java/hudson/model/DescriptorTest.java
test/src/test/resources/hudson/model/DescriptorTest/B1/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/B2/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D1/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D2/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D3/config.jelly
http://jenkins-ci.org/commit/jenkins/ca3b1db4d6f761861885d03355f35ccafe7cc425
Log:
JENKINS-28110 JENKINS-28093 Merging #1680.
Compare: https://github.com/jenkinsci/jenkins/compare/6dd379dd69c6...ca3b1db4d6f7
Code changed in jenkins
User: Jesse Glick
Path:
core/src/main/resources/lib/form/class-entry.jelly
http://jenkins-ci.org/commit/jenkins/2e51740fbeef363a888446846b497550d4d2981b
Log:
[FIXED JENKINS-28110] Always generate stapler-class, even when generating kind.
(cherry picked from commit ef2b6580a8621a4a627ef015481d58bf4c83a682)
Code changed in jenkins
User: Jesse Glick
Path:
test/src/test/java/hudson/model/DescriptorTest.java
test/src/test/resources/hudson/model/DescriptorTest/B1/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/B2/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D1/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D2/config.jelly
test/src/test/resources/hudson/model/DescriptorTest/D3/config.jelly
http://jenkins-ci.org/commit/jenkins/11d46ad639943feb9f17da5d4d1529cdfbd87495
Log:
JENKINS-28110 Reproduced problem in test.
Starting in 4f24a02 (1.587-SNAPSHOT, before #1443 or stapler #39), nestedDescribableOverridingId passes.
nestedDescribableSharingClass fails given
.
(Stapler has no way of interpreting kind since it knows nothing of Descriptor, only implementation class names.)
In master (3080573), both fail in the way reported (only kind is passed in).
After adding stapler-class back, nestedDescribableOverridingId passes again.
(cherry picked from commit 1f41bec8ef656da014b7145fdff82563c030ca29)
Sorry but i have the same problem in Jenkins v. 1.611
Stacktrace:
javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.performance.PerformancePublisher from {"parsers":{"glob":"result.xml","kind":"hudson.plugins.performance.JMeterParser$DescriptorImpl"},"modeOfThreshold":"false","errorUnstableThreshold":"0","errorFailedThreshold":"0","errorUnstableResponseTimeThreshold":"","relativeUnstableThresholdNegative":"0.0","relativeUnstableThresholdPositive":"0.0","relativeFailedThresholdNegative":"0.0","relativeFailedThresholdPositive":"0.0","compareBuildPrevious":"true","nthBuildNumber":"0","comparisonType":"ART","modePerformancePerTestCase":true,"modeThroughput":true,"stapler-class<span class="code-quote">":"hudson.plugins.performance.PerformancePublisher","$class<span class="code-quote">":"hudson.plugins.performance.PerformancePublisher"} at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) 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:123) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114) 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.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.plugins.performance.PerformancePublisher from {"parsers":{"glob":"result.xml","kind":"hudson.plugins.performance.JMeterParser$DescriptorImpl"},"modeOfThreshold":"false","errorUnstableThreshold":"0","errorFailedThreshold":"0","errorUnstableResponseTimeThreshold":"","relativeUnstableThresholdNegative":"0.0","relativeUnstableThresholdPositive":"0.0","relativeFailedThresholdNegative":"0.0","relativeFailedThresholdPositive":"0.0","compareBuildPrevious":"true","nthBuildNumber":"0","comparisonType":"ART","modePerformancePerTestCase":true,"modeThroughput":true,"stapler-class<span class="code-quote">":"hudson.plugins.performance.PerformancePublisher","$class<span class="code-quote">":"hudson.plugins.performance.PerformancePublisher"} at hudson.model.Descriptor.newInstance(Descriptor.java:579) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:929) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:903) at hudson.util.DescribableList.rebuildHetero(DescribableList.java:208) at hudson.model.Project.submit(Project.java:236) at hudson.model.Job.doConfigSubmit(Job.java:1206) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:788) at sun.reflect.GeneratedMethodAccessor1157.invoke(Unknown Source) 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) ... 67 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.performance.PerformancePublisher from {"parsers":{"glob":"result.xml","kind":"hudson.plugins.performance.JMeterParser$DescriptorImpl"},"modeOfThreshold":"false","errorUnstableThreshold":"0","errorFailedThreshold":"0","errorUnstableResponseTimeThreshold":"","relativeUnstableThresholdNegative":"0.0","relativeUnstableThresholdPositive":"0.0","relativeFailedThresholdNegative":"0.0","relativeFailedThresholdPositive":"0.0","compareBuildPrevious":"true","nthBuildNumber":"0","comparisonType":"ART","modePerformancePerTestCase":true,"modeThroughput":true,"stapler-class<span class="code-quote">":"hudson.plugins.performance.PerformancePublisher","$class<span class="code-quote">":"hudson.plugins.performance.PerformancePublisher"} 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:570) ... 82 more Caused by: java.lang.IllegalArgumentException: Failed to convert the parsers parameter of the constructor public hudson.plugins.performance.PerformancePublisher(int,int,java.lang.String,double,double,double,double,int,boolean,java.lang.String,boolean,boolean,java.util.List,boolean) 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) ... 85 more Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.performance.PerformanceReportParser from {"glob":"result.xml","kind":"hudson.plugins.performance.JMeterParser$DescriptorImpl"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:602) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:638) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:404) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:697) ... 87 more Caused by: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class hudson.plugins.performance.PerformanceReportParser 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) ... 90 more
@kefirkin
Yes, 1.611 was also affected. Please update to a newer version. Afaik the earliest version that contains the fix is 1.612
https://github.com/jenkinsci/jenkins/commit/1f41bec8ef656da014b7145fdff82563c030ca29
Integrated in jenkins_main_trunk #4292
[FIXED JENKINS-28110] Always generate stapler-class, even when generating kind. (Revision 2e51740fbeef363a888446846b497550d4d2981b)
JENKINS-28110 Reproduced problem in test. (Revision 11d46ad639943feb9f17da5d4d1529cdfbd87495)
Result = UNSTABLE
jesse glick : 2e51740fbeef363a888446846b497550d4d2981b
Files :
- core/src/main/resources/lib/form/class-entry.jelly
jesse glick : 11d46ad639943feb9f17da5d4d1529cdfbd87495
Files :
- test/src/test/resources/hudson/model/DescriptorTest/B2/config.jelly
- test/src/test/resources/hudson/model/DescriptorTest/D1/config.jelly
- test/src/test/java/hudson/model/DescriptorTest.java
- test/src/test/resources/hudson/model/DescriptorTest/D3/config.jelly
- test/src/test/resources/hudson/model/DescriptorTest/B1/config.jelly
- test/src/test/resources/hudson/model/DescriptorTest/D2/config.jelly
to Daniel: yes, 1.611 is also affected.
Sorry, I've missed the version number in the title.
In my case project uses both copy and performance plugins.
I'm confirming that rolling back to 1.609 resolves the issue.