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

Unable to manually trigger build in the Build Pipeline View

XMLWordPrintable

    • 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.

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

              Created:
              Updated: