I realize that I probably should have included more stack trace:

Found one Java-level deadlock:
=============================
"Handling GET //api/python : RequestHandlerThread[#18106]":
  waiting to lock monitor 0x0000000000e4c080 (object 0x000000054239ebc0, a
hudson.model.Hudson),
  which is held by "Handling POST /computer/lp-pure-ha19/configSubmit :
RequestHandlerThread[#17566]"
"Handling POST /computer/lp-pure-ha19/configSubmit :
RequestHandlerThread[#17566]":
  waiting to lock monitor 0x00000000030bf190 (object 0x0000000542d6bc78, a
java.lang.Object),
  which is held by "PeriodicResourceAllocationTask thread"
"PeriodicResourceAllocationTask thread":
  waiting to lock monitor 0x0000000000e4c080 (object 0x000000054239ebc0, a
hudson.model.Hudson),
  which is held by "Handling POST /computer/lp-pure-ha19/configSubmit :
RequestHandlerThread[#17566]"


Java stack information for the threads listed above:
===================================================
"Handling GET //api/python : RequestHandlerThread[#18106]":
        at jenkins.model.Jenkins.getViews(Jenkins.java:1371)
        - waiting to lock <0x000000054239ebc0> (a hudson.model.Hudson)
        at sun.reflect.GeneratedMethodAccessor578.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at
org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:66)
        at org.kohsuke.stapler.export.Property.writeTo(Property.java:113)
        at
org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:179)
        at
org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:176)
        at org.kohsuke.stapler.export.Model.writeTo(Model.java:152)
        at
org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:200)
        at hudson.model.Api.doPython(Api.java:188)
        at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        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:574)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
        at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:203)
        at
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:162)
        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
hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
        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:54)
        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
org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
        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:471)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at
winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
"Handling POST /computer/lp-pure-ha19/configSubmit :
RequestHandlerThread[#17566]":
        at
hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:160)
        - waiting to lock <0x0000000542d6bc78> (a java.lang.Object)
        at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1113)
        at jenkins.model.Jenkins.setNodes(Jenkins.java:1621)
        at hudson.model.Computer.replaceBy(Computer.java:1122)
        - locked <0x000000054239ebc0> (a hudson.model.Hudson)
        at hudson.model.Computer.doConfigSubmit(Computer.java:1076)
        at sun.reflect.GeneratedMethodAccessor1777.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at
org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
        at
org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:28)
        at
org.kohsuke.stapler.Function$InterceptedFunction.invoke(Function.java:389)
        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:574)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
        at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
        at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:203)
        at
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:574)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:659)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:488)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:162)
        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
hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
        at
hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
        at
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
        at
net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
        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.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:63)
        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
org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
        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:471)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at
winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
"PeriodicResourceAllocationTask thread":
        at jenkins.model.Jenkins.save(Jenkins.java:2513)
        - waiting to lock <0x000000054239ebc0> (a hudson.model.Hudson)
        at hudson.model.Node.setTemporaryOfflineCause(Node.java:210)
        at hudson.model.Computer.setNode(Computer.java:613)
        at hudson.slaves.SlaveComputer.setNode(SlaveComputer.java:514)
        at
hudson.model.AbstractCIBase.updateComputer(AbstractCIBase.java:116)
        at
hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:174)
        - locked <0x0000000542d6bc78> (a java.lang.Object)
        at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1113)
        at jenkins.model.Jenkins.setNodes(Jenkins.java:1621)


On Fri, Oct 11, 2013 at 11:40 AM, Marc MacIntyre <[email protected]>wrote:

> My code calls setNodes, and locked up when it  collided with a
> configSubmit on a slave and an api request for /api/python.
>
>         at jenkins.model.Jenkins.save(Jenkins.java:2513)
>         - waiting to lock <0x000000054239ebc0> (a hudson.model.Hudson)
>         at hudson.model.Node.setTemporaryOfflineCause(Node.java:210)
>         at hudson.model.Computer.setNode(Computer.java:613)
>         at hudson.slaves.SlaveComputer.setNode(SlaveComputer.java:514)
>         at
> hudson.model.AbstractCIBase.updateComputer(AbstractCIBase.java:116)
>         at
> hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:174)
>         - locked <0x0000000542d6bc78> (a java.lang.Object)
>         at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1113)
>         at jenkins.model.Jenkins.setNodes(Jenkins.java:1621)
>
> I'm not doing any interesting synchronization calls around my setNodes
> call; should I be?
>
> I'm basically just calling:
>
> Jenkins.getInstance().setNodes(newNodes);
>
> I'm running with 1.466
>
> --
> Marc MacIntyre
>



-- 
Marc MacIntyre

-- 
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].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to