-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
At the end of our test case, we could not terminate some of our clients. The termination of our clients is done by setting a "stop" state to the clients. The client runs in an infinite loop and at the beginning of the loop checks its state. But some clients seemed to be trapped in infinite loop in IntIndexHashMap.doPut() and therefore did not pay attention to the changed state.
Here is the output of the jstack:
"Runner - 1995" daemon prio=10 tid=0x00007ff068e9f800 nid=0x212e runnable [0x00007fef791c4000] java.lang.Thread.State: RUNNABLE at org.jboss.remoting3.remote.IntIndexHashMap.doPut(IntIndexHashMap.java:406) at org.jboss.remoting3.remote.IntIndexHashMap.putIfAbsent(IntIndexHashMap.java:154) at org.jboss.remoting3.remote.RemoteConnectionChannel.writeMessage(RemoteConnectionChannel.java:305) at org.jboss.ejb.client.remoting.ChannelAssociation.acquireChannelMessageOutputStream(ChannelAssociation.java:249) at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.processInvocation(RemotingConnectionEJBReceiver.java:196) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183) at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:125) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104) at $Proxy0.getSerialAndIncrement(Unknown Source) at org.jboss.smartfrog.clustering.ejb3.StatefulSBProcessorFactoryImpl$EJB3RequestProcessor.processRequest(StatefulSBProcessorFactoryImpl.java:75) at org.jboss.smartfrog.loaddriver.CompoundRequestProcessorFactoryImpl$CompoundRequestProcessor.processRequest(CompoundRequestProcessorFactoryImpl.java:52) at org.jboss.smartfrog.loaddriver.Runner.run(Runner.java:87) at java.lang.Thread.run(Thread.java:662)