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.&lt;init&gt;(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.


Reply via email to