Alex Karasulu wrote:

Trustin,

Sometimes this test passes and sometimes it gives me the following error:

-------------------------------------------------------------------------------
Battery: org.apache.mina.transport.socket.nio.DatagramBindTest
-------------------------------------------------------------------------------
Tests run: 3, Failures: 0, Errors: 1, Time elapsed: 0.186 sec

testManyTimes(org.apache.mina.transport.socket.nio.DatagramBindTest) Time elapsed: 0.178 sec <<< ERROR!

[ stdout ] ---------------------------------------------------------------



[ stderr ] ---------------------------------------------------------------



[ stacktrace ] -----------------------------------------------------------

java.lang.Error: java.net.SocketException: Too many open files
at sun.nio.ch.DatagramSocketAdaptor.create(DatagramSocketAdaptor.java:53) at sun.nio.ch.DatagramChannelImpl.socket(DatagramChannelImpl.java:100) at org.apache.mina.transport.socket.nio.support.DatagramAcceptorDelegate.registerNew(DatagramAcceptorDelegate.java:499) at org.apache.mina.transport.socket.nio.support.DatagramAcceptorDelegate.access$1000(DatagramAcceptorDelegate.java:49) at org.apache.mina.transport.socket.nio.support.DatagramAcceptorDelegate$Worker.run(DatagramAcceptorDelegate.java:260)
Caused by: java.net.SocketException: Too many open files
at java.net.PlainDatagramSocketImpl.datagramSocketCreate(Native Method) at java.net.PlainDatagramSocketImpl.create(PlainDatagramSocketImpl.java:73)
       at java.net.DatagramSocket.createImpl(DatagramSocket.java:317)
       at java.net.DatagramSocket.<init>(DatagramSocket.java:208)
at sun.nio.ch.DatagramSocketAdaptor.<init>(DatagramSocketAdaptor.java:45) at sun.nio.ch.DatagramSocketAdaptor.create(DatagramSocketAdaptor.java:51)
       ... 4 more

Any ideas? Oh btw I made one change to the abstract test to remove SSL dependency which seemed unnecessary however I could be mistaken and will revert if need be. I basically remove the dep on the Echo server example and just added it as an inner class for this base test case. There was one line in the echo handler that is different:

       // We're going to use SSL negotiation notification.
       session.setAttribute( SSLFilter.USE_NOTIFICATION );

This is the missing line in the inner class EchoProtocolHandler within AbstractBindTest.

Also note that my ulimit is set to unlimited so there's little chance (or it seems) of this being a file descriptor issue.

Alex

Reply via email to