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

WorkflowJob.getSCMs throws NullPointerException from notifyCommit hooks after Jenkins Restart

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Steps to Reproduce:
      1) Create a new workflow job that pulls from git and is set to poll scm infrequently (as appropriate for using scm hooks).
      2) Run the job once manually.
      3) Trigger an scm poll by invoking jenkins-url/git/notifyCommit with appropriate query string.

      Result: Status 200 & Body of response states that polling of the test job was scheduled.

      4) Restart Jenkins (sudo service jenkins restart or similar)
      5) After Jenkins returns to normal running status repeat step 3.

      Result: Status 500 and the stack trace appended to the end of this report.

      6) Run the job again manually (step 2).
      7) Repeat Step 3.

      Result: Status 200 & Body of response states that polling of the test job was scheduled.

      In summary, scm triggers fail post-jenkins restart for workflow jobs until each such job is run once. I did not thuroughly test with multiple jobs but I believe it is the case that every workflow job must be run manually before any job (even non-workflow) can be triggered.

      Stack trace
      
      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$12.dispatch(MetaClass.java:391)
          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:123)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
          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.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:135)
          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:93)
          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:164)
          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 org.jenkinsci.plugins.workflow.job.WorkflowJob.getSCMs(WorkflowJob.java:419)
          at hudson.plugins.git.GitStatus$JenkinsAbstractProjectListener.onNotifyCommit(GitStatus.java:207)
          at hudson.plugins.git.GitStatus.doNotifyCommit(GitStatus.java:80)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:483)
          at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
          at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
          at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
          at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
          ... 62 more
      

      Page generated: Feb 3, 2015 6:47:45 PMREST APIJenkins ver. 1.598

        Attachments

          Issue Links

            Activity

            kbaltrinic Kenneth Baltrinic created issue -
            kbaltrinic Kenneth Baltrinic made changes -
            Field Original Value New Value
            Description Steps to Reproduce:
            1) Create a new workflow job that pulls from git and is set to poll scm infrequently (as appropriate for using scm hooks).
            2) Run the job once manually.
            3) Trigger an scm poll by invoking jenkins-url/git/notifyCommit with appropriate query string.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            4) Restart Jenkins (sudo service jenkins restart or similar)
            5) After Jenkins returns to normal running status repeat step 3.

            In summary, scm triggers fail post-jenkins restart for workflow jobs until each such job is run once.

            Result: Status 500 and the stack trace appended to the end of this report.

            6) Run the job again manually (step 2).
            7) Repeat Step 3.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            Stack trace

            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$12.dispatch(MetaClass.java:391)
                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:123)
                at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
                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.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:135)
                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:93)
                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:164)
                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 org.jenkinsci.plugins.workflow.job.WorkflowJob.getSCMs(WorkflowJob.java:419)
                at hudson.plugins.git.GitStatus$JenkinsAbstractProjectListener.onNotifyCommit(GitStatus.java:207)
                at hudson.plugins.git.GitStatus.doNotifyCommit(GitStatus.java:80)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:483)
                at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
                at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
                at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
                at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
                at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
                ... 62 more
            Page generated: Feb 3, 2015 6:47:45 PMREST APIJenkins ver. 1.598
            Steps to Reproduce:
            1) Create a new workflow job that pulls from git and is set to poll scm infrequently (as appropriate for using scm hooks).
            2) Run the job once manually.
            3) Trigger an scm poll by invoking jenkins-url/git/notifyCommit with appropriate query string.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            4) Restart Jenkins (sudo service jenkins restart or similar)
            5) After Jenkins returns to normal running status repeat step 3.

            Result: Status 500 and the stack trace appended to the end of this report.

            6) Run the job again manually (step 2).
            7) Repeat Step 3.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            In summary, scm triggers fail post-jenkins restart for workflow jobs until each such job is run once.

            Stack trace

            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$12.dispatch(MetaClass.java:391)
                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:123)
                at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
                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.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:135)
                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:93)
                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:164)
                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 org.jenkinsci.plugins.workflow.job.WorkflowJob.getSCMs(WorkflowJob.java:419)
                at hudson.plugins.git.GitStatus$JenkinsAbstractProjectListener.onNotifyCommit(GitStatus.java:207)
                at hudson.plugins.git.GitStatus.doNotifyCommit(GitStatus.java:80)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:483)
                at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
                at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
                at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
                at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
                at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
                ... 62 more
            Page generated: Feb 3, 2015 6:47:45 PMREST APIJenkins ver. 1.598
            kbaltrinic Kenneth Baltrinic made changes -
            Description Steps to Reproduce:
            1) Create a new workflow job that pulls from git and is set to poll scm infrequently (as appropriate for using scm hooks).
            2) Run the job once manually.
            3) Trigger an scm poll by invoking jenkins-url/git/notifyCommit with appropriate query string.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            4) Restart Jenkins (sudo service jenkins restart or similar)
            5) After Jenkins returns to normal running status repeat step 3.

            Result: Status 500 and the stack trace appended to the end of this report.

            6) Run the job again manually (step 2).
            7) Repeat Step 3.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            In summary, scm triggers fail post-jenkins restart for workflow jobs until each such job is run once.

            Stack trace

            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$12.dispatch(MetaClass.java:391)
                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:123)
                at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
                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.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:135)
                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:93)
                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:164)
                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 org.jenkinsci.plugins.workflow.job.WorkflowJob.getSCMs(WorkflowJob.java:419)
                at hudson.plugins.git.GitStatus$JenkinsAbstractProjectListener.onNotifyCommit(GitStatus.java:207)
                at hudson.plugins.git.GitStatus.doNotifyCommit(GitStatus.java:80)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:483)
                at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
                at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
                at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
                at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
                at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
                ... 62 more
            Page generated: Feb 3, 2015 6:47:45 PMREST APIJenkins ver. 1.598
            Steps to Reproduce:
            1) Create a new workflow job that pulls from git and is set to poll scm infrequently (as appropriate for using scm hooks).
            2) Run the job once manually.
            3) Trigger an scm poll by invoking jenkins-url/git/notifyCommit with appropriate query string.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            4) Restart Jenkins (sudo service jenkins restart or similar)
            5) After Jenkins returns to normal running status repeat step 3.

            Result: Status 500 and the stack trace appended to the end of this report.

            6) Run the job again manually (step 2).
            7) Repeat Step 3.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            In summary, scm triggers fail post-jenkins restart for workflow jobs until each such job is run once. I did not thuroughly test with multiple jobs but I believe it is the case that _every_ workflow job must be run manually before _any_ job (even non-workflow) can be triggered.

            Stack trace

            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$12.dispatch(MetaClass.java:391)
                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:123)
                at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
                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.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:135)
                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:93)
                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:164)
                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 org.jenkinsci.plugins.workflow.job.WorkflowJob.getSCMs(WorkflowJob.java:419)
                at hudson.plugins.git.GitStatus$JenkinsAbstractProjectListener.onNotifyCommit(GitStatus.java:207)
                at hudson.plugins.git.GitStatus.doNotifyCommit(GitStatus.java:80)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:483)
                at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
                at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
                at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
                at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
                at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
                ... 62 more
            Page generated: Feb 3, 2015 6:47:45 PMREST APIJenkins ver. 1.598
            integer Kanstantsin Shautsou made changes -
            Description Steps to Reproduce:
            1) Create a new workflow job that pulls from git and is set to poll scm infrequently (as appropriate for using scm hooks).
            2) Run the job once manually.
            3) Trigger an scm poll by invoking jenkins-url/git/notifyCommit with appropriate query string.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            4) Restart Jenkins (sudo service jenkins restart or similar)
            5) After Jenkins returns to normal running status repeat step 3.

            Result: Status 500 and the stack trace appended to the end of this report.

            6) Run the job again manually (step 2).
            7) Repeat Step 3.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            In summary, scm triggers fail post-jenkins restart for workflow jobs until each such job is run once. I did not thuroughly test with multiple jobs but I believe it is the case that _every_ workflow job must be run manually before _any_ job (even non-workflow) can be triggered.

            Stack trace

            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$12.dispatch(MetaClass.java:391)
                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:123)
                at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
                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.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:135)
                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:93)
                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:164)
                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 org.jenkinsci.plugins.workflow.job.WorkflowJob.getSCMs(WorkflowJob.java:419)
                at hudson.plugins.git.GitStatus$JenkinsAbstractProjectListener.onNotifyCommit(GitStatus.java:207)
                at hudson.plugins.git.GitStatus.doNotifyCommit(GitStatus.java:80)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:483)
                at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
                at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
                at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
                at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
                at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
                ... 62 more
            Page generated: Feb 3, 2015 6:47:45 PMREST APIJenkins ver. 1.598
            Steps to Reproduce:
            1) Create a new workflow job that pulls from git and is set to poll scm infrequently (as appropriate for using scm hooks).
            2) Run the job once manually.
            3) Trigger an scm poll by invoking jenkins-url/git/notifyCommit with appropriate query string.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            4) Restart Jenkins (sudo service jenkins restart or similar)
            5) After Jenkins returns to normal running status repeat step 3.

            Result: Status 500 and the stack trace appended to the end of this report.

            6) Run the job again manually (step 2).
            7) Repeat Step 3.

            Result: Status 200 & Body of response states that polling of the test job was scheduled.

            In summary, scm triggers fail post-jenkins restart for workflow jobs until each such job is run once. I did not thuroughly test with multiple jobs but I believe it is the case that _every_ workflow job must be run manually before _any_ job (even non-workflow) can be triggered.
            {code}
            Stack trace

            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$12.dispatch(MetaClass.java:391)
                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:123)
                at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
                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.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:135)
                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:93)
                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:164)
                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 org.jenkinsci.plugins.workflow.job.WorkflowJob.getSCMs(WorkflowJob.java:419)
                at hudson.plugins.git.GitStatus$JenkinsAbstractProjectListener.onNotifyCommit(GitStatus.java:207)
                at hudson.plugins.git.GitStatus.doNotifyCommit(GitStatus.java:80)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:483)
                at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
                at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
                at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
                at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
                at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
                at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
                ... 62 more
            {code}
            Page generated: Feb 3, 2015 6:47:45 PMREST APIJenkins ver. 1.598
            jglick Jesse Glick made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Resolution Cannot Reproduce [ 5 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 57 (Web Link)" [ 12119 ]
            kbaltrinic Kenneth Baltrinic made changes -
            Resolution Cannot Reproduce [ 5 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            kbaltrinic Kenneth Baltrinic made changes -
            Attachment JENKINS-26761-build.xml [ 28734 ]
            kbaltrinic Kenneth Baltrinic made changes -
            Attachment JENKINS-26761-build-1.xml [ 28738 ]
            kbaltrinic Kenneth Baltrinic made changes -
            Resolution Fixed [ 1 ]
            Status Reopened [ 4 ] Resolved [ 5 ]
            jglick Jesse Glick made changes -
            Resolution Fixed [ 1 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            jglick Jesse Glick made changes -
            Status Reopened [ 4 ] Open [ 1 ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-27531 [ JENKINS-27531 ]
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-27704 [ JENKINS-27704 ]
            jglick Jesse Glick made changes -
            Labels robustness xstream
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is related to JENKINS-28598 [ JENKINS-28598 ]
            oleg_nenashev Oleg Nenashev made changes -
            Assignee Jesse Glick [ jglick ] Oleg Nenashev [ oleg_nenashev ]
            jglick Jesse Glick made changes -
            Assignee Oleg Nenashev [ oleg_nenashev ] Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 160 (Web Link)" [ 13004 ]
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-22767 [ JENKINS-22767 ]
            jglick Jesse Glick made changes -
            Resolution Cannot Reproduce [ 5 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 160931 ] JNJira + In-Review [ 196587 ]
            abayer Andrew Bayer made changes -
            Component/s pipeline-general [ 21692 ]
            abayer Andrew Bayer made changes -
            Component/s workflow-plugin [ 18820 ]

              People

              Assignee:
              jglick Jesse Glick
              Reporter:
              kbaltrinic Kenneth Baltrinic
              Votes:
              5 Vote for this issue
              Watchers:
              9 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: