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

Unable to manually trigger build in the Build Pipeline View

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • build-pipeline-plugin

      I have a deployment pipeline setup that is used to push a deployment through. I use the build-pipeline plugin. There are four build steps in the deployment pipeline. Step #1 starts automatically, Step #2 starts automatically when Step #1 successfully completes. Step #3 is manually triggered when the build is verified to be working correctly. Step #1 and Step #2 finished correctly, but when I click on the "Manually start build" trigger, it does not start the build.

      When I look into the logs, I am seeing the following stack trace every time that I push the button to manually trigger a build for Step #3:

      Mar 10, 2014 8:53:36 PM winstone.Logger logInternal
      WARNING: Untrapped Error in Servlet
      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":510,"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":288,"methodName":"invoke","nativeMethod":false}

      ,

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

      ,

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

      ,

      {"className":"org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher","fileName":"MetaClass.java","lineNumber":439,"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":677,"methodName":"tryInvoke","nativeMethod":false}

      ,

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

      ,

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

      ,

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

      ,

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

      ,

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

      ,

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

      ,

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

      ,

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

      ,

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

      ,

      {"className":"winstone.ServletConfiguration","fileName":"ServletConfiguration.java","lineNumber":248,"methodName":"execute","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":333,"methodName":"forward","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":376,"methodName":"doFilter","nativeMethod":false}

      ,

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

      ,

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

      ,

      {"className":"winstone.FilterConfiguration","fileName":"FilterConfiguration.java","lineNumber":194,"methodName":"execute","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":366,"methodName":"doFilter","nativeMethod":false}

      ,

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

      ,

      {"className":"winstone.FilterConfiguration","fileName":"FilterConfiguration.java","lineNumber":194,"methodName":"execute","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":366,"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":"winstone.FilterConfiguration","fileName":"FilterConfiguration.java","lineNumber":194,"methodName":"execute","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":366,"methodName":"doFilter","nativeMethod":false}

      ,

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

      ,

      {"className":"winstone.FilterConfiguration","fileName":"FilterConfiguration.java","lineNumber":194,"methodName":"execute","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":366,"methodName":"doFilter","nativeMethod":false}

      ,

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

      ,

      {"className":"winstone.FilterConfiguration","fileName":"FilterConfiguration.java","lineNumber":194,"methodName":"execute","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":366,"methodName":"doFilter","nativeMethod":false}

      ,

      {"className":"winstone.RequestDispatcher","fileName":"RequestDispatcher.java","lineNumber":331,"methodName":"forward","nativeMethod":false}

      ,

      {"className":"winstone.RequestHandlerThread","fileName":"RequestHandlerThread.java","lineNumber":227,"methodName":"processRequest","nativeMethod":false}

      ,

      {"className":"winstone.RequestHandlerThread","fileName":"RequestHandlerThread.java","lineNumber":150,"methodName":"run","nativeMethod":false}

      ,

      {"className":"java.util.concurrent.Executors$RunnableAdapter","fileName":"Executors.java","lineNumber":471,"methodName":"call","nativeMethod":false}

      ,

      {"className":"java.util.concurrent.FutureTask","fileName":"FutureTask.java","lineNumber":262,"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":744,"methodName":"run","nativeMethod":false}

      ],"suppressed":[]}
      at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:596)
      at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:391)
      at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:437)
      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$12.dispatch(MetaClass.java:384)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:736)
      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:177)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      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 winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:227)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      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: org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of int
      at org.kohsuke.stapler.ClassDescriptor.loadConstructorParamNames(ClassDescriptor.java:176)
      at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:575)
      ... 43 more

      Some more background on this issue:

      Our Jenkins instance is refreshed periodically. The Jenkins machine copies over all of the configuration, backs up the configuration in source control, spins up a new machine, and builds it from scratch. For the most part, slight deviations are detected, but hey, things happen, and I am by no means perfect.

      We never terminated the old Jenkins instance until we can successfully build with the new instance. This allows us to determine if failures happen, we can quick do a quick rollback, and the deployments never skip a beat.

      Here is what we observed:

      Our new instance was unable to manually trigger Step #3 in the build pipeline. Comparing the old instance with the new instance, the old Jenkins was running build-pipeline plugin version 1.3.3. The new Jenkins instance was running build-pipeline plugin version 1.4.2.

      How to fix:

      It was observed that downgrading the plugin to version 1.3.3 fixed the problem. Jenkins needed to get restarted for the changes to take effect, but it unblocked us.

          [JENKINS-22113] Unable to manually trigger build in the Build Pipeline View

          Chad Rhyner added a comment -

          Just as a comment, and I have no idea if these are related, but this could be a duplicate of https://issues.jenkins-ci.org/browse/JENKINS-19967. They sound similar.

          Chad Rhyner added a comment - Just as a comment, and I have no idea if these are related, but this could be a duplicate of https://issues.jenkins-ci.org/browse/JENKINS-19967 . They sound similar.

            Unassigned Unassigned
            huckphin Chad Rhyner
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: