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)