[
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)