blocked with no lock record ?
David Holmes
david.holmes at oracle.com
Wed Mar 7 23:05:40 PST 2012
<I added a subject line >
On 8/03/2012 4:57 PM, Le Huy wrote:
> Can some one explain me why in stacktrace of hotspot I see a thread
> blocked without any information about lock record by mean what is
> blocking it.
>
> e.g.
>
> ---
>
> 3 "ajp-0.0.0.0-8029-1082" daemon prio=10 tid=0x63721000 nid=0x2cba
> waiting for monitor entry [0x4e619000]
> 4 java.lang.Thread.State: BLOCKED (on object monitor)
> 5 at java.lang.Class.forName0(Native Method)
Most likely the forName call is triggering class initialization and the
thread is blocked on the monitor used to guard that (it is not a monitor
associated with a Java level object hence no information in the
stacktrace). Check if another thread is executing in the <clinit> for
that class.
David Holmes
-----------
> 6 at java.lang.Class.forName(Class.java:186)
> 7 at
> com.my.security.SecurityMethodInterceptor$Rule.isAllowed(SecurityMethodInterceptor.java:102)
> 8 at
> com.my.security.SecurityMethodInterceptor.isAllowed(SecurityMethodInterceptor.java:163)
> 9 at
> com.my.security.SecurityMethodInterceptor.invoke(SecurityMethodInterceptor.java:140)
> 10 at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
> 11 at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
> 12 at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
> 13 at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
> 14 at $Proxy53.setPINValidated(Unknown Source)
> 15 at sun.reflect.GeneratedMethodAccessor285.invoke(Unknown Source)
> 16 at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 17 at java.lang.reflect.Method.invoke(Method.java:616)
> 18 at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
> 19 at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
> 20 at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
> 21 at
> org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
> 22 at
> org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
> 23 at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
> 24 at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
> ...
> removed because it is not relevant
> ---
>
> Huy
More information about the hotspot-dev
mailing list