What could have caused this error?

On an application server this error was in the log-file. Smart-client (also running on the same machine as the application server) stopped responding after this and cpu usage is 100%. What does this error mean and what could have caused it?

2011-03-04 00:32:43,577 ERROR [TaskExecuter[1]] com.servoy.j2db.dataprocessing.Zb - Error flushing message buffer to client B5DBEA5D-4846-4B48-A3F4-2D2BDB44AA0B
java.rmi.ConnectIOException: Exception creating connection to: 192.168.19.52; nested exception is: 
	java.io.InterruptedIOException: The socket pool for a client 192.168.19.52:3001 did not recieve a callback socket from the client within 65406ms, pool still empty
	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
	at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
	at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
	at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
	at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
	at $Proxy16.isAlive(Unknown Source)
	at com.servoy.j2db.dataprocessing.ClientProxy.Zc(ClientProxy.java:56)
	at com.servoy.j2db.dataprocessing.Zo.run(Zo.java:22)
	at com.servoy.j2db.util.TaskExecuter.run(TaskExecuter.java:82)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.InterruptedIOException: The socket pool for a client 192.168.19.52:3001 did not recieve a callback socket from the client within 65406ms, pool still empty
	at com.servoy.j2db.rmi.SocketPool.getSocket(SocketPool.java:49)
	at com.servoy.j2db.rmi.ServerTwoWaySocketFactory.createSocket(ServerTwoWaySocketFactory.java:337)
	... 11 more

The server waits here for a client so that he can talk to the client
But the client never says hello to the server.

So the c lient running “192.168.19.52” is somehow gone? Is 192.168.19.52 the server ip?

This shouldn’t cause the server to go 100% cpu. What is the process exactly that does that? is that really the server?

If it is the server, can you go to the admin pages and dump the stack (and maybe a few times every X seconds)? Maybe we can see then what it is doing.

What you can try is to use the Tunnel in Socket&Http mode.

Client and server are running on 192.168.19.52

The smart-client was causing the 100% cpu. After I killed the smart-client the cpu dropped.

jcompagner:
… can you go to the admin pages and dump the stack (and maybe a few times every X seconds)?..

Such a shame, already killed the client…

jcompagner:
What you can try is to use the Tunnel in Socket&Http mode.

That’s SocketFactory.tunnelConnectionMode in the Network settings? What difference does this make?

ok if it is the client then dumping the stack on the admin page wouldn’t have any effect.
(you need a stack dump of the clients process this can be done with jvisualvm that is in the jdk1.6/bin dir)

if you enable the tunnel mode then how connections are handled is different so maybe this could help
But we need first to know why your smart client did go in that state before knowing what did go wrong.

Okay it’s running again. Let’s see if it is going to end up in this state again. Last time it happened after 7.5 hours running…

I have to install the jdk when I want to dump the clients stack dump?

yes you need the JDK for that tool.

Then you can connect to it and dump the memory or stack (do not mix up with 32bit and 64 bit so if you clients do use a 32bit jvm use the 32bit jdk)