The API is certainly problematic. For example, on the latest in-dev versions, I can generate (occasionally) a deadlock.
You may wish to try upgrading your durable-task plugin Version 1.2 (Jan 13 2015) - issue #26380 <http://issues.jenkins-ci.org/browse/JENKINS-26380> Occasional deadlocks when running against Jenkins 1.592+. E.g: "Computer.threadPoolForRemoting [#12]": at hudson.slaves.CloudRetentionStrategy.check(CloudRetentionStrategy.java:50) - waiting to lock <0x00000006c1426330> (a org.jenkinsci.plugins.durabletask.executors.OnceRetentionStrategy) at hudson.slaves.CloudRetentionStrategy.check(CloudRetentionStrategy.java:41) at hudson.slaves.SlaveComputer.setNode(SlaveComputer.java:651) at hudson.model.AbstractCIBase.updateComputer(AbstractCIBase.java:120) at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:180) - locked <0x00000006c041a498> (a java.lang.Object) at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1201) at jenkins.model.Jenkins.setNodes(Jenkins.java:1697) at jenkins.model.Jenkins.addNode(Jenkins.java:1679) - locked <0x00000006c03f5390> (a hudson.model.Hudson) at com.nirima.jenkins.plugins.docker.DockerCloud$1.call(DockerCloud.java:238) at com.nirima.jenkins.plugins.docker.DockerCloud$1.call(DockerCloud.java:232) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "jenkins.util.Timer [#7]": at jenkins.model.Jenkins.removeNode(Jenkins.java:1686) - waiting to lock <0x00000006c03f5390> (a hudson.model.Hudson) at hudson.slaves.AbstractCloudSlave.terminate(AbstractCloudSlave.java:65) at hudson.slaves.CloudRetentionStrategy.check(CloudRetentionStrategy.java:56) - locked <0x00000006c1426330> (a org.jenkinsci.plugins.durabletask.executors.OnceRetentionStrategy) at hudson.slaves.CloudRetentionStrategy.check(CloudRetentionStrategy.java:41) at hudson.slaves.ComputerRetentionWork.doRun(ComputerRetentionWork.java:66) at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:54) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Found 1 deadlock. On Tue, Jan 20, 2015 at 4:39 PM, <[email protected]> wrote: > I am trying to track down an issue where a cloud slave is never > provisioned for a job that is scheduled. The annoying part is that it > doesn't always happen, I would estimate about 1 in 4 times. I am > specifically using the docker-plugin and the job is triggered by gerrit. > Only one job appears to be affected and there are many other similar jobs > that are similar (docker slave with a gerrit trigger) > > I have added more debug logging to the docker-plugin to monitor how > provisioning occurs. Sure enough provision() is never called, though > canProvision is and returns true for the label expression. > > > I am not sure how I can inspect more into how Jenkins provisions cloud > slaves and figure out why it never does. If another job comes along, it > will provision for that job and leave this one. > > > Log snippet: > > Jan 16, 2015 4:23:11 PM > com.sonyericsson.hudson.plugins.gerrit.trigger.gerritnotifier.ToGerritRunListener > onTriggered > > INFO: Project [redacted-project] triggered by Gerrit: [PatchsetCreated: > Change-Id for #1126: [redacted] PatchSet: 1] > > Jan 16, 2015 4:23:11 PM > com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger > schedule > > INFO: Project [redacted-project] Build Scheduled: true By event: 1126/1 > > > Jan 16, 2015 4:23:17 PM com.nirima.jenkins.plugins.docker.DockerCloud > canProvision > > INFO: Docker can provision 'centos6&&redacted'? true > > > > Any thoughts appreciated, > > Thomas > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-dev/cd8d7e9e-ccf8-47e5-9c09-1bd06d95cef8%40googlegroups.com > <https://groups.google.com/d/msgid/jenkinsci-dev/cd8d7e9e-ccf8-47e5-9c09-1bd06d95cef8%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPYP83T%2BMz200T31GQJzzxFu-vOMi_LDUL1kDemwPBFH0ouNeg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
