# Connect IO Exception

**URL:** <https://forum.servoy.com/t/connect-io-exception/8904>\
**Category:** Classic Servoy\
**Created:** [March 21, 2008, 10:29am UTC](https://forum.servoy.com/t/connect-io-exception/8904 "2008-03-21T10:29:36Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![gzola](https://avatars.discourse-cdn.com/v4/letter/g/c6cbf5/32.png) [@gzola](https://forum.servoy.com/u/gzola)\
**Post date:** [March 21, 2008, 10:29am UTC](https://forum.servoy.com/t/connect-io-exception/8904/1 "2008-03-21T10:29:36Z")

</div>

```auto
java.rmi.ConnectIOException: Exception creating connection to: 10.14.1.1; nested exception is: java.io.InterruptedIOException: The socket pool for a client 10.14.1.1:3003 did not recieve a callback socket from the client within 60001ms, pool still empty

```

We often errors on Servoy server for connections via Headless Client from a office connected with our VPN WAN.

I tried to change the lower values timeout Server in this way:

```auto
Rmi.connection.timeout: 10 
ApplicationServer.pingDelay: 20

```

Without seeing improvements.

What can we do to avoid these errors?

---

<div class="post-metadata">

**Author:** ![IT2Be](https://avatars.discourse-cdn.com/v4/letter/i/dc4da7/32.png) [@IT2Be](https://forum.servoy.com/u/IT2Be)\
**Post date:** [March 21, 2008, 10:49am UTC](https://forum.servoy.com/t/connect-io-exception/8904/2 "2008-03-21T10:49:34Z")

</div>

What happens when you raise them even more to, let’s say, 60 seconds?  
Just for the sake of the experiment I would play a little more with these setting to identify the issue…

---

<div class="post-metadata">

**Author:** ![gzola](https://avatars.discourse-cdn.com/v4/letter/g/c6cbf5/32.png) [@gzola](https://forum.servoy.com/u/gzola)\
**Post date:** [March 21, 2008, 11:14am UTC](https://forum.servoy.com/t/connect-io-exception/8904/3 "2008-03-21T11:14:16Z")

</div>

Now offices are empty. Try and then refer you what is happened.

Thanks.

---

<div class="post-metadata">

**Author:** ![ngervasi](https://avatars.discourse-cdn.com/v4/letter/n/f9ae1b/32.png) [@ngervasi](https://forum.servoy.com/u/ngervasi)\
**Post date:** [March 21, 2008, 2:24pm UTC](https://forum.servoy.com/t/connect-io-exception/8904/4 "2008-03-21T14:24:42Z")

</div>

Giovanni, are you sure that this is an headless client? An headless client runs on the server so all RMI communication is done on localhost and only the resulting html is sent trough the VPN to the web browser, I would double check that log entry, I don’t think it’s related to the HC.

---

<div class="post-metadata">

**Author:** ![gzola](https://avatars.discourse-cdn.com/v4/letter/g/c6cbf5/32.png) [@gzola](https://forum.servoy.com/u/gzola)\
**Post date:** [March 22, 2008, 9:46am UTC](https://forum.servoy.com/t/connect-io-exception/8904/5 "2008-03-22T09:46:53Z")

</div>

Ciao Nicola.

> Giovanni, are you sure that this is an headless client?

Are absolutely sure. The error message is taken from the page “server logs” of Servoy Server.

We have some offices connected to the VPN with ping times from 12ms to 50ms and we continually messages like this. Among the offices there are two routers on the network MPLS (Telecom Italia). Servoy Server is located at headquarters.

```auto
2008-03-22 07:39
RMI TCP Connection(2)-10.11.2.8 
ERROR com.servoy.j2db.util.Debug destroyObject: java.sql.SQLException: Eccezione IO: Connection reset by peer: socket write error 

...

org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Eccezione IO: Connection reset by peer: socket write error 
     at org.apache.commons.dbcp.PoolingConnection.makeObject(PoolingConnection.java:191) 
     at com.servoy.j2db.persistence.datasource.m.borrowObject(Unknown Source) 
     at org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:128) 
     at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:188) 
     at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:188) 
     at com.servoy.j2db.dataprocessing.SQLEngine.a(Unknown Source) 
     at com.servoy.j2db.dataprocessing.SQLEngine.a(Unknown Source) 
     at com.servoy.j2db.dataprocessing.SQLEngine.performQuery(Unknown Source) 
     at sun.reflect.GeneratedMethodAccessor256.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) 
     at sun.rmi.transport.Transport$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at sun.rmi.transport.Transport.serviceCall(Unknown Source) 
     at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) 
     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) 
     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
    Caused by: java.sql.SQLException: Eccezione IO: Connection reset by peer: socket write error 
     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) 
     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) 
     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333) 
     at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:389) 
     at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:413) 
     at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:119) 
     at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:92) 
     at oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:950) 
     at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:802) 
     at com.servoy.j2db.persistence.datasource.l.prepareStatement(Unknown Source) 
     at org.apache.commons.dbcp.PoolingConnection.makeObject(PoolingConnection.java:185) 
     ... 20 more

```

I do not understand on what have caused.  
It may be too slow connection? (HDSL lines 1Mbps)

_PS: Sorry for my bad English…_ ![:oops:]( "Embarassed")

---

<div class="post-metadata">

**Author:** ![ROCLASI](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/roclasi/32/4371_2.png) [@ROCLASI](https://forum.servoy.com/u/ROCLASI)\
**Post date:** [March 22, 2008, 10:54am UTC](https://forum.servoy.com/t/connect-io-exception/8904/6 "2008-03-22T10:54:13Z")

</div>

Hi Giovanni,

That last piece of trace-log looks more of a JDBC connection issue between Servoy Server and your Oracle database server.  
Is the database server also located at headquarters or is it further away ?  
Or maybe Oracle has a limit on the amount of connections you may use and you have set the max connections to high in Servoy?  
Just thinking out loud here.

---

<div class="post-metadata">

**Author:** ![gzola](https://avatars.discourse-cdn.com/v4/letter/g/c6cbf5/32.png) [@gzola](https://forum.servoy.com/u/gzola)\
**Post date:** [March 22, 2008, 11:20am UTC](https://forum.servoy.com/t/connect-io-exception/8904/7 "2008-03-22T11:20:53Z")

</div>

> That last piece of trace-log looks more of a JDBC connection issue between Servoy Server and your Oracle database server.

It is true, but the server is always on the headquarters so I do not understand the problem.

> Or maybe Oracle has a limit on the amount of connections you may use and you have set the max connections to high in Servoy?

I do not think this is the problem. The error posted is verified with a single user connected to Servoy and Oracle servers.

---

<div class="post-metadata">

**Author:** ![ROCLASI](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/roclasi/32/4371_2.png) [@ROCLASI](https://forum.servoy.com/u/ROCLASI)\
**Post date:** [March 22, 2008, 11:36am UTC](https://forum.servoy.com/t/connect-io-exception/8904/8 "2008-03-22T11:36:15Z")

</div>

But even 1 single user can make Servoy Server use as much database connections as it needs.  
Do you see anything in the Oracle logs ?
