Dan Smith created GEODE-5465:
--------------------------------

             Summary: 
GMSHealthMonitorJUnitTest.testHMServiceHandlesShutdownRace hangs occasionally
                 Key: GEODE-5465
                 URL: https://issues.apache.org/jira/browse/GEODE-5465
             Project: Geode
          Issue Type: Task
            Reporter: Dan Smith


This test appears to have some sort of race condition that can cause it to 
hang. It hung in a precheckin run here:

https://concourse.apachegeode-ci.info/teams/main/pipelines/pr-develop/jobs/IntegrationTest/builds/200

I was able to reproduce the hang by running this test 100 times on my laptop. 
Here's the stack dump from my laptop
{noformat}
"main" #1 prio=5 os_prio=31 tid=0x00007ffb6c80c000 nid=0x2803 waiting on 
condition [0x000070000fff3000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x000000076c74a908> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
        at 
org.apache.geode.distributed.internal.membership.gms.fd.GMSHealthMonitorJUnitTest$TrickySocket.isClosed(GMSHealthMonitorJUnitTest.java:898)
        at 
org.apache.geode.distributed.internal.membership.gms.fd.GMSHealthMonitor.stopServices(GMSHealthMonitor.java:978)
        at 
org.apache.geode.distributed.internal.membership.gms.fd.GMSHealthMonitor.stop(GMSHealthMonitor.java:953)
        at 
org.apache.geode.distributed.internal.membership.gms.fd.GMSHealthMonitorJUnitTest.testHMServiceHandlesShutdownRace(GMSHealthMonitorJUnitTest.java:199)
        

"Geode Failure Detection Server thread 0" #140 daemon prio=5 os_prio=31 
tid=0x00007ffb6c38a800 nid=0x586f runnable [0x0000700011533000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at 
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
        at java.net.ServerSocket.implAccept(ServerSocket.java:545)
        at java.net.ServerSocket.accept(ServerSocket.java:513)
        at 
org.apache.geode.distributed.internal.membership.gms.fd.GMSHealthMonitorJUnitTest$TrickySocket.accept(GMSHealthMonitorJUnitTest.java:880)
        at 
org.apache.geode.distributed.internal.membership.gms.fd.GMSHealthMonitor.lambda$startTcpServer$2(GMSHealthMonitor.java:700)
        at 
org.apache.geode.distributed.internal.membership.gms.fd.GMSHealthMonitor$$Lambda$5/366752671.run(Unknown
 Source)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to