Hi, all. I have the Mercurial plugin<https://wiki.jenkins-ci.org/display/JENKINS/Mercurial+Plugin>installed and have been using it successfully for a long time. Recently, I began to notice that on-demand polling was not working correctly. That is, on my Mercurial central repo, I have a hook set up as follows: [hooks] changegroup.jenkins=curl http://server:port/mercurial/notifyCommit?url=ssh://scm//path/to/repo
This was suggested on the plugin's home page and mostly works pretty well. However, sometimes it would fail to trigger polling, and a build would not be started when it was supposed to be. I upgraded to version 1.44 of the plugin, since it looked like this version and version 1.43 had some changes that would fix the issue. The issue was fixed, and polling is now triggered correctly; however, I have a new problem. When a user pushes from the command line interface, they may either get a stuck SSH process or the following NullPointerException: ----- bash-4.1$ hg push pushing to ssh://scm//path/to/repo searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files remote: <html><head><title>Error 500</title></head> remote: <body bgcolor=#fff><h1>Status Code: 500</h1>Exception: java.lang.NullPointerException<br>Stacktrace: <pre>javax.servlet.ServletException: java.lang.NullPointerException remote: at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:615) remote: at org.kohsuke.stapler.Stapler.invoke(Stapler.java:658) remote: at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384) remote: at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:573) remote: at org.kohsuke.stapler.Stapler.invoke(Stapler.java:658) remote: at org.kohsuke.stapler.Stapler.invoke(Stapler.java:487) remote: at org.kohsuke.stapler.Stapler.service(Stapler.java:164) remote: at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) remote: at winstone.ServletConfiguration.execute(ServletConfiguration.java:248) remote: at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) remote: at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376) remote: at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) remote: at net.bull.javamelody.MonitoringFilter.doFilte % Total % Received % Xferd Average Speed Time Time Time Current remote: Dload Upload Total Spent Left Speed 22 6122 22 1448 0 0 55549 0 --:--:-- --:--:-- --:--:-- 55549r(MonitoringFilter.java:202) remote: at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:175) remote: at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86) remote: at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84) remote: at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98) remote: at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) remote: at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) remote: at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) remote: at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) remote: at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) remote: at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) remote: at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) remote: at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66) remote: at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) remote: at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) remote: at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) remote: at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) remote: at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) remote: at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50) remote: at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) remote: at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) remote: at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) remote: at winstone.FilterConfiguration.execute(FilterConfiguration.java:194) remote: at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366) remote: at winstone.RequestDispatcher.forward(RequestDispatcher.java:331) remote: at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215) remote: at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138) remote: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) remote: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) remote: at java.util.concurrent.FutureTask.run(FutureTask.java:166) remote: at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) remote: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) remote: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) remote: at java.lang.Thread.run(Thread.java:722) remote: Caused by: java.lang.NullPointerException remote: at java.net.URI$Parser.parse(URI.java:3023) remote: at java.net.URI.<init>(URI.java:595) remote: at hudson.plugins.mercurial.MercurialStatus.looselyMatches(Mercu100 6122 100 6122 0 0 226k 0 --:--:-- --:--:-- --:--:-- 4564k remote: :70) remote: at hudson.plugins.mercurial.MercurialStatus.handleNotifyCommit(MercurialStatus.java:106) remote: at hudson.plugins.mercurial.MercurialStatus.doNotifyCommit(MercurialStatus.java:87) remote: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) remote: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) remote: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) remote: at java.lang.reflect.Method.invoke(Method.java:601) remote: at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288) remote: at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151) remote: at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90) remote: at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111) remote: at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) remote: at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:573) remote: ... 60 more remote: </pre><br><hr> remote: <i>Generated by Stapler at Fri Mar 08 15:09:29 UTC 2013</i></body></html> ----- The error message is not so bad, but it's alarming for many users; and the hung command line is especially nerve-wracking. Anyone else seen this? I couldn't find anything about it in Jira. Thanks, -- Jerry -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.