Periodically through the day Jenkins decides to peg one of the processors and 
not return requests.  I cannot figure out what is the cause of this issue.  
I've been monitoring the Jenkins log and I see nothing in it around the time it 
hangs.  If I monitor the cpu usage with nmon, I can reliably predict when 
Jenkins is in this weird unresponsive state.  One CPU will be pegged at 100% 
and the other will be doing nothing.  When both cpus start taking work then 
Jenkins is usable again.  This morning everything was going fine and then I 
clicked the link for a job and the issue occurred, with nothing in the log.  A 
big problem with this is that it appears Jenkins gets so into whatever it is 
doing 100% on that one cpu that it drops its ssh connections to the slaves and 
builds fail because of that.  I've taken a look at the Jenkins monitoring 
plugin and can't see anything obviously wrong.  My main question is how do I 
debug this problem?  Where can I get more information about what Jenkins is 
doing when it has entered into this unresponsive state?  Below are the errors 
from the last time it came back and started working again:
Aug 6, 2012 9:34:39 AM winstone.Logger logInternal
SEVERE: Error while serving 
http://[address]/view/RC/job/RC_unit/buildHistory/ajax
java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor454.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
        at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
        at 
org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
        at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
        at 
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:571)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:656)
        at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:571)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:656)
        at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
        at 
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:571)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:656)
        at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
        at 
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:571)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:656)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:485)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:159)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
        at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
        at 
hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
        at 
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:197)
        at 
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:171)
        at 
net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
        at 
org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
        at 
hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
        at 
hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
        at 
hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
        at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
        at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
        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 
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
        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:142)
        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 
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
        at 
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:61)
        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:66)
        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 winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
        at 
hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
        at 
winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
        at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: winstone.ClientSocketException: Failed to write to client
        at winstone.ClientOutputStream.write(ClientOutputStream.java:41)
        at winstone.WinstoneOutputStream.commit(WinstoneOutputStream.java:181)
        at winstone.WinstoneOutputStream.flush(WinstoneOutputStream.java:219)
        at winstone.WinstoneOutputStream.close(WinstoneOutputStream.java:229)
        at 
net.bull.javamelody.FilterServletOutputStream.close(FilterServletOutputStream.java:46)
        at 
java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:149)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:143)
        at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:301)
        at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:130)
        at java.io.OutputStreamWriter.close(OutputStreamWriter.java:216)
        at java.io.BufferedWriter.close(BufferedWriter.java:248)
        at org.dom4j.io.XMLWriter.close(XMLWriter.java:286)
        at 
org.kohsuke.stapler.jelly.HTMLWriterOutput.close(HTMLWriterOutput.java:70)
        at 
org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:56)
        at 
org.kohsuke.stapler.jelly.JellyRequestDispatcher.forward(JellyRequestDispatcher.java:55)
        at hudson.widgets.HistoryWidget.doAjax(HistoryWidget.java:191)
        ... 76 more
Caused by: java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at winstone.ClientOutputStream.write(ClientOutputStream.java:39)
        ... 91 more
Aug 6, 2012 9:34:40 AM hudson.triggers.SCMTrigger$Runner runPolling
SEVERE: Failed to record SCM polling
hudson.remoting.RequestAbortedException: 
hudson.remoting.RequestAbortedException: 
hudson.remoting.Channel$OrderlyShutdown: java.util.concurrent.Timeou
tException: Ping started on 1344263361651 hasn't completed at 1344263601654
        at hudson.remoting.Request.call(Request.java:149)
        at hudson.remoting.Channel.call(Channel.java:646)
        at hudson.FilePath.act(FilePath.java:821)
        at hudson.FilePath.act(FilePath.java:814)
        at hudson.FilePath.exists(FilePath.java:1132)
        at 
hudson.model.AbstractProject.workspaceOffline(AbstractProject.java:1360)
        at hudson.model.AbstractProject.poll(AbstractProject.java:1294)
        at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:420)
        at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:449)
        at 
hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: hudson.remoting.RequestAbortedException: 
hudson.remoting.Channel$OrderlyShutdown: java.util.concurrent.TimeoutException: 
Ping started on 13
44263361651 hasn't completed at 1344263601654
        at hudson.remoting.Request.abort(Request.java:273)
        at hudson.remoting.Channel.terminate(Channel.java:702)
        at hudson.remoting.Channel$CloseCommand.execute(Channel.java:818)
        at hudson.remoting.Channel$1.handle(Channel.java:416)
        at 
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:60)
Caused by: hudson.remoting.Channel$OrderlyShutdown: 
java.util.concurrent.TimeoutException: Ping started on 1344263361651 hasn't 
completed at 134426360
1654
        ... 3 more
Caused by: Command close created at
        at hudson.remoting.Command.<init>(Command.java:54)
        at hudson.remoting.Channel$CloseCommand.<init>(Channel.java:812)
        at hudson.remoting.Channel$CloseCommand.<init>(Channel.java:810)
        at hudson.remoting.Channel.close(Channel.java:877)
        at hudson.slaves.ChannelPinger$1.onDead(ChannelPinger.java:110)
        at hudson.remoting.PingThread.ping(PingThread.java:114)
        at hudson.remoting.PingThread.run(PingThread.java:81)
Caused by: java.util.concurrent.TimeoutException: Ping started on 1344263361651 
hasn't completed at 1344263601654
        ... 2 more
Caused by: java.util.concurrent.TimeoutException
        at hudson.remoting.Request$1.get(Request.java:249)
        at hudson.remoting.Request$1.get(Request.java:184)
        at hudson.remoting.FutureAdapter.get(FutureAdapter.java:59)
        at hudson.remoting.PingThread.ping(PingThread.java:107)
        ... 1 more

Reply via email to