[ https://issues.apache.org/jira/browse/GROOVY-9780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boon updated GROOVY-9780: ------------------------- 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) was: A get operation resulting in waiting for a none existing lock for over 10 minutes. 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) > stuck waiting for lock with AbstractConcurrentMap$Segment.put > -------------------------------------------------------------- > > Key: GROOVY-9780 > URL: https://issues.apache.org/jira/browse/GROOVY-9780 > Project: Groovy > Issue Type: Bug > Affects Versions: 2.4.6 > Reporter: Boon > Priority: Major > > 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) -- This message was sent by Atlassian Jira (v8.3.4#803005)