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 jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to