4 Replies Latest reply on May 27, 2010 6:28 AM by Daniel Cullender

    Possible Deadlock Jboss 4.2.3

    Daniel Cullender Newbie

      Hi,

       

      We have been running jboss 4.2.3 for a while now. Recently we have been getting deadlocks and we are battling to narrow down the exact cause. This happens randomly and can take hours to occur. When doing a stack trace, we find the following culprits :

       

       

      Thread: WorkManager(2)-38 : priority:5, demon:true, threadId:479, threadState:BLOCKED, lockName:java.lang.Class@741b31f2

      java.lang.Class.initAnnotationsIfNecessary(Class.java:3067)
      java.lang.Class.getAnnotation(Class.java:3029)
      org.jboss.aop.annotation.AnnotationElement.getVisibleAnnotation(AnnotationElement.java:88)
      org.jboss.aop.Advisor.resolveAnnotation(Advisor.java:321)
      org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:74)
      org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
      org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
      org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      org.jboss.ejb3.service.ServiceContainer.localInvoke(ServiceContainer.java:329)
      org.jboss.ejb3.service.ServiceContainer.localInvoke(ServiceContainer.java:294)
      org.jboss.ejb3.service.ServiceMBeanDelegate.invoke(ServiceMBeanDelegate.java:215)
      org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
      org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
      $Proxy101.get(Unknown Source)

       

      Thread: AsyncNotifier-401 : priority:5, demon:false, threadId:812, threadState:BLOCKED, lockName:java.lang.Class@741b31f2

      java.lang.Class.initAnnotationsIfNecessary(Class.java:3067)
      java.lang.Class.getAnnotation(Class.java:3029)
      org.jboss.aop.annotation.AnnotationElement.getVisibleAnnotation(AnnotationElement.java:88)
      org.jboss.aop.Advisor.resolveAnnotation(Advisor.java:321)
      org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:74)
      org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
      org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
      org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      org.jboss.ejb3.service.ServiceContainer.localInvoke(ServiceContainer.java:329)
      org.jboss.ejb3.service.ServiceContainer.localInvoke(ServiceContainer.java:294)
      org.jboss.ejb3.service.ServiceMBeanDelegate.invoke(ServiceMBeanDelegate.java:215)
      org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
      org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
      $Proxy101.get(Unknown Source)

       

       

      The method  java.lang.Class.initAnnotationsIfNecessary is synchronized and it seems that both threads are hanging on the same class  java.lang.Class@741b31f2.

       

      Any ideas why this would start happening all of a sudden? We upgraded to the latest java 6 patch recently and I am curious if any changes were made to the Class class ....