I filed a Jira ticket <https://issues.jenkins-ci.org/browse/JENKINS-17409>for this, committed a fix, and submitted <https://github.com/jerrymaloney/mercurial-plugin/commit/c12bfbfd24eb53760764a20a35558ef7bfcadd29>a pull request <https://github.com/jenkinsci/mercurial-plugin/pull/35>.
On Monday, March 25, 2013 12:06:50 PM UTC-4, Jerry wrote: > > 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 [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
