You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Kirk Lund (JIRA)" <ji...@apache.org> on 2019/01/04 23:51:00 UTC
[jira] [Commented] (GEODE-6232) CI failure:
PersistentPartitionedRegionRegressionTest.doesNotWaitForPreviousInstanceOfOnlineServer
hangs
[ https://issues.apache.org/jira/browse/GEODE-6232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16734686#comment-16734686 ]
Kirk Lund commented on GEODE-6232:
----------------------------------
The cause of this test intermittently hanging is a deadlock between the 2 threads below.
{{RMI TCP Connection(1)-192.168.0.26@5968}} is synchronized on GemFireCacheImpl while waiting to acquire the readLock in ManagementListener.
{{Pooled High Priority Message Processor 2@5963}} is holding the writeLock in ManagementListener while waiting to synchronize on GemFireCacheImpl.
This happens in VM-0 because it has a DistributionMessageObserver test hook that is trying to invoke disconnectFromDS() during beforeProcessMessage for a bucket GII (RequestImageMessage).
{noformat}
"RMI TCP Connection(1)-192.168.0.26@5968" daemon prio=5 tid=0x12 nid=NA waiting
java.lang.Thread.State: WAITING
blocks Pooled High Priority Message Processor 2@5963
at sun.misc.Unsafe.park(Unsafe.java:-1)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
at org.apache.geode.management.internal.beans.ManagementListener.handleEvent(ManagementListener.java:110)
at org.apache.geode.distributed.internal.InternalDistributedSystem.notifyResourceEventListeners(InternalDistributedSystem.java:2201)
at org.apache.geode.distributed.internal.InternalDistributedSystem.handleResourceEvent(InternalDistributedSystem.java:606)
at org.apache.geode.internal.cache.DiskStoreFactoryImpl.create(DiskStoreFactoryImpl.java:144)
- locked <0x17bb> (a org.apache.geode.internal.cache.GemFireCacheImpl)
at org.apache.geode.internal.cache.GemFireCacheImpl.getOrCreateDefaultDiskStore(GemFireCacheImpl.java:2566)
at org.apache.geode.internal.cache.LocalRegion.findDiskStore(LocalRegion.java:7600)
at org.apache.geode.internal.cache.PartitionedRegion.findDiskStore(PartitionedRegion.java:9002)
at org.apache.geode.internal.cache.LocalRegion.<init>(LocalRegion.java:647)
at org.apache.geode.internal.cache.PartitionedRegion.<init>(PartitionedRegion.java:730)
at org.apache.geode.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3015)
- locked <0x180a> (a java.util.HashMap)
at org.apache.geode.internal.cache.GemFireCacheImpl.basicCreateRegion(GemFireCacheImpl.java:2956)
at org.apache.geode.internal.cache.GemFireCacheImpl.createRegion(GemFireCacheImpl.java:2944)
at org.apache.geode.cache.RegionFactory.create(RegionFactory.java:755)
at org.apache.geode.internal.cache.partitioned.PersistentPartitionedRegionRegressionTest.createPartitionedRegion(PersistentPartitionedRegionRegressionTest.java:559)
at org.apache.geode.internal.cache.partitioned.PersistentPartitionedRegionRegressionTest.lambda$doesNotWaitForPreviousInstanceOfOnlineServer$bb17a952$7(PersistentPartitionedRegionRegressionTest.java:393)
at org.apache.geode.internal.cache.partitioned.PersistentPartitionedRegionRegressionTest$$Lambda$104.640621901.run(Unknown Source:-1)
at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.geode.test.dunit.internal.MethodInvoker.executeObject(MethodInvoker.java:123)
at org.apache.geode.test.dunit.internal.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:69)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source:-1)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(AccessController.java:-1)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$6.2031477857.run(Unknown Source:-1)
at java.security.AccessController.doPrivileged(AccessController.java:-1)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
"Pooled High Priority Message Processor 2@5963" daemon prio=10 tid=0x6f8e nid=NA waiting for monitor entry
java.lang.Thread.State: BLOCKED
waiting for RMI TCP Connection(1)-192.168.0.26@5968 to release lock on <0x180a> (a java.util.HashMap)
at org.apache.geode.internal.cache.GemFireCacheImpl.removeRoot(GemFireCacheImpl.java:3576)
at org.apache.geode.internal.cache.LocalRegion.basicDestroyRegion(LocalRegion.java:6333)
at org.apache.geode.internal.cache.DistributedRegion.basicDestroyRegion(DistributedRegion.java:1755)
at org.apache.geode.internal.cache.LocalRegion.basicDestroyRegion(LocalRegion.java:6255)
at org.apache.geode.internal.cache.LocalRegion.localDestroyRegion(LocalRegion.java:2242)
at org.apache.geode.internal.cache.AbstractRegion.localDestroyRegion(AbstractRegion.java:430)
at org.apache.geode.management.internal.ManagementResourceRepo.destroyLocalMonitoringRegion(ManagementResourceRepo.java:73)
at org.apache.geode.management.internal.LocalManager.cleanUpResources(LocalManager.java:260)
at org.apache.geode.management.internal.LocalManager.stopManager(LocalManager.java:388)
at org.apache.geode.management.internal.SystemManagementService.close(SystemManagementService.java:239)
- locked <0x1812> (a java.util.HashMap)
at org.apache.geode.management.internal.beans.ManagementAdapter.handleCacheRemoval(ManagementAdapter.java:737)
at org.apache.geode.management.internal.beans.ManagementListener.handleEvent(ManagementListener.java:119)
at org.apache.geode.distributed.internal.InternalDistributedSystem.notifyResourceEventListeners(InternalDistributedSystem.java:2201)
at org.apache.geode.distributed.internal.InternalDistributedSystem.handleResourceEvent(InternalDistributedSystem.java:606)
at org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:2127)
- locked <0xbd0> (a java.lang.Class)
at org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1353)
at org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1016)
at org.apache.geode.test.dunit.Disconnect.disconnectFromDS(Disconnect.java:43)
at org.apache.geode.internal.cache.partitioned.PersistentPartitionedRegionRegressionTest$2.beforeProcessMessage(PersistentPartitionedRegionRegressionTest.java:359)
at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:365)
at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:432)
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.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:956)
at org.apache.geode.distributed.internal.ClusterDistributionManager.doHighPriorityThread(ClusterDistributionManager.java:834)
at org.apache.geode.distributed.internal.ClusterDistributionManager$$Lambda$36.853691000.invoke(Unknown Source:-1)
at org.apache.geode.internal.logging.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:121)
at org.apache.geode.internal.logging.LoggingThreadFactory$$Lambda$34.67404871.run(Unknown Source:-1)
at java.lang.Thread.run(Thread.java:745)
{noformat}
> CI failure: PersistentPartitionedRegionRegressionTest.doesNotWaitForPreviousInstanceOfOnlineServer hangs
> --------------------------------------------------------------------------------------------------------
>
> Key: GEODE-6232
> URL: https://issues.apache.org/jira/browse/GEODE-6232
> Project: Geode
> Issue Type: Bug
> Reporter: Lynn Gallinat
> Assignee: Kirk Lund
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> I did not find any call stacks.
> The distributedTest-progress.txt file shows this test starts but does not complete:
> 2018-12-20 19:52:27.157 +0000 Starting test org.apache.geode.internal.cache.partitioned.PersistentPartitionedRegionRegressionTest doesNotWaitForPreviousInstanceOfOnlineServer
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-= Test Results URI =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> http://files.apachegeode-ci.info/builds/apache-develop-main/1.9.0-build.302/test-results/distributedTest/1545341717/
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Test report artifacts from this job are available at:
> http://files.apachegeode-ci.info/builds/apache-develop-main/1.9.0-build.302/test-artifacts/1545341717/distributedtestfiles-OpenJDK8-1.9.0-build.302.tgz
> This occurred in DistributedTestOpenJDK8 tab #262, but a similar failure is showing on tab #242
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)