[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] Possible synchronization problem in org.aspectj.weaver.World$TypeMap
|
I have a VM in a cluster that will sometimes stop taking work. The
thread dump shows that one thread is holding a lock in Spring code and
blocking all the other threads. The blocking thread appears to be
stuck in an infinite loop in java.util.WeakHashMap.
It appears that there is no synchronization of access to the
org.aspectj.weaver.World$TypeMap.expendableMap which can cause
corruption and the WeakHashMap.get() method to go into an infinite
loop - at least on the IBM 1.5 JVM. We've seen and fixed this
behavior before in other code (eg. Sun's javax.el implementation).
State : Waiting on condition
Owns Monitor Lock on
java/util/concurrent/ConcurrentHashMap@58574E90/58574E9C
Java Stack
at java/util/WeakHashMap.get(WeakHashMap.java:362(Compiled Code))
at org/aspectj/weaver/World$TypeMap.get(World.java:967(Compiled Code))
at org/aspectj/weaver/World.resolve(World.java:250(Compiled Code))
at org/aspectj/weaver/World.resolve(World.java:191(Compiled Code))
at org/aspectj/weaver/World.resolve(World.java:338(Compiled Code))
at org/aspectj/weaver/internal/tools/
PointcutExpressionImpl
.couldMatchJoinPointsInType(PointcutExpressionImpl.java:76(Compiled
Code))
at org/springframework/aop/aspectj/
AspectJExpressionPointcut.matches(AspectJExpressionPointcut.java:
218(Compiled Code))
at org/springframework/aop/support/AopUtils.canApply(AopUtils.java:
189(Compiled Code))
at org/springframework/aop/support/AopUtils.canApply(AopUtils.java:
244(Compiled Code))
at org/springframework/aop/support/
AopUtils.findAdvisorsThatCanApply(AopUtils.java:278(Compiled Code))
at org/springframework/aop/framework/autoproxy/
AbstractAdvisorAutoProxyCreator
.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:83(Compiled
Code))