Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.4.6
-
None
-
None
-
None
Description
A simple getProperty operation resulting in org.codehaus.groovy.util.AbstractConcurrentMap$Segment.getOrPut and finally waiting for a none existing lock for over 10 minutes (stuck thread). See following stuck thread:
[STUCK] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007fcfea664000 nid=0x1d5c waiting on condition [0x00007fcf484a3000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000059e0e4600> (a org.codehaus.groovy.util.ManagedConcurrentMap$Segment) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) at org.codehaus.groovy.util.LockableObject.lock(LockableObject.java:37) at org.codehaus.groovy.util.AbstractConcurrentMapBase$Segment.removeEntry(AbstractConcurrentMapBase.java:174) at org.codehaus.groovy.util.ManagedConcurrentMap$Entry.finalizeReference(ManagedConcurrentMap.java:81) at org.codehaus.groovy.util.ManagedConcurrentMap$EntryWithValue.finalizeReference(ManagedConcurrentMap.java:115) at org.codehaus.groovy.util.ReferenceManager$1.removeStallEntries(ReferenceManager.java:86) at org.codehaus.groovy.util.ReferenceManager$1.afterReferenceCreation(ReferenceManager.java:94) at org.codehaus.groovy.util.ReferenceManager$2.afterReferenceCreation(ReferenceManager.java:111) at org.codehaus.groovy.util.ManagedReference.<init>(ManagedReference.java:36) at org.codehaus.groovy.util.ManagedReference.<init>(ManagedReference.java:40) at org.codehaus.groovy.util.ManagedConcurrentMap$Entry.<init>(ManagedConcurrentMap.java:55) at org.codehaus.groovy.util.ManagedConcurrentMap$EntryWithValue.<init>(ManagedConcurrentMap.java:98) at org.codehaus.groovy.util.ManagedConcurrentMap$Segment.createEntry(ManagedConcurrentMap.java:46) at org.codehaus.groovy.util.AbstractConcurrentMap$Segment.put(AbstractConcurrentMap.java:157) at org.codehaus.groovy.util.AbstractConcurrentMap$Segment.getOrPut(AbstractConcurrentMap.java:100) at org.codehaus.groovy.util.AbstractConcurrentMap.getOrPut(AbstractConcurrentMap.java:38) at org.codehaus.groovy.runtime.metaclass.ThreadManagedMetaBeanProperty$ThreadBoundGetter.invoke(ThreadManagedMetaBeanProperty.java:183) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1849) at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1155) at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3734) at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1167) at groovy.lang.GroovyObjectSupport.getProperty(GroovyObjectSupport.java:38) at groovy.lang.Script.getProperty(Script.java:58) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:50) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307)