You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Boon (Jira)" <ji...@apache.org> on 2020/10/21 20:50:00 UTC

[jira] [Commented] (GROOVY-9780) stuck waiting for lock with AbstractConcurrentMap$Segment.put

    [ https://issues.apache.org/jira/browse/GROOVY-9780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218587#comment-17218587 ] 

Boon commented on GROOVY-9780:
------------------------------

The question is why ReferenceManager$1.removeStallEntries ?  Is it because of some cache size related?

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