Issue Type: Bug Bug
Affects Versions: current
Assignee: Unassigned
Components: perforce
Created: 14/Aug/12 9:44 AM
Description:

We have noticed that polling, either unbounded or low-bounded completely cripples the application server. The server stops responding for very long periods of time, until the polling has completed. The reason we realised that polling is causing this, was when the plugin regressed and was causing polling to fail with an NPE, the server was lightning fast. What's interesting is that it seems to cripple the entire Tomcat instance, not just Jenkins. Upon capturing a thread dump we recorded the following

"SCM polling for hudson.maven.MavenModuleSet@2736af9a[IStarReceiver-12.8]" - Thread t@706
   java.lang.Thread.State: BLOCKED
                at java.lang.ThreadGroup.add(ThreadGroup.java:856)
                - waiting to lock <69115611> (a java.lang.ThreadGroup) owned by "SCM polling for hudson.maven.MavenModuleSet@15405f35[IStarSender-12.6]" t@703
                at java.lang.Thread.start(Thread.java:639)
                - locked <64e981d4> (a java.lang.UNIXProcess$2$1)
                at java.lang.UNIXProcess$2.run(UNIXProcess.java:95)
                at java.security.AccessController.doPrivileged(Native Method)
                at java.lang.UNIXProcess.<init>(UNIXProcess.java:81)
                at java.lang.ProcessImpl.start(ProcessImpl.java:65)
                at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
                at hudson.Proc$LocalProc.<init>(Proc.java:244)
                at hudson.Proc$LocalProc.<init>(Proc.java:216)
                at hudson.Launcher$LocalLauncher.launch(Launcher.java:709)
                at hudson.Launcher$ProcStarter.start(Launcher.java:338)
                at hudson.plugins.perforce.HudsonP4DefaultExecutor.exec(HudsonP4DefaultExecutor.java:79)
                at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:321)
                at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:292)
                at com.tek42.perforce.parse.Changes.getChangelist(Changes.java:71)
                at hudson.plugins.perforce.PerforceSCM.getCurrentDepotRevisionState(PerforceSCM.java:1275)
                at hudson.plugins.perforce.PerforceSCM.compareRemoteRevisionWith(PerforceSCM.java:1155)
                at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356)
                at hudson.scm.SCM.poll(SCM.java:373)
                at hudson.model.AbstractProject._poll(AbstractProject.java:1415)
                at hudson.model.AbstractProject.poll(AbstractProject.java:1335)
                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)

   Locked ownable synchronizers:
                - locked <5fe91263> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

"SCM polling for hudson.model.FreeStyleProject@30d4c8ad[JmsQueueRecovery]" - Thread t@705
   java.lang.Thread.State: RUNNABLE
                at java.lang.UNIXProcess.forkAndExec(Native Method)
                at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
                at java.lang.ProcessImpl.start(ProcessImpl.java:65)
                at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
                at hudson.Proc$LocalProc.<init>(Proc.java:244)
                at hudson.Proc$LocalProc.<init>(Proc.java:216)
                at hudson.Launcher$LocalLauncher.launch(Launcher.java:709)
                at hudson.Launcher$ProcStarter.start(Launcher.java:338)
                at hudson.plugins.perforce.HudsonP4DefaultExecutor.exec(HudsonP4DefaultExecutor.java:79)
                at com.tek42.perforce.parse.AbstractPerforceTemplate.getRawPerforceResponseLines(AbstractPerforceTemplate.java:425)
                at com.tek42.perforce.parse.Changes.getChangeNumbersInRangeForSinglePath(Changes.java:528)
                at com.tek42.perforce.parse.Changes.getChangeNumbersInRange(Changes.java:467)
                at hudson.plugins.perforce.PerforceSCM.getCurrentDepotRevisionState(PerforceSCM.java:1253)
                at hudson.plugins.perforce.PerforceSCM.compareRemoteRevisionWith(PerforceSCM.java:1155)
                at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:356)
                at hudson.scm.SCM.poll(SCM.java:373)
                at hudson.model.AbstractProject._poll(AbstractProject.java:1415)
                at hudson.model.AbstractProject.poll(AbstractProject.java:1335)
                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)

   Locked ownable synchronizers:
                - locked <3eb652c6> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
Environment: SunOS 5.10 Generic_142901-03 i86pc i386 i86pc, Tomcat 7
Project: Jenkins
Priority: Critical Critical
Reporter: Ioannis Mavroukakis
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to