Connection Refused Errors

We have a 2 servers, a Servoy 4.1 App server running on CentOS in the cloud. Also in the cloud, we have another db server (same config as the app server) that runs mysql.

Suddenly, within the last few days, we’ve been getting long load times when connecting with Smart Client. We have a web client interface too, but that seems to work just fine.

Here are the errors we’re getting when the solution tries to load: (Note: it does eventually load… but this error comes up in the java console over and over.)

ERROR - Debug                      - Connection failed to: 174.129.231.186:1099 with endpoint: Endpoint:174.129.231.186:1099, waiting a bit (16s)
java.io.IOException: Connection refused: connect
	at com.servoy.j2db.util.rmi.Zo.createSocket(Zo.java:67)
	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.newCall(Unknown Source)
	at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
	at com.servoy.j2db.util.rmi.Zo.createSocket(Zo.java:13)
	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.newCall(Unknown Source)
	at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
ERROR - Debug                      - Connection failed to: 174.129.231.186:1099 with endpoint: Endpoint:174.129.231.186:1099, waiting a bit (20s)
java.io.IOException: Connection refused: connect
	at com.servoy.j2db.util.rmi.Zo.createSocket(Zo.java:67)
	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.newCall(Unknown Source)
	at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
	at com.servoy.j2db.util.rmi.Zo.createSocket(Zo.java:13)
	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.newCall(Unknown Source)
	at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Registering Free IT2BE Component runtime licenses for PayGo
INFO  - rg                         - JAVA version is 1.6.0_14
INFO  - rg                         - Extension C:\Program Files\Java\jre6\lib\ext\dnsns.jar being added to classpath
INFO  - mb                         - Adding C:\Program Files\Java\jre6\lib\ext\dnsns.jar to the extension classpath
INFO  - rg                         - Extension C:\Program Files\Java\jre6\lib\ext\dns_sd.jar being added to classpath
INFO  - mb                         - Adding C:\Program Files\Java\jre6\lib\ext\dns_sd.jar to the extension classpath
INFO  - rg                         - Extension C:\Program Files\Java\jre6\lib\ext\localedata.jar being added to classpath
INFO  - mb                         - Adding C:\Program Files\Java\jre6\lib\ext\localedata.jar to the extension classpath
INFO  - rg                         - Extension C:\Program Files\Java\jre6\lib\ext\sunjce_provider.jar being added to classpath
INFO  - mb                         - Adding C:\Program Files\Java\jre6\lib\ext\sunjce_provider.jar to the extension classpath
INFO  - rg                         - Extension C:\Program Files\Java\jre6\lib\ext\sunmscapi.jar being added to classpath
INFO  - mb                         - Adding C:\Program Files\Java\jre6\lib\ext\sunmscapi.jar to the extension classpath
INFO  - rg                         - Extension C:\Program Files\Java\jre6\lib\ext\sunpkcs11.jar being added to classpath
INFO  - mb                         - Adding C:\Program Files\Java\jre6\lib\ext\sunpkcs11.jar to the extension classpath
Reading certificates from 11 http://ch.us1.paygosaas.com:8080/plugins/it2be-ftp/commons-net.jar | C:\Users\Chris_Home_PC\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\43\33af3b2b-2b2d8122-2.2-018-.idx
java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
	at com.servoy.j2db.util.rmi.Zo.createSocket(Zo.java:13)
	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.newCall(Unknown Source)
	at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
ERROR - Debug                      - Connection failed to: 174.129.231.186:1099 with endpoint: Endpoint:174.129.231.186:1099, waiting a bit (4s)
java.io.IOException: Connection refused: connect
	at com.servoy.j2db.util.rmi.Zo.createSocket(Zo.java:67)
	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.newCall(Unknown Source)
	at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
	at com.servoy.j2db.util.rmi.Zo.createSocket(Zo.java:13)
	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.newCall(Unknown Source)
	at sun.rmi.transport.DGCImpl_Stub.dirty(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.makeDirtyCall(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry.access$1600(Unknown Source)
	at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

This delay is universal and happens for all of our smartclient clients.

We’re pretty sure we didn’t make any new changes to our configuration.

Does anyone have any ideas?

Much appreciated.

Chico

Hi,

Is the 174.129.231.186:1099 your Servoy Server IP/port?

Connection refused means that the server is rejecting the connections. This can be because nothing is listening on that port (which isn’t the case because you say it works later), or there are too many connections in total (causing the server to drop connections it cannot handle), or there may be some kind of rate limiting if new connections are coming very frequently (some firewalls see this as a Denial of Service attack, and start blocking).

The root cause of the problem is that the client connections to the server are failing for some reason… The hard part is figuring out the reason.

Best regards,
Sebastiaan

Thanks for the feedback. 174.129.231.186:1099 is the database server. It’s MySQL. Supposedly, the default max connections for mysql is 100, so I don’t know why the server would be rejecting us. We did however notice that our Servoy server had a few Database Servers that were set at low max connection… and there are typically more clients accessing than what we had set.

At this point we have resolved by changing the max connections on Servoy server and we stopped and started the mysql service on the 174.129.231.186 server.

It’s working like a charm now.

We’ll see if we were just lucky. :)

-Chico