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.