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

NPE when retry a failed job when there is a similar job in queue

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Minor Minor
    • core
    • None

      • launch 2 builds which are failing
      • wait for the failure
      • launch a noteh rbuild whcih is takin gsome time
      • retry one of the first failed build
      • retry the second failed build

      --> NPE

      javax.servlet.ServletException: java.lang.NullPointerException at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$11.dispatch(MetaClass.java:380) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) 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:135) at com.sonymobile.jenkins.plugins.kerberossso.KerberosSSOFilter.doFilter(KerberosSSOFilter.java:237) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178) at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:102) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:49) 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:73) 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.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at java.util.AbstractCollection.addAll(AbstractCollection.java:343) at hudson.model.ParametersAction.shouldSchedule(ParametersAction.java:215) at hudson.model.Queue.scheduleInternal(Queue.java:585) at hudson.model.Queue.schedule2(Queue.java:555) at jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:138) at jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:105) at hudson.model.AbstractProject.scheduleBuild2(AbstractProject.java:882) at hudson.model.AbstractProject.scheduleBuild2(AbstractProject.java:864) at hudson.model.AbstractProject.scheduleBuild(AbstractProject.java:852) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.scheduleBuild(NaginatorRetryAction.java:81) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.scheduleBuild(NaginatorRetryAction.java:72) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.doIndex(NaginatorRetryAction.java:67) at sun.reflect.GeneratedMethodAccessor3817.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:320) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:163) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:26) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) ... 82 more
      

       

          [JENKINS-42873] NPE when retry a failed job when there is a similar job in queue

          Oleg Nenashev added a comment -

          Maybe it is in the core:

          java.lang.NullPointerException at java.util.AbstractCollection.addAll(AbstractCollection.java:343) at hudson.model.ParametersAction.shouldSchedule(ParametersAction.java:215) at hudson.model.Queue.scheduleInternal(Queue.java:585) at hudson.model.Queue.schedule2(Queue.java:555) at jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:138) at jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:105) at hudson.model.AbstractProject.scheduleBuild2(AbstractProject.java:882) at hudson.model.AbstractProject.scheduleBuild2(AbstractProject.java:864) at hudson.model.AbstractProject.scheduleBuild(AbstractProject.java:852) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.scheduleBuild(NaginatorRetryAction.java:81) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.scheduleBuild(NaginatorRetryAction.java:72) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.doIndex(NaginatorRetryAction.java:67) at 
          

          Oleg Nenashev added a comment - Maybe it is in the core: java.lang.NullPointerException at java.util.AbstractCollection.addAll(AbstractCollection.java:343) at hudson.model.ParametersAction.shouldSchedule(ParametersAction.java:215) at hudson.model.Queue.scheduleInternal(Queue.java:585) at hudson.model.Queue.schedule2(Queue.java:555) at jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:138) at jenkins.model.ParameterizedJobMixIn.scheduleBuild2(ParameterizedJobMixIn.java:105) at hudson.model.AbstractProject.scheduleBuild2(AbstractProject.java:882) at hudson.model.AbstractProject.scheduleBuild2(AbstractProject.java:864) at hudson.model.AbstractProject.scheduleBuild(AbstractProject.java:852) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.scheduleBuild(NaginatorRetryAction.java:81) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.scheduleBuild(NaginatorRetryAction.java:72) at com.chikli.hudson.plugin.naginator.NaginatorRetryAction.doIndex(NaginatorRetryAction.java:67) at

          ikedam added a comment -

          Let me know the version of Jenkins you use.

          ikedam added a comment - Let me know the version of Jenkins you use.

          ikedam added a comment -

          I could not reproduce the problem in my environment.
          Please report more detailed steps to reproduce it.

          1. Launch Jenkins-2.32.3
          2. Complete the setup wizard:
            • Install no recommended plugins
            • Continue as admin (create no users)
          3. Install naginator-plugin
          4. Create a new freestyle job "test":
            • This project is parameterized
              • String parameter
                • Name: PARAM1
            • Execut shell
              echo $PARAM1
              sleep 60
              exit 1
              
          5. Run "test" with PARAM1=test#1 (test #1, FAILURE)
          6. Run "test" with PARAM2=test#2 (test #2, FAILURE) after test #1 fails
          7. Run "test" with PARAM3=test#3 (test #3)
          8. Retry test #1 during test #3 is running (test#4)
            • By clicking "Retry" link of test #1 (provided by naginator plugin)
          9. Retry test #2 during test #3 is running (test#5)
            • ditto

          Result:

          • test #4 was scheduled.
          • test #5 was scheduled.
          • test #3 finished with FAILURE.
          • test #4 finished with FAILURE.
          • test #5 finished with FAILURE.
          • No errors are reported in GUI.
          • No errors are logged in the system log.

          I could not reproduce the problem also without parameters.
          In that case, test #5 will be merged into #4.

          ikedam added a comment - I could not reproduce the problem in my environment. Please report more detailed steps to reproduce it. Launch Jenkins-2.32.3 Complete the setup wizard: Install no recommended plugins Continue as admin (create no users) Install naginator-plugin Create a new freestyle job "test": This project is parameterized String parameter Name: PARAM1 Execut shell echo $PARAM1 sleep 60 exit 1 Run "test" with PARAM1=test#1 (test #1, FAILURE) Run "test" with PARAM2=test#2 (test #2, FAILURE) after test #1 fails Run "test" with PARAM3=test#3 (test #3) Retry test #1 during test #3 is running (test#4) By clicking "Retry" link of test #1 (provided by naginator plugin) Retry test #2 during test #3 is running (test#5) ditto Result: test #4 was scheduled. test #5 was scheduled. test #3 finished with FAILURE. test #4 finished with FAILURE. test #5 finished with FAILURE. No errors are reported in GUI. No errors are logged in the system log. I could not reproduce the problem also without parameters. In that case, test #5 will be merged into #4.

          Oleg Nenashev added a comment -

          ikedam The root cause is the regression in the Stapler: JENKINS-43715. Hope to get it integrated soon

          Oleg Nenashev added a comment - ikedam The root cause is the regression in the Stapler: JENKINS-43715 . Hope to get it integrated soon

          Oleg Nenashev added a comment -

          Maybe I was wrong, will check carefully later

          Oleg Nenashev added a comment - Maybe I was wrong, will check carefully later

          ikedam added a comment -

          Anyway, this doesn't look an issue of naginator.

          ikedam added a comment - Anyway, this doesn't look an issue of naginator.

          Jesse Glick added a comment -

          JENKINS-43715 only affects plugins which are written incorrectly to begin with.

          I do not see a clear stack trace here; the original is badly mangled. Are there known steps to reproduce? Where is the root cause of the exception?

          Jesse Glick added a comment - JENKINS-43715 only affects plugins which are written incorrectly to begin with. I do not see a clear stack trace here; the original is badly mangled. Are there known steps to reproduce? Where is the root cause of the exception?

          Jesse Glick added a comment -

          oleg_nenashev I think this could be reclosed now.

          Jesse Glick added a comment - oleg_nenashev I think this could be reclosed now.

          Oleg Nenashev added a comment -

          No clear repro steps here

          Oleg Nenashev added a comment - No clear repro steps here

            oleg_nenashev Oleg Nenashev
            aurelienpupier Aurélien Pupier
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: