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

Javascript performance of build pipeline plugin is poor

      1. View your build pipeline
      2. Open your web console

      Expected:

      • One or two AJAX requests at a time

      Actual:

      • 1200+ were executing.

      Adding the ajax requests to a queue and aborting duplicates/using setTimeOut to delay execution by 50ms would fix this

          [JENKINS-22184] Javascript performance of build pipeline plugin is poor

          updateNextBuildAndShowProgress : function(id, nextBuildNumber, dependencies) {
          var buildPipeline = this;
          //try to get the updated build, that's not pending
          var intervalId = setInterval(function(){
          buildPipeline.buildProxies[id].updatePipelineBuild(nextBuildNumber, function(updated){
          if (updated.responseObject())

          { buildPipeline.showProgress(id, dependencies); clearInterval(intervalId); }

          });
          }, buildPipeline.refreshFrequency);
          },

          ... should be buildPipeline.refreshFrequency || someSaneDefault

          Daniel O'Connor added a comment - updateNextBuildAndShowProgress : function(id, nextBuildNumber, dependencies) { var buildPipeline = this; //try to get the updated build, that's not pending var intervalId = setInterval(function(){ buildPipeline.buildProxies [id] .updatePipelineBuild(nextBuildNumber, function(updated){ if (updated.responseObject()) { buildPipeline.showProgress(id, dependencies); clearInterval(intervalId); } }); }, buildPipeline.refreshFrequency); }, ... should be buildPipeline.refreshFrequency || someSaneDefault

          Also, with the refresh frequency = 0; the moment an error occurs things go ugly.

          It took a while, but here's exception that caused it to loop.

          Stack trace

          java.lang.IllegalArgumentException: Failed to instantiate int from {"cause":null,"localizedMessage":"","message":"","stackTrace":[

          {"className":"au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView","fileName":"BuildPipelineView.java","lineNumber":508,"methodName":"triggerBuild","nativeMethod":false}

          ,

          {"className":"au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView","fileName":"BuildPipelineView.java","lineNumber":411,"methodName":"triggerManualBuild","nativeMethod":false}

          ,

          {"className":"sun.reflect.NativeMethodAccessorImpl","fileName":"NativeMethodAccessorImpl.java","lineNumber":-2,"methodName":"invoke0","nativeMethod":true}

          ,

          {"className":"sun.reflect.NativeMethodAccessorImpl","fileName":"NativeMethodAccessorImpl.java","lineNumber":57,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"sun.reflect.DelegatingMethodAccessorImpl","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"java.lang.reflect.Method","fileName":"Method.java","lineNumber":606,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Function$InstanceFunction","fileName":"Function.java","lineNumber":298,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Function","fileName":"Function.java","lineNumber":161,"methodName":"bindAndInvoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Function","fileName":"Function.java","lineNumber":96,"methodName":"bindAndInvokeAndServeResponse","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher","fileName":"MetaClass.java","lineNumber":465,"methodName":"doDispatch","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.NameBasedDispatcher","fileName":"NameBasedDispatcher.java","lineNumber":53,"methodName":"dispatch","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":728,"methodName":"tryInvoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":858,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.MetaClass$12","fileName":"MetaClass.java","lineNumber":390,"methodName":"dispatch","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":728,"methodName":"tryInvoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":858,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":795,"methodName":"tryInvoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":858,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":631,"methodName":"invoke","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":186,"methodName":"service","nativeMethod":false}

          ,

          {"className":"javax.servlet.http.HttpServlet","fileName":"HttpServlet.java","lineNumber":848,"methodName":"service","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHolder","fileName":"ServletHolder.java","lineNumber":686,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1494,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.util.PluginServletFilter$1","fileName":"PluginServletFilter.java","lineNumber":96,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.plugins.greenballs.GreenBallFilter","fileName":"GreenBallFilter.java","lineNumber":58,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.util.PluginServletFilter$1","fileName":"PluginServletFilter.java","lineNumber":99,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.util.PluginServletFilter","fileName":"PluginServletFilter.java","lineNumber":88,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.security.csrf.CrumbFilter","fileName":"CrumbFilter.java","lineNumber":48,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.security.ChainedServletFilter$1","fileName":"ChainedServletFilter.java","lineNumber":84,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.security.ChainedServletFilter","fileName":"ChainedServletFilter.java","lineNumber":76,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.security.HudsonFilter","fileName":"HudsonFilter.java","lineNumber":164,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"org.kohsuke.stapler.compression.CompressionFilter","fileName":"CompressionFilter.java","lineNumber":46,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"hudson.util.CharacterEncodingFilter","fileName":"CharacterEncodingFilter.java","lineNumber":81,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1474,"methodName":"doFilter","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler","fileName":"ServletHandler.java","lineNumber":499,"methodName":"doHandle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.handler.ScopedHandler","fileName":"ScopedHandler.java","lineNumber":137,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.security.SecurityHandler","fileName":"SecurityHandler.java","lineNumber":533,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.session.SessionHandler","fileName":"SessionHandler.java","lineNumber":231,"methodName":"doHandle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.handler.ContextHandler","fileName":"ContextHandler.java","lineNumber":1086,"methodName":"doHandle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.servlet.ServletHandler","fileName":"ServletHandler.java","lineNumber":428,"methodName":"doScope","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.session.SessionHandler","fileName":"SessionHandler.java","lineNumber":193,"methodName":"doScope","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.handler.ContextHandler","fileName":"ContextHandler.java","lineNumber":1020,"methodName":"doScope","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.handler.ScopedHandler","fileName":"ScopedHandler.java","lineNumber":135,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.handler.HandlerWrapper","fileName":"HandlerWrapper.java","lineNumber":116,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.Server","fileName":"Server.java","lineNumber":370,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.AbstractHttpConnection","fileName":"AbstractHttpConnection.java","lineNumber":489,"methodName":"handleRequest","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.AbstractHttpConnection","fileName":"AbstractHttpConnection.java","lineNumber":960,"methodName":"content","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler","fileName":"AbstractHttpConnection.java","lineNumber":1021,"methodName":"content","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.http.HttpParser","fileName":"HttpParser.java","lineNumber":865,"methodName":"parseNext","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.http.HttpParser","fileName":"HttpParser.java","lineNumber":235,"methodName":"parseAvailable","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.server.AsyncHttpConnection","fileName":"AsyncHttpConnection.java","lineNumber":82,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.io.nio.SelectChannelEndPoint","fileName":"SelectChannelEndPoint.java","lineNumber":668,"methodName":"handle","nativeMethod":false}

          ,

          {"className":"org.eclipse.jetty.io.nio.SelectChannelEndPoint$1","fileName":"SelectChannelEndPoint.java","lineNumber":52,"methodName":"run","nativeMethod":false}

          ,

          {"className":"winstone.BoundedExecutorService$1","fileName":"BoundedExecutorService.java","lineNumber":77,"methodName":"run","nativeMethod":false}

          ,

          {"className":"java.util.concurrent.ThreadPoolExecutor","fileName":"ThreadPoolExecutor.java","lineNumber":1145,"methodName":"runWorker","nativeMethod":false}

          ,

          {"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":615,"methodName":"run","nativeMethod":false}

          ,

          {"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":724,"methodName":"run","nativeMethod":false}

          ],"suppressed":[]}at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589)at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:463)at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)at org.kohsuke.stapler.Stapler.service(Stapler.java:186)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.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:235)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: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of intat 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)... 53 more

          Daniel O'Connor added a comment - Also, with the refresh frequency = 0; the moment an error occurs things go ugly. It took a while, but here's exception that caused it to loop. Stack trace java.lang.IllegalArgumentException: Failed to instantiate int from {"cause":null,"localizedMessage":"","message":"","stackTrace":[ {"className":"au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView","fileName":"BuildPipelineView.java","lineNumber":508,"methodName":"triggerBuild","nativeMethod":false} , {"className":"au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView","fileName":"BuildPipelineView.java","lineNumber":411,"methodName":"triggerManualBuild","nativeMethod":false} , {"className":"sun.reflect.NativeMethodAccessorImpl","fileName":"NativeMethodAccessorImpl.java","lineNumber":-2,"methodName":"invoke0","nativeMethod":true} , {"className":"sun.reflect.NativeMethodAccessorImpl","fileName":"NativeMethodAccessorImpl.java","lineNumber":57,"methodName":"invoke","nativeMethod":false} , {"className":"sun.reflect.DelegatingMethodAccessorImpl","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"methodName":"invoke","nativeMethod":false} , {"className":"java.lang.reflect.Method","fileName":"Method.java","lineNumber":606,"methodName":"invoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Function$InstanceFunction","fileName":"Function.java","lineNumber":298,"methodName":"invoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Function","fileName":"Function.java","lineNumber":161,"methodName":"bindAndInvoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Function","fileName":"Function.java","lineNumber":96,"methodName":"bindAndInvokeAndServeResponse","nativeMethod":false} , {"className":"org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher","fileName":"MetaClass.java","lineNumber":465,"methodName":"doDispatch","nativeMethod":false} , {"className":"org.kohsuke.stapler.NameBasedDispatcher","fileName":"NameBasedDispatcher.java","lineNumber":53,"methodName":"dispatch","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":728,"methodName":"tryInvoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":858,"methodName":"invoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.MetaClass$12","fileName":"MetaClass.java","lineNumber":390,"methodName":"dispatch","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":728,"methodName":"tryInvoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":858,"methodName":"invoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":795,"methodName":"tryInvoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":858,"methodName":"invoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":631,"methodName":"invoke","nativeMethod":false} , {"className":"org.kohsuke.stapler.Stapler","fileName":"Stapler.java","lineNumber":186,"methodName":"service","nativeMethod":false} , {"className":"javax.servlet.http.HttpServlet","fileName":"HttpServlet.java","lineNumber":848,"methodName":"service","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHolder","fileName":"ServletHolder.java","lineNumber":686,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1494,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.util.PluginServletFilter$1","fileName":"PluginServletFilter.java","lineNumber":96,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.plugins.greenballs.GreenBallFilter","fileName":"GreenBallFilter.java","lineNumber":58,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.util.PluginServletFilter$1","fileName":"PluginServletFilter.java","lineNumber":99,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.util.PluginServletFilter","fileName":"PluginServletFilter.java","lineNumber":88,"methodName":"doFilter","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.security.csrf.CrumbFilter","fileName":"CrumbFilter.java","lineNumber":48,"methodName":"doFilter","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.security.ChainedServletFilter$1","fileName":"ChainedServletFilter.java","lineNumber":84,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.security.ChainedServletFilter","fileName":"ChainedServletFilter.java","lineNumber":76,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.security.HudsonFilter","fileName":"HudsonFilter.java","lineNumber":164,"methodName":"doFilter","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false} , {"className":"org.kohsuke.stapler.compression.CompressionFilter","fileName":"CompressionFilter.java","lineNumber":46,"methodName":"doFilter","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1482,"methodName":"doFilter","nativeMethod":false} , {"className":"hudson.util.CharacterEncodingFilter","fileName":"CharacterEncodingFilter.java","lineNumber":81,"methodName":"doFilter","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","fileName":"ServletHandler.java","lineNumber":1474,"methodName":"doFilter","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler","fileName":"ServletHandler.java","lineNumber":499,"methodName":"doHandle","nativeMethod":false} , {"className":"org.eclipse.jetty.server.handler.ScopedHandler","fileName":"ScopedHandler.java","lineNumber":137,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.security.SecurityHandler","fileName":"SecurityHandler.java","lineNumber":533,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.server.session.SessionHandler","fileName":"SessionHandler.java","lineNumber":231,"methodName":"doHandle","nativeMethod":false} , {"className":"org.eclipse.jetty.server.handler.ContextHandler","fileName":"ContextHandler.java","lineNumber":1086,"methodName":"doHandle","nativeMethod":false} , {"className":"org.eclipse.jetty.servlet.ServletHandler","fileName":"ServletHandler.java","lineNumber":428,"methodName":"doScope","nativeMethod":false} , {"className":"org.eclipse.jetty.server.session.SessionHandler","fileName":"SessionHandler.java","lineNumber":193,"methodName":"doScope","nativeMethod":false} , {"className":"org.eclipse.jetty.server.handler.ContextHandler","fileName":"ContextHandler.java","lineNumber":1020,"methodName":"doScope","nativeMethod":false} , {"className":"org.eclipse.jetty.server.handler.ScopedHandler","fileName":"ScopedHandler.java","lineNumber":135,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.server.handler.HandlerWrapper","fileName":"HandlerWrapper.java","lineNumber":116,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.server.Server","fileName":"Server.java","lineNumber":370,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.server.AbstractHttpConnection","fileName":"AbstractHttpConnection.java","lineNumber":489,"methodName":"handleRequest","nativeMethod":false} , {"className":"org.eclipse.jetty.server.AbstractHttpConnection","fileName":"AbstractHttpConnection.java","lineNumber":960,"methodName":"content","nativeMethod":false} , {"className":"org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler","fileName":"AbstractHttpConnection.java","lineNumber":1021,"methodName":"content","nativeMethod":false} , {"className":"org.eclipse.jetty.http.HttpParser","fileName":"HttpParser.java","lineNumber":865,"methodName":"parseNext","nativeMethod":false} , {"className":"org.eclipse.jetty.http.HttpParser","fileName":"HttpParser.java","lineNumber":235,"methodName":"parseAvailable","nativeMethod":false} , {"className":"org.eclipse.jetty.server.AsyncHttpConnection","fileName":"AsyncHttpConnection.java","lineNumber":82,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.io.nio.SelectChannelEndPoint","fileName":"SelectChannelEndPoint.java","lineNumber":668,"methodName":"handle","nativeMethod":false} , {"className":"org.eclipse.jetty.io.nio.SelectChannelEndPoint$1","fileName":"SelectChannelEndPoint.java","lineNumber":52,"methodName":"run","nativeMethod":false} , {"className":"winstone.BoundedExecutorService$1","fileName":"BoundedExecutorService.java","lineNumber":77,"methodName":"run","nativeMethod":false} , {"className":"java.util.concurrent.ThreadPoolExecutor","fileName":"ThreadPoolExecutor.java","lineNumber":1145,"methodName":"runWorker","nativeMethod":false} , {"className":"java.util.concurrent.ThreadPoolExecutor$Worker","fileName":"ThreadPoolExecutor.java","lineNumber":615,"methodName":"run","nativeMethod":false} , {"className":"java.lang.Thread","fileName":"Thread.java","lineNumber":724,"methodName":"run","nativeMethod":false} ],"suppressed":[]}at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:589)at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:463)at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)at org.kohsuke.stapler.Stapler.service(Stapler.java:186)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.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:235)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: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of intat 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)... 53 more

            Unassigned Unassigned
            doconnor Daniel O'Connor
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: