You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Swapnil Bawaskar (JIRA)" <ji...@apache.org> on 2018/02/01 22:52:56 UTC

[jira] [Closed] (GEODE-3958) TomcatSessionBackwardsCompatibilityTest fails to shutdown server due to non daemon client queue initialization thread

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

Swapnil Bawaskar closed GEODE-3958.
-----------------------------------

> TomcatSessionBackwardsCompatibilityTest fails to shutdown server due to non daemon client queue initialization thread
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-3958
>                 URL: https://issues.apache.org/jira/browse/GEODE-3958
>             Project: Geode
>          Issue Type: Bug
>          Components: client/server
>            Reporter: Dan Smith
>            Priority: Major
>             Fix For: 1.4.0
>
>
> TomcatSessionBackwardsCompatibilityTest has been failing the nightly builds with the below error message.
> {noformat}
> org.junit.ComparisonFailure: [....The Cache Server process terminated unexpectedly with exit status 1. Please refer to the log file in /Users/dsmith/Documents/Code/gemfire/open/geode-assembly/build/distributedTest/server for full details.
> Exception in thread "main" java.lang.RuntimeException: A PID file already exists and a Server may be running in /Users/dsmith/Documents/Code/gemfire/open/geode-assembly/build/distributedTest/server on 10.118.19.21[0].
> 	at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:810)
> 	at org.apache.geode.distributed.ServerLauncher.run(ServerLauncher.java:692)
> 	at org.apache.geode.distributed.ServerLauncher.main(ServerLauncher.java:226)
> Caused by: org.apache.geode.internal.process.FileAlreadyExistsException: Pid file already exists: /Users/dsmith/Documents/Code/gemfire/open/geode-assembly/build/distributedTest/server/vf.gf.server.pid for process 4524
> 	at org.apache.geode.internal.process.LocalProcessLauncher.checkOtherPid(LocalProcessLauncher.java:151)
> 	at org.apache.geode.internal.process.LocalProcessLauncher.writePid(LocalProcessLauncher.java:122)
> 	at org.apache.geode.internal.process.LocalProcessLauncher.<init>(LocalProcessLauncher.java:70)
> 	at org.apache.geode.internal.process.ControllableProcess.createLocalProcessLauncher(ControllableProcess.java:158)
> 	at org.apache.geode.internal.process.ControllableProcess.<init>(ControllableProcess.java:55)
> 	at org.apache.geode.internal.process.ControllableProcess.<init>(ControllableProcess.java:47)
> 	at org.apache.geode.distributed.ServerLauncher.start(ServerLauncher.java:746)
> 	... 2 more
> {noformat}
> I was able to reproduce this failure locally. What's happening is that the first test runs successfully, and then the remaining tests fail with this error because there is a server process running. The test is using gfsh to start and stop the server in the same directory.
> I got a stack trace and logsfrom the running server. From the the logs of the server, it did get the shutdown message.
> {noformat}
> [info 2017/11/06 17:57:49.690 PST server <Thread-22> tid=0x74] DistributionManager stopped in 109ms.
> [info 2017/11/06 17:57:49.691 PST server <Thread-22> tid=0x74] Marking DistributionManager 10.118.19.21(server:4524)<v1>:1025 as closed.
> {noformat}
> However, the process did not die because there is still a non daemon thread running
> {noformat}
> "Client Queue Initialization  Thread 0" #89 prio=5 os_prio=31 tid=0x00007f8b1be8f800 nid=0xb903 waiting on condition [0x000070000bf17000]
>    java.lang.Thread.State: WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x000000076b5ea308> (a java.util.concurrent.SynchronousQueue$TransferStack)
> 	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:458)
> 	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
> 	at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:924)
> 	at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$3$1.run(AcceptorImpl.java:610)
> 	at java.lang.Thread.run(Thread.java:748)
> {noformat}
> This thread was added recently for GEODE-3637. It needs to be cleaned up as part of member shutdown.



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