[jboss-jira] [JBoss JIRA] (WFCORE-203) CLI instance hanging around after test suite run

Stuart Douglas (JIRA) issues at jboss.org
Sun Oct 26 20:58:35 EDT 2014


     [ https://issues.jboss.org/browse/WFCORE-203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stuart Douglas updated WFCORE-203:
----------------------------------
    Description: 
After a test suite run I see a CLI instance that has locked up. The issue is that remoting is not shutting down cleanly for some reason, which causes the shutdown hook thread to block. 

Even though the remoting threads are deamon threads, the shutdown thread is not, so it is actually the shutdown thread the is preventing the JVM from terminating. 


Relevant stack traces are:

{noformat}

"Remoting "cli-client" I/O-1" daemon prio=5 tid=0x00007feefb966000 nid=0x5903 waiting on condition [0x0000000120d7d000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000007acd20818> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
	at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:389)
	at org.jboss.aesh.console.reader.ConsoleInputSession$1.read(ConsoleInputSession.java:39)
	at org.jboss.aesh.terminal.POSIXTerminal.read(POSIXTerminal.java:95)
	at org.jboss.aesh.console.Console.read(Console.java:397)
	at org.jboss.aesh.console.Console.read(Console.java:346)
	at org.jboss.as.cli.impl.Console$Factory$1.readLine(Console.java:178)
	at org.jboss.as.cli.impl.CommandContextImpl.readLine(CommandContextImpl.java:750)
	at org.jboss.as.cli.impl.CommandContextImpl.handleSSLFailure(CommandContextImpl.java:966)
	at org.jboss.as.cli.impl.CommandContextImpl.access$500(CommandContextImpl.java:170)
	at org.jboss.as.cli.impl.CommandContextImpl$LazyDelagatingTrustManager$1.run(CommandContextImpl.java:1636)
	at org.jboss.as.protocol.GeneralTimeoutHandler.suspendAndExecute(GeneralTimeoutHandler.java:45)
	at org.jboss.as.cli.impl.CommandContextImpl$LazyDelagatingTrustManager.checkServerTrusted(CommandContextImpl.java:1631)
	at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:827)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1328)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
	at sun.security.ssl.Handshaker$1.run(Handshaker.java:808)
	at sun.security.ssl.Handshaker$1.run(Handshaker.java:806)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1227)
	- locked <0x00000007ac085000> (a sun.security.ssl.SSLEngineImpl)
	at org.xnio.ssl.JsseSslConduitEngine.handleHandshake(JsseSslConduitEngine.java:542)
	- locked <0x00000007ac085000> (a sun.security.ssl.SSLEngineImpl)
	at org.xnio.ssl.JsseSslConduitEngine.wrap(JsseSslConduitEngine.java:313)
	at org.xnio.ssl.JsseSslConduitEngine.wrap(JsseSslConduitEngine.java:203)
	at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:98)
	at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:72)
	at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:150)
	at org.xnio.http.HttpUpgrade$HttpUpgradeState$StringWriteListener.handleEvent(HttpUpgrade.java:297)
	at org.xnio.http.HttpUpgrade$HttpUpgradeState$StringWriteListener.handleEvent(HttpUpgrade.java:284)
	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
	at org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.writeReady(WriteReadyHandler.java:65)
	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:93)
	at org.xnio.nio.WorkerThread.run(WorkerThread.java:539)

{noformat}

{noformat}
"Thread-2" prio=5 tid=0x00007feefa0ca800 nid=0x440b in Object.wait() [0x0000000121177000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000007ac03d518> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:503)
	at org.jboss.remoting3.spi.AbstractHandleableCloseable.close(AbstractHandleableCloseable.java:177)
	- locked <0x00000007ac03d518> (a java.lang.Object)
	at org.jboss.as.cli.impl.CLIModelControllerClient$1.shutdown(CLIModelControllerClient.java:98)
	at org.jboss.as.cli.impl.CliShutdownHook$1.run(CliShutdownHook.java:50)
	- locked <0x00000007abd8b4a8> (a java.util.ArrayList)
	at java.lang.Thread.run(Thread.java:744)
{noformat}

  was:
After a test suite run I see a CLI instance that has locked up. The issue is that remoting is not shutting down cleanly for some reason, which causes the shutdown hook thread to block. 

Even though the remoting threads are deamon threads, the shutdown thread is not, so it is actually the shutdown thread the is preventing the JVM from terminating. 


Relevant stack traces are:

{noformat}

"Remoting "cli-client" I/O-1" daemon prio=5 tid=0x00007feefb966000 nid=0x5903 waiting on condition [0x0000000120d7d000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x00000007acd20818> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
	at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:389)
	at org.jboss.aesh.console.reader.ConsoleInputSession$1.read(ConsoleInputSession.java:39)
	at org.jboss.aesh.terminal.POSIXTerminal.read(POSIXTerminal.java:95)
	at org.jboss.aesh.console.Console.read(Console.java:397)
	at org.jboss.aesh.console.Console.read(Console.java:346)
	at org.jboss.as.cli.impl.Console$Factory$1.readLine(Console.java:178)
	at org.jboss.as.cli.impl.CommandContextImpl.readLine(CommandContextImpl.java:750)
	at org.jboss.as.cli.impl.CommandContextImpl.handleSSLFailure(CommandContextImpl.java:966)
	at org.jboss.as.cli.impl.CommandContextImpl.access$500(CommandContextImpl.java:170)
	at org.jboss.as.cli.impl.CommandContextImpl$LazyDelagatingTrustManager$1.run(CommandContextImpl.java:1636)
	at org.jboss.as.protocol.GeneralTimeoutHandler.suspendAndExecute(GeneralTimeoutHandler.java:45)
	at org.jboss.as.cli.impl.CommandContextImpl$LazyDelagatingTrustManager.checkServerTrusted(CommandContextImpl.java:1631)
	at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:827)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1328)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
	at sun.security.ssl.Handshaker$1.run(Handshaker.java:808)
	at sun.security.ssl.Handshaker$1.run(Handshaker.java:806)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1227)
	- locked <0x00000007ac085000> (a sun.security.ssl.SSLEngineImpl)
	at org.xnio.ssl.JsseSslConduitEngine.handleHandshake(JsseSslConduitEngine.java:542)
	- locked <0x00000007ac085000> (a sun.security.ssl.SSLEngineImpl)
	at org.xnio.ssl.JsseSslConduitEngine.wrap(JsseSslConduitEngine.java:313)
	at org.xnio.ssl.JsseSslConduitEngine.wrap(JsseSslConduitEngine.java:203)
	at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:98)
	at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:72)
	at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:150)
	at org.xnio.http.HttpUpgrade$HttpUpgradeState$StringWriteListener.handleEvent(HttpUpgrade.java:297)
	at org.xnio.http.HttpUpgrade$HttpUpgradeState$StringWriteListener.handleEvent(HttpUpgrade.java:284)
	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
	at org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.writeReady(WriteReadyHandler.java:65)
	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:93)
	at org.xnio.nio.WorkerThread.run(WorkerThread.java:539)

{notformat}

{notformat}
"Thread-2" prio=5 tid=0x00007feefa0ca800 nid=0x440b in Object.wait() [0x0000000121177000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000007ac03d518> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:503)
	at org.jboss.remoting3.spi.AbstractHandleableCloseable.close(AbstractHandleableCloseable.java:177)
	- locked <0x00000007ac03d518> (a java.lang.Object)
	at org.jboss.as.cli.impl.CLIModelControllerClient$1.shutdown(CLIModelControllerClient.java:98)
	at org.jboss.as.cli.impl.CliShutdownHook$1.run(CliShutdownHook.java:50)
	- locked <0x00000007abd8b4a8> (a java.util.ArrayList)
	at java.lang.Thread.run(Thread.java:744)
{notformat}



> CLI instance hanging around after test suite run
> ------------------------------------------------
>
>                 Key: WFCORE-203
>                 URL: https://issues.jboss.org/browse/WFCORE-203
>             Project: WildFly Core
>          Issue Type: Bug
>          Components: CLI
>            Reporter: Stuart Douglas
>            Assignee: Alexey Loubyansky
>
> After a test suite run I see a CLI instance that has locked up. The issue is that remoting is not shutting down cleanly for some reason, which causes the shutdown hook thread to block. 
> Even though the remoting threads are deamon threads, the shutdown thread is not, so it is actually the shutdown thread the is preventing the JVM from terminating. 
> Relevant stack traces are:
> {noformat}
> "Remoting "cli-client" I/O-1" daemon prio=5 tid=0x00007feefb966000 nid=0x5903 waiting on condition [0x0000000120d7d000]
>    java.lang.Thread.State: TIMED_WAITING (parking)
> 	at sun.misc.Unsafe.park(Native Method)
> 	- parking to wait for  <0x00000007acd20818> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> 	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
> 	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
> 	at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:389)
> 	at org.jboss.aesh.console.reader.ConsoleInputSession$1.read(ConsoleInputSession.java:39)
> 	at org.jboss.aesh.terminal.POSIXTerminal.read(POSIXTerminal.java:95)
> 	at org.jboss.aesh.console.Console.read(Console.java:397)
> 	at org.jboss.aesh.console.Console.read(Console.java:346)
> 	at org.jboss.as.cli.impl.Console$Factory$1.readLine(Console.java:178)
> 	at org.jboss.as.cli.impl.CommandContextImpl.readLine(CommandContextImpl.java:750)
> 	at org.jboss.as.cli.impl.CommandContextImpl.handleSSLFailure(CommandContextImpl.java:966)
> 	at org.jboss.as.cli.impl.CommandContextImpl.access$500(CommandContextImpl.java:170)
> 	at org.jboss.as.cli.impl.CommandContextImpl$LazyDelagatingTrustManager$1.run(CommandContextImpl.java:1636)
> 	at org.jboss.as.protocol.GeneralTimeoutHandler.suspendAndExecute(GeneralTimeoutHandler.java:45)
> 	at org.jboss.as.cli.impl.CommandContextImpl$LazyDelagatingTrustManager.checkServerTrusted(CommandContextImpl.java:1631)
> 	at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:827)
> 	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1328)
> 	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
> 	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
> 	at sun.security.ssl.Handshaker$1.run(Handshaker.java:808)
> 	at sun.security.ssl.Handshaker$1.run(Handshaker.java:806)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.security.ssl.Handshaker$DelegatedTask.run(Handshaker.java:1227)
> 	- locked <0x00000007ac085000> (a sun.security.ssl.SSLEngineImpl)
> 	at org.xnio.ssl.JsseSslConduitEngine.handleHandshake(JsseSslConduitEngine.java:542)
> 	- locked <0x00000007ac085000> (a sun.security.ssl.SSLEngineImpl)
> 	at org.xnio.ssl.JsseSslConduitEngine.wrap(JsseSslConduitEngine.java:313)
> 	at org.xnio.ssl.JsseSslConduitEngine.wrap(JsseSslConduitEngine.java:203)
> 	at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:98)
> 	at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:72)
> 	at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:150)
> 	at org.xnio.http.HttpUpgrade$HttpUpgradeState$StringWriteListener.handleEvent(HttpUpgrade.java:297)
> 	at org.xnio.http.HttpUpgrade$HttpUpgradeState$StringWriteListener.handleEvent(HttpUpgrade.java:284)
> 	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
> 	at org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.writeReady(WriteReadyHandler.java:65)
> 	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:93)
> 	at org.xnio.nio.WorkerThread.run(WorkerThread.java:539)
> {noformat}
> {noformat}
> "Thread-2" prio=5 tid=0x00007feefa0ca800 nid=0x440b in Object.wait() [0x0000000121177000]
>    java.lang.Thread.State: WAITING (on object monitor)
> 	at java.lang.Object.wait(Native Method)
> 	- waiting on <0x00000007ac03d518> (a java.lang.Object)
> 	at java.lang.Object.wait(Object.java:503)
> 	at org.jboss.remoting3.spi.AbstractHandleableCloseable.close(AbstractHandleableCloseable.java:177)
> 	- locked <0x00000007ac03d518> (a java.lang.Object)
> 	at org.jboss.as.cli.impl.CLIModelControllerClient$1.shutdown(CLIModelControllerClient.java:98)
> 	at org.jboss.as.cli.impl.CliShutdownHook$1.run(CliShutdownHook.java:50)
> 	- locked <0x00000007abd8b4a8> (a java.util.ArrayList)
> 	at java.lang.Thread.run(Thread.java:744)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the jboss-jira mailing list