Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-15929

Visiting Configure System page in Jenkins causes deadlock in JClouds plugin, freezing entire system

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Critical Critical
    • jclouds-plugin
    • None
    • Jenkins 1.492, JClouds plugin 2.3.1, CentOS 6

      Booting up jenkins and using it works fine.
      If I visit the Configure System page, it appears to populate the settings I have correctly but then it freezes all of jenkins (first noticed as expanding a help bubble never succeeded). No more logs are produced by jenkins.

      Running jstack on the Jenkins process reveals this:

      Found one Java-level deadlock:
      =============================
      
      "Handling POST /jenkins/descriptorByName/jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate/fillHardwareIdItems : RequestHandlerThread[#14]":
        waiting to lock Monitor@0x00007f7ad800aac8 (Object@0x00000004c4438d38, a java/lang/Class),
        which is held by "Handling POST /jenkins/descriptorByName/jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate/fillHardwareIdItems : RequestHandlerThread[#20]"
      "Handling POST /jenkins/descriptorByName/jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate/fillHardwareIdItems : RequestHandlerThread[#20]":
        waiting to lock Monitor@0x00007f7afc207150 (Object@0x00000004c1164bc8, a java/lang/Class),
        which is held by "Handling POST /jenkins/descriptorByName/jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate/fillHardwareIdItems : RequestHandlerThread[#14]"
      

      Here are the thread stacktraces that contain RequestHandlerThread:

      Thread 9255: (state = BLOCKED)
       - sun.reflect.annotation.AnnotationType.getInstance(java.lang.Class) @bci=0, line=63 (Interpreted frame)
       - sun.reflect.annotation.AnnotationParser.parseAnnotation(java.nio.ByteBuffer, sun.reflect.ConstantPool, java.lang.Class, boolean) @bci=94, line=202 (Interpreted frame)
       - sun.reflect.annotation.AnnotationParser.parseAnnotations2(byte[], sun.reflect.ConstantPool, java.lang.Class) @bci=39, line=69 (Compiled frame)
       - sun.reflect.annotation.AnnotationParser.parseAnnotations(byte[], sun.reflect.ConstantPool, java.lang.Class) @bci=11, line=52 (Compiled frame)
       - java.lang.Class.initAnnotationsIfNecessary() @bci=22, line=3070 (Interpreted frame)
       - java.lang.Class.getAnnotation(java.lang.Class) @bci=13, line=3029 (Interpreted frame)
       - com.google.inject.internal.Annotations.isRetainedAtRuntime(java.lang.Class) @bci=3, line=57 (Interpreted frame)
       - com.google.inject.Key.ensureRetainedAtRuntime(java.lang.Class) @bci=1, line=362 (Interpreted frame)
       - com.google.inject.Key.strategyFor(java.lang.annotation.Annotation) @bci=15, line=339 (Interpreted frame)
       - com.google.inject.Key.get(com.google.inject.TypeLiteral, java.lang.annotation.Annotation) @bci=6, line=274 (Interpreted frame)
       - com.google.inject.assistedinject.FactoryProvider2.assistKey(java.lang.reflect.Method, com.google.inject.Key, com.google.inject.internal.Errors) @bci=14, line=522 (Interpreted frame)
       - com.google.inject.assistedinject.FactoryProvider2.<init>(com.google.inject.Key, com.google.inject.assistedinject.BindingCollector) @bci=306, line=235 (Interpreted frame)
       - com.google.inject.assistedinject.FactoryModuleBuilder$1.configure() @bci=15, line=334 (Interpreted frame)
       - com.google.inject.AbstractModule.configure(com.google.inject.Binder) @bci=31, line=62 (Interpreted frame)
       - com.google.inject.spi.Elements$RecordingBinder.install(com.google.inject.Module) @bci=31, line=229 (Interpreted frame)
       - com.google.inject.AbstractModule.install(com.google.inject.Module) @bci=5, line=121 (Interpreted frame)
       - org.jclouds.rest.config.RestModule.configure() @bci=36, line=96 (Interpreted frame)
       - org.jclouds.rest.config.RestClientModule.configure() @bci=1, line=77 (Interpreted frame)
       - org.jclouds.aws.ec2.config.AWSEC2RestClientModule.configure() @bci=33, line=164 (Interpreted frame)
       - com.google.inject.AbstractModule.configure(com.google.inject.Binder) @bci=31, line=62 (Interpreted frame)
       - com.google.inject.spi.Elements$RecordingBinder.install(com.google.inject.Module) @bci=31, line=229 (Interpreted frame)
       - com.google.inject.spi.Elements.getElements(com.google.inject.Stage, java.lang.Iterable) @bci=40, line=103 (Interpreted frame)
       - com.google.inject.internal.InjectorShell$Builder.build(com.google.inject.internal.Initializer, com.google.inject.internal.ProcessedBindingData, com.google.inject.internal.util.Stopwatch, com.google.inject.internal.Errors) @bci=99, line=136 (Interpreted frame)
       - com.google.inject.internal.InternalInjectorCreator.build() @bci=48, line=104 (Interpreted frame)
       - com.google.inject.Guice.createInjector(com.google.inject.Stage, java.lang.Iterable) @bci=15, line=94 (Interpreted frame)
       - org.jclouds.ContextBuilder.buildInjector(org.jclouds.providers.ProviderMetadata, org.jclouds.domain.Credentials, java.util.List) @bci=112, line=321 (Interpreted frame)
       - org.jclouds.ContextBuilder.buildInjector() @bci=125, line=261 (Interpreted frame)
       - org.jclouds.ContextBuilder.buildView(com.google.common.reflect.TypeToken) @bci=74, line=521 (Interpreted frame)
       - org.jclouds.ContextBuilder.buildView(java.lang.Class) @bci=13, line=501 (Interpreted frame)
       - jenkins.plugins.jclouds.compute.JCloudsCloud.ctx(java.lang.String, java.lang.String, java.lang.String, java.util.Properties) @bci=34, line=169 (Interpreted frame)
       - jenkins.plugins.jclouds.compute.JCloudsCloud.ctx(java.lang.String, java.lang.String, java.lang.String, java.lang.String) @bci=30, line=163 (Interpreted frame)
       - jenkins.plugins.jclouds.compute.JCloudsSlaveTemplate$DescriptorImpl.doFillHardwareIdItems(java.lang.String, java.lang.String, java.lang.String, java.lang.String) @bci=102, line=383 (Interpreted frame)
       - sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) @bci=0 (Interpreted frame)
       - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=87, line=39 (Interpreted frame)
       - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=6, line=25 (Compiled frame)
       - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) @bci=161, line=597 (Compiled frame)
       - org.kohsuke.stapler.Function$InstanceFunction.invoke(org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse, java.lang.Object, java.lang.Object[]) @bci=7, line=288 (Interpreted frame)
       - org.kohsuke.stapler.Function.bindAndInvoke(java.lang.Object, org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse, java.lang.Object[]) @bci=233, line=151 (Interpreted frame)
       - org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(java.lang.Object, org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object[]) @bci=6, line=90 (Interpreted frame)
       - org.kohsuke.stapler.MetaClass$1.doDispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=42, line=111 (Interpreted frame)
       - org.kohsuke.stapler.NameBasedDispatcher.dispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=57, line=53 (Compiled frame)
       - org.kohsuke.stapler.Stapler.tryInvoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=515, line=573 (Compiled frame)
       - org.kohsuke.stapler.Stapler.invoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=117, line=658 (Interpreted frame)
       - org.kohsuke.stapler.MetaClass$6.doDispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=81, line=241 (Interpreted frame)
       - org.kohsuke.stapler.NameBasedDispatcher.dispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=57, line=53 (Compiled frame)
       - org.kohsuke.stapler.Stapler.tryInvoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=515, line=573 (Compiled frame)
       - org.kohsuke.stapler.Stapler.invoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=117, line=658 (Interpreted frame)
       - org.kohsuke.stapler.Stapler.invoke(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.String) @bci=82, line=487 (Interpreted frame)
       - org.kohsuke.stapler.Stapler.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) @bci=322, line=164 (Interpreted frame)
       - javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=23, line=45 (Interpreted frame)
       - winstone.ServletConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String) @bci=118, line=248 (Interpreted frame)
       - winstone.RequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=522, line=333 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=82, line=376 (Interpreted frame)
       - hudson.util.PluginServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=18, line=95 (Interpreted frame)
       - hudson.util.PluginServletFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=11, line=87 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.security.csrf.CrumbFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=268, line=85 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=18, line=84 (Interpreted frame)
       - hudson.security.UnwrapSecurityExceptionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=3, line=51 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=37, line=166 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=144, line=125 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=313, line=142 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.AbstractProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=141, line=271 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=429, line=173 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - jenkins.security.ApiTokenFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=147, line=63 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=259, line=249 (Interpreted frame)
       - hudson.security.HttpSessionContextIntegrationFilter2.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=99, line=66 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - hudson.security.ChainedServletFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=76 (Interpreted frame)
       - hudson.security.HudsonFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=41, line=164 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - org.kohsuke.stapler.compression.CompressionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=33, line=50 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.util.CharacterEncodingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=43, line=81 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - winstone.RequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=483, line=331 (Interpreted frame)
       - winstone.RequestHandlerThread.processRequest(winstone.WebAppConfiguration, winstone.WinstoneRequest, winstone.WinstoneResponse, java.lang.String) @bci=38, line=215 (Interpreted frame)
       - winstone.RequestHandlerThread.run() @bci=631, line=138 (Interpreted frame)
       - java.util.concurrent.Executors$RunnableAdapter.call() @bci=4, line=441 (Interpreted frame)
       - java.util.concurrent.FutureTask$Sync.innerRun() @bci=30, line=303 (Interpreted frame)
       - java.util.concurrent.FutureTask.run() @bci=4, line=138 (Interpreted frame)
       - winstone.BoundedExecutorService$1.run() @bci=4, line=77 (Interpreted frame)
       - java.util.concurrent.ThreadPoolExecutor$Worker.runTask(java.lang.Runnable) @bci=59, line=886 (Interpreted frame)
       - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=28, line=908 (Interpreted frame)
       - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)
      Thread 9254: (state = BLOCKED)
       - org.kohsuke.stapler.WebApp.getMetaClass(org.kohsuke.stapler.lang.Klass) @bci=13, line=180 (Interpreted frame)
       - org.kohsuke.stapler.WebApp.getMetaClass(java.lang.Object) @bci=6, line=196 (Interpreted frame)
       - org.kohsuke.stapler.Stapler.tryInvoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=219, line=538 (Compiled frame)
       - org.kohsuke.stapler.Stapler.invoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=117, line=658 (Interpreted frame)
       - org.kohsuke.stapler.Stapler.invoke(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.String) @bci=82, line=487 (Interpreted frame)
       - org.kohsuke.stapler.Stapler.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) @bci=322, line=164 (Interpreted frame)
       - javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=23, line=45 (Interpreted frame)
       - winstone.ServletConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String) @bci=118, line=248 (Interpreted frame)
       - winstone.RequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=522, line=333 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=82, line=376 (Interpreted frame)
       - hudson.util.PluginServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=18, line=95 (Interpreted frame)
       - hudson.util.PluginServletFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=11, line=87 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.security.csrf.CrumbFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=268, line=85 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=18, line=84 (Interpreted frame)
       - hudson.security.UnwrapSecurityExceptionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=3, line=51 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=37, line=166 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=144, line=125 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=313, line=142 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.AbstractProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=141, line=271 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=429, line=173 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - jenkins.security.ApiTokenFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=147, line=63 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=259, line=249 (Interpreted frame)
       - hudson.security.HttpSessionContextIntegrationFilter2.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=99, line=66 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - hudson.security.ChainedServletFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=76 (Interpreted frame)
       - hudson.security.HudsonFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=41, line=164 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - org.kohsuke.stapler.compression.CompressionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=33, line=50 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.util.CharacterEncodingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=43, line=81 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - winstone.RequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=483, line=331 (Interpreted frame)
       - winstone.RequestHandlerThread.processRequest(winstone.WebAppConfiguration, winstone.WinstoneRequest, winstone.WinstoneResponse, java.lang.String) @bci=38, line=215 (Interpreted frame)
       - winstone.RequestHandlerThread.run() @bci=631, line=138 (Interpreted frame)
       - java.util.concurrent.Executors$RunnableAdapter.call() @bci=4, line=441 (Interpreted frame)
       - java.util.concurrent.FutureTask$Sync.innerRun() @bci=30, line=303 (Interpreted frame)
       - java.util.concurrent.FutureTask.run() @bci=4, line=138 (Interpreted frame)
       - winstone.BoundedExecutorService$1.run() @bci=4, line=77 (Interpreted frame)
       - java.util.concurrent.ThreadPoolExecutor$Worker.runTask(java.lang.Runnable) @bci=59, line=886 (Interpreted frame)
       - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=28, line=908 (Interpreted frame)
       - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)
      Thread 9253: (state = BLOCKED)
       - sun.reflect.annotation.AnnotationType.getInstance(java.lang.Class) @bci=0, line=63 (Interpreted frame)
       - sun.reflect.annotation.AnnotationParser.parseAnnotation(java.nio.ByteBuffer, sun.reflect.ConstantPool, java.lang.Class, boolean) @bci=94, line=202 (Interpreted frame)
       - sun.reflect.annotation.AnnotationParser.parseParameterAnnotations2(byte[], sun.reflect.ConstantPool, java.lang.Class) @bci=66, line=133 (Interpreted frame)
       - sun.reflect.annotation.AnnotationParser.parseParameterAnnotations(byte[], sun.reflect.ConstantPool, java.lang.Class) @bci=3, line=110 (Interpreted frame)
       - java.lang.reflect.Method.getParameterAnnotations() @bci=40, line=751 (Interpreted frame)
       - org.kohsuke.stapler.Function$InstanceFunction.getParameterAnnotations() @bci=4, line=284 (Interpreted frame)
       - org.kohsuke.stapler.Function.bindAndInvoke(java.lang.Object, org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse, java.lang.Object[]) @bci=7, line=115 (Interpreted frame)
       - org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(java.lang.Object, org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object[]) @bci=6, line=90 (Interpreted frame)
       - org.kohsuke.stapler.MetaClass$1.doDispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=42, line=111 (Interpreted frame)
       - org.kohsuke.stapler.NameBasedDispatcher.dispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=57, line=53 (Compiled frame)
       - org.kohsuke.stapler.Stapler.tryInvoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=515, line=573 (Compiled frame)
       - org.kohsuke.stapler.Stapler.invoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=117, line=658 (Interpreted frame)
       - org.kohsuke.stapler.MetaClass$6.doDispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=81, line=241 (Interpreted frame)
       - org.kohsuke.stapler.NameBasedDispatcher.dispatch(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=57, line=53 (Compiled frame)
       - org.kohsuke.stapler.Stapler.tryInvoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=515, line=573 (Compiled frame)
       - org.kohsuke.stapler.Stapler.invoke(org.kohsuke.stapler.RequestImpl, org.kohsuke.stapler.ResponseImpl, java.lang.Object) @bci=117, line=658 (Interpreted frame)
       - org.kohsuke.stapler.Stapler.invoke(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.String) @bci=82, line=487 (Interpreted frame)
       - org.kohsuke.stapler.Stapler.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) @bci=322, line=164 (Interpreted frame)
       - javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=23, line=45 (Interpreted frame)
       - winstone.ServletConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String) @bci=118, line=248 (Interpreted frame)
       - winstone.RequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=522, line=333 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=82, line=376 (Interpreted frame)
       - hudson.util.PluginServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=18, line=95 (Interpreted frame)
       - hudson.util.PluginServletFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=11, line=87 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.security.csrf.CrumbFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=341, line=91 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=18, line=84 (Interpreted frame)
       - hudson.security.UnwrapSecurityExceptionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=3, line=51 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=37, line=166 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=144, line=125 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=313, line=142 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.AbstractProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=141, line=271 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=429, line=173 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - jenkins.security.ApiTokenFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=147, line=63 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=259, line=249 (Interpreted frame)
       - hudson.security.HttpSessionContextIntegrationFilter2.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=99, line=66 (Interpreted frame)
       - hudson.security.ChainedServletFilter$1.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=45, line=87 (Interpreted frame)
       - hudson.security.ChainedServletFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=76 (Interpreted frame)
       - hudson.security.HudsonFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=41, line=164 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - org.kohsuke.stapler.compression.CompressionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=33, line=50 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - hudson.util.CharacterEncodingFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=43, line=81 (Interpreted frame)
       - winstone.FilterConfiguration.execute(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) @bci=25, line=194 (Interpreted frame)
       - winstone.RequestDispatcher.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=48, line=366 (Interpreted frame)
       - winstone.RequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) @bci=483, line=331 (Interpreted frame)
       - winstone.RequestHandlerThread.processRequest(winstone.WebAppConfiguration, winstone.WinstoneRequest, winstone.WinstoneResponse, java.lang.String) @bci=38, line=215 (Interpreted frame)
       - winstone.RequestHandlerThread.run() @bci=631, line=138 (Interpreted frame)
       - java.util.concurrent.Executors$RunnableAdapter.call() @bci=4, line=441 (Interpreted frame)
       - java.util.concurrent.FutureTask$Sync.innerRun() @bci=30, line=303 (Interpreted frame)
       - java.util.concurrent.FutureTask.run() @bci=4, line=138 (Interpreted frame)
       - winstone.BoundedExecutorService$1.run() @bci=4, line=77 (Interpreted frame)
       - java.util.concurrent.ThreadPoolExecutor$Worker.runTask(java.lang.Runnable) @bci=59, line=886 (Interpreted frame)
       - java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=28, line=908 (Interpreted frame)
       - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame)

      I have the complete stack dump too, if that is needed. The only solution is restarting jenkins once the page has been visited.

          [JENKINS-15929] Visiting Configure System page in Jenkins causes deadlock in JClouds plugin, freezing entire system

          Adam Rofer added a comment -

          It works with the second one removed. Tomorrow I can try adding a second one via the UI, save, and then come back to the page to see if the issue remains.

          Adam Rofer added a comment - It works with the second one removed. Tomorrow I can try adding a second one via the UI, save, and then come back to the page to see if the issue remains.

          Andrew Bayer added a comment -

          Good news: I've reproduced this. And I've narrowed down when this started: 1.488 works fine, 1.489 deadlocks. I'm gonna ask kohsuke to take a look at this and see if he has any ideas.

          Andrew Bayer added a comment - Good news: I've reproduced this. And I've narrowed down when this started: 1.488 works fine, 1.489 deadlocks. I'm gonna ask kohsuke to take a look at this and see if he has any ideas.

          Adam Rofer added a comment -

          I wonder if this is related to JENKINS-15858...

          Adam Rofer added a comment - I wonder if this is related to JENKINS-15858 ...

          Andrew Bayer added a comment -

          Almost certainly. I'll link this to that issue.

          Andrew Bayer added a comment - Almost certainly. I'll link this to that issue.

          Adam Rofer added a comment -

          Any news on this? Some of my work is blocked by this

          Adam Rofer added a comment - Any news on this? Some of my work is blocked by this

          We need more information, as these three threads listed in the description do not form a dead lock. If you have it, please just add the entire thread dump and let us do the figuring out.

          Can you also try Oracle JVMs or OpenJDKs so that the thread dump captures more information?

          Feel free to reopen the ticket when you have more details.

          Kohsuke Kawaguchi added a comment - We need more information, as these three threads listed in the description do not form a dead lock. If you have it, please just add the entire thread dump and let us do the figuring out. Can you also try Oracle JVMs or OpenJDKs so that the thread dump captures more information? Feel free to reopen the ticket when you have more details.

          Adam Rofer added a comment -

          We are using Oracle JDK 1.6.0_33 in this case, let me see if I can dig up the thread dump from before. I have since retried and reproduced the issue (a month ago), so if I cannot find the old dump I can easily reproduce it again. Reproduction of this issue is pretty simple.

          Adam Rofer added a comment - We are using Oracle JDK 1.6.0_33 in this case, let me see if I can dig up the thread dump from before. I have since retried and reproduced the issue (a month ago), so if I cannot find the old dump I can easily reproduce it again. Reproduction of this issue is pretty simple.

          Adam Rofer added a comment - - edited

          Stack dumps from the time this issue was reproduced (1.492 ~ Nov 29, 2012)

          Adam Rofer added a comment - - edited Stack dumps from the time this issue was reproduced (1.492 ~ Nov 29, 2012)

          Adam Rofer added a comment -

          Attached requested jstack output. Let me know if I need to reproduce it again (it has since been reproduced about 1-2 months ago on the latest Jenkins version available at that time)

          Adam Rofer added a comment - Attached requested jstack output. Let me know if I need to reproduce it again (it has since been reproduced about 1-2 months ago on the latest Jenkins version available at that time)

          Fritz Elfert added a comment -

          Out of date

          Fritz Elfert added a comment - Out of date

            kohsuke Kohsuke Kawaguchi
            adam_rofer Adam Rofer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: