You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "nabarun (JIRA)" <ji...@apache.org> on 2018/10/03 21:38:20 UTC

[jira] [Closed] (GEODE-5465) GMSHealthMonitorJUnitTest.testHMServiceHandlesShutdownRace hangs occasionally

     [ https://issues.apache.org/jira/browse/GEODE-5465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

nabarun closed GEODE-5465.
--------------------------

> GMSHealthMonitorJUnitTest.testHMServiceHandlesShutdownRace hangs occasionally
> -----------------------------------------------------------------------------
>
>                 Key: GEODE-5465
>                 URL: https://issues.apache.org/jira/browse/GEODE-5465
>             Project: Geode
>          Issue Type: Task
>            Reporter: Dan Smith
>            Assignee: Brian Rowe
>            Priority: Major
>              Labels: pull-request-available, swat
>             Fix For: 1.7.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> 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)