Dinesh, have you analyzed the full thread dump to see if there is a deadlock?  
I can’t tell just from these 2 threads if there is a deadlock.

Anthony


> On Oct 23, 2018, at 6:32 AM, Dinesh Akhand <dines...@amdocs.com> wrote:
> 
> Hi team,
> 
> Recently we see JVM stuck , in stack trace I can see below method having 
> problem
> 
> As per document
> 
>                From link :
> 
>                                
> https://geode.apache.org/releases/latest/javadoc/org/apache/geode/cache/CacheListener.html
> 
>                this warning:
> 
> WARNING: To avoid risk of deadlock, do not invoke 
> CacheFactory.getAnyInstance() from within any callback methods. Instead use 
> EntryEvent.getRegion().getCache() or RegionEvent.getRegion().getCache()
> What  is the best solution to avoid it.
> 
> Function Execution Processor1" #247 daemon prio=10 os_prio=0 
> tid=0x00007f5798268000 nid=0x3ff5 waiting for monitor entry 
> [0x00007f576adf0000]
>   java.lang.Thread.State: BLOCKED (on object monitor)
>        at 
> org.apache.geode.cache.CacheFactory.getAnyInstance(CacheFactory.java:282)
>        - waiting to lock <0x0000000699feafa0> (a java.lang.Class for 
> org.apache.geode.cache.CacheFactory)
>        at 
> org.apache.geode.management.internal.cli.functions.GetRegionsFunction.execute(GetRegionsFunction.java:44)
>        at 
> org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:185)
>        at 
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:374)
>        at 
> org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:440)
>        at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>        at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>        at 
> org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:662)
>        at 
> org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1108)
>        at java.lang.Thread.run(Thread.java:745
> 
> "P2P message reader for 10.218.110.61(sbimgapp16-server1:65602)<v7>:1026 
> shared ordered uid=139 port=62033" #403 daemon prio=10 os_prio=0 
> tid=0x00007f1ad4114800 nid=0xda7c waiting for monitor entry [0x0000
> 7f1a28fcc000]
>   java.lang.Thread.State: BLOCKED (on object monitor)
>        at 
> org.apache.geode.cache.CacheFactory.getAnyInstance(CacheFactory.java:282)
>        - waiting to lock <0x000000021df685a8> (a java.lang.Class for 
> org.apache.geode.cache.CacheFactory)
>        at 
> amdocs.imdg.statistics.GemFireStatisticsFactory.getStatisticsFactory(GemFireStatisticsFactory.java:43)
>        at 
> amdocs.imdg.statistics.VSDCountersManager.<init>(VSDCountersManager.java:35)
>        at 
> amdocs.imdg.statistics.VSDCountersManager.<clinit>(VSDCountersManager.java:19)
>        at 
> amdocs.imdg.statistics.CountersManagerFactory.getCountersManager(CountersManagerFactory.java:27)
>        at 
> amdocs.imdg.utils.pooling.DataPoolFactory.makeObject(DataPoolFactory.java:42)
>        at 
> org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:797)
>        - locked <0x000000021ebbe630> (a 
> org.apache.commons.pool.impl.GenericKeyedObjectPool)
>        at 
> amdocs.imdg.utils.pooling.DataPool$DataPoolManager.getByteArray(DataPool.java:236)
>        at amdocs.imdg.utils.pooling.DataPool.getByteArray(DataPool.java:98)
>        at amdocs.imdg.model.BusinessData.populateData(BusinessData.java:110)
>        at 
> amdocs.imdg.utils.FlatBuffersUtils.updateBusinessData(FlatBuffersUtils.java:2255)
>        at 
> amdocs.imdg.utils.FlatBuffersUtils.updateCustomerData(FlatBuffersUtils.java:3083)
>        at 
> amdocs.imdg.utils.FlatBuffersUtils.updateNewCustomer(FlatBuffersUtils.java:3103)
>        at 
> amdocs.imdg.utils.FlatBuffersUtils.updateFromCustomerData(FlatBuffersUtils.java:2798)
>        at amdocs.imdg.model.Customer.fromData(Customer.java:696)
>        - locked <0x000000021f874d08> (a amdocs.imdg.model.Customer)
>        at 
> org.apache.geode.internal.InternalDataSerializer.invokeFromData(InternalDataSerializer.java:2372)
>        at 
> org.apache.geode.internal.InternalDataSerializer.readDataSerializable(InternalDataSerializer.java:2395)
>        at org.apache.geode.internal.InternalDataSerializer.basicRead
> 
> 
> 
> Thanks,
> Dinesh Akhand
> 
> “Amdocs’ email platform is based on a third-party, worldwide, cloud-based 
> system. Any emails sent to Amdocs will be processed and stored using such 
> system and are accessible by third party providers of such system on a 
> limited basis. Your sending of emails to Amdocs evidences your consent to the 
> use of such system and such processing, storing and access”.

Reply via email to