Hi Vidhya,
Re: "The odd thing being the IP address (X) on the thread name is different from the bisocket's one...(Is this OK ? Is this because that worker thread was created for an ip X and then went back to the pool and is being reused for another ip Y? )"
When a ServerThread is retrieved from the pool its name is reset to reflect its new socket. The address in ServerThread.toString() is generated by a call to Socket.getInetAddress().getHostAddress() and the address in ClientSocketWrapper is generated in Socket.toString() by a call to java.net.SocketImp.getInetAddress(). I would expect them to refer to the same host, but, possibly, look a little different. Are they actually referring to distinct hosts?
Both of your stacktraces indicate that something has happened to a client. In the first one, JBossMessaging is trying to send some messages to a consumer and the connection has been closed on the client side. The second stacktrace suggests that, in response to the broken connection, Remoting is trying to create a new connection by writing a CREATE_ORDINARY_SOCKET message on the bisocket control connection (for the details see Section 5.4.17 "Bisocket transport" of the Remoting Guide at http://docs.jboss.org/jbossremoting/2.5.3.SP1/html/). So, I don't know what the problem is, but you should check out what's going on at the client side.
-Ron