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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Cannot Reproduce
    • Component/s: core
    • Labels:
      None
    • Similar Issues:

      Description

      • 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
      

       

        Attachments

          Issue Links

            Activity

            Hide
            oleg_nenashev 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 
            
            Show
            oleg_nenashev 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
            Hide
            ikedam ikedam added a comment -

            Let me know the version of Jenkins you use.

            Show
            ikedam ikedam added a comment - Let me know the version of Jenkins you use.
            Hide
            ikedam 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.

            Show
            ikedam 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.
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

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

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

            Maybe I was wrong, will check carefully later

            Show
            oleg_nenashev Oleg Nenashev added a comment - Maybe I was wrong, will check carefully later
            Hide
            ikedam ikedam added a comment -

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

            Show
            ikedam ikedam added a comment - Anyway, this doesn't look an issue of naginator.
            Hide
            jglick 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?

            Show
            jglick 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?
            Hide
            jglick Jesse Glick added a comment -

            Oleg Nenashev I think this could be reclosed now.

            Show
            jglick Jesse Glick added a comment - Oleg Nenashev I think this could be reclosed now.
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            No clear repro steps here

            Show
            oleg_nenashev Oleg Nenashev added a comment - No clear repro steps here

              People

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

                Dates

                Created:
                Updated:
                Resolved: